diff --git a/.vuepress/public/files/gradle-wrapper.properties b/.vuepress/public/files/gradle-wrapper.properties new file mode 100644 index 000000000..78fd10775 --- /dev/null +++ b/.vuepress/public/files/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/.vuepress/public/files/init.gradle b/.vuepress/public/files/init.gradle new file mode 100644 index 000000000..8e378c7e0 --- /dev/null +++ b/.vuepress/public/files/init.gradle @@ -0,0 +1,118 @@ +allprojects { + buildscript { + repositories { + /*maven{ url 'https://maven.aliyun.com/repository/public/'} + maven{ url 'https://maven.aliyun.com/repository/google/'} + + all { ArtifactRepository repo -> + if (repo instanceof MavenArtifactRepository) { + def url = repo.url.toString() + if (url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/') + || url.startsWith('https://dl.google.com/dl/android/maven2/')) { + //project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL." + remove repo + } + } + }*/ + /*def ALIYUN_REPOSITORY_URL = 'https://maven.aliyun.com/repository/public' + def ALIYUN_JCENTER_URL = 'https://maven.aliyun.com/repository/public' + def ALIYUN_GOOGLE_URL = 'https://maven.aliyun.com/repository/google' + def ALIYUN_GRADLE_PLUGIN_URL = 'https://maven.aliyun.com/repository/gradle-plugin' + all { ArtifactRepository repo -> + if(repo instanceof MavenArtifactRepository){ + def url = repo.url.toString() + if (url.startsWith('https://repo1.maven.org/maven2/')) { + project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL." + remove repo + } + if (url.startsWith('https://jcenter.bintray.com/')) { + project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL." + remove repo + } + if (url.startsWith('https://dl.google.com/dl/android/maven2/')) { + project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GOOGLE_URL." + remove repo + } + if (url.startsWith('https://plugins.gradle.org/m2/')) { + project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_GRADLE_PLUGIN_URL." + remove repo + } + } + } + maven { url ALIYUN_REPOSITORY_URL } + maven { url ALIYUN_JCENTER_URL } + maven { url ALIYUN_GOOGLE_URL } + maven { url ALIYUN_GRADLE_PLUGIN_URL }*/ + def NJU_REPOSITORY_URL = 'https://repo.nju.edu.cn/repository/maven-public/' + all { ArtifactRepository repo -> + if (repo instanceof MavenArtifactRepository) { + def url = repo.url.toString() + if (url.startsWith('https://repo1.maven.org/maven2')) { + project.logger.lifecycle "Repository ${repo.url} replaced by $NJU_REPOSITORY_URL." + remove repo + } + if (url.startsWith('https://jcenter.bintray.com/')) { + project.logger.lifecycle "Repository ${repo.url} deleted." + remove repo + } + if (url.startsWith('https://dl.google.com/dl/android/maven2/')) { + project.logger.lifecycle "Repository ${repo.url} deleted." + remove repo + } + if (url.contains('plugins.gradle.org/m2')) { + project.logger.lifecycle "Repository ${repo.url} deleted." + remove repo + } + } + } + maven { url NJU_REPOSITORY_URL } + mavenLocal() + } + } + + repositories { + /*maven { + url 'https://maven.aliyun.com/repository/public/' + } + maven { + url 'https://maven.aliyun.com/repository/google/' + } + + all { ArtifactRepository repo -> + if (repo instanceof MavenArtifactRepository) { + def url = repo.url.toString() + + if (url.startsWith('https://repo.maven.apache.org/maven2/') || url.startsWith('https://repo.maven.org/maven2') + || url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/') + || url.startsWith('https://maven.google.com/') || url.startsWith('https://dl.google.com/dl/android/maven2/')) { + //project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL." + remove repo + } + } + }*/ + def NJU_REPOSITORY_URL = 'https://repo.nju.edu.cn/repository/maven-public/' + all { ArtifactRepository repo -> + if (repo instanceof MavenArtifactRepository) { + def url = repo.url.toString() + if (url.startsWith('https://repo1.maven.org/maven2')) { + project.logger.lifecycle "Repository ${repo.url} replaced by $NJU_REPOSITORY_URL." + remove repo + } + if (url.startsWith('https://jcenter.bintray.com/')) { + project.logger.lifecycle "Repository ${repo.url} deleted." + remove repo + } + if (url.startsWith('https://dl.google.com/dl/android/maven2/')) { + project.logger.lifecycle "Repository ${repo.url} deleted." + remove repo + } + if (url.contains('plugins.gradle.org/m2')) { + project.logger.lifecycle "Repository ${repo.url} deleted." + remove repo + } + } + } + maven { url NJU_REPOSITORY_URL } + mavenLocal() + } +} \ No newline at end of file diff --git a/.vuepress/public/files/init.gradle.kts b/.vuepress/public/files/init.gradle.kts new file mode 100644 index 000000000..44637c56a --- /dev/null +++ b/.vuepress/public/files/init.gradle.kts @@ -0,0 +1,71 @@ +// https://www.cnblogs.com/mkckr0/p/17714374.html +// https://gist.github.com/mkckr0/97ec5b0d99feede4c19ee6f905d5e722 + +val repoMirrorMap = mapOf( + "https://repo.maven.apache.org/maven2" to "https://maven.aliyun.com/repository/central", + "https://dl.google.com/dl/android/maven2" to "https://maven.aliyun.com/repository/google", + "https://plugins.gradle.org/m2" to "https://maven.aliyun.com/repository/gradle-plugin", + "https://jcenter.bintray.com" to "https://maven.aliyun.com/repository/jcenter", +) +val repoReplaceMap = mapOf( + "https://maven.google.com" to "https://dl.google.com/dl/android/maven2" +) + +fun RepositoryHandler.setMirrors() { + all { + if (this is MavenArtifactRepository && !name.endsWith("Origin")) { + val originName = name + var originUrl = url.toString().trimEnd('/') + + // do replace + repoReplaceMap[originUrl]?.let { newUrl -> + originUrl = newUrl + setUrl(originUrl) + } + + // do mirror + repoMirrorMap[originUrl]?.let { newUrl -> + // replace into mirror repo + setUrl(newUrl) + // add origin repo to find missing jars + artifactUrls(originUrl) + // keep origin repo to find missing POM + maven(originUrl) { name = "$originName Origin" } + } + } + } + printRepos() +} + +fun RepositoryHandler.printRepos() { + all { + if (this is MavenArtifactRepository) { + println("Maven Repo: name=\"$name\", url=$url, artifacts=${artifactUrls}") + } + } +} + +settingsEvaluated { + pluginManagement { + repositories { + setMirrors() + } + } + dependencyResolutionManagement { + @Suppress("UnstableApiUsage") + repositories { + setMirrors() + } + } +} + +allprojects { + buildscript { + repositories { + setMirrors() + } + } + repositories { + setMirrors() + } +} \ No newline at end of file diff --git a/.vuepress/public/files/settings.gradle b/.vuepress/public/files/settings.gradle new file mode 100644 index 000000000..f22075529 --- /dev/null +++ b/.vuepress/public/files/settings.gradle @@ -0,0 +1,28 @@ +pluginManagement { + repositories { + + maven { url 'https://maven.aliyun.com/repository/central' } + maven { url 'https://maven.aliyun.com/repository/jcenter' } + maven { url 'https://maven.aliyun.com/repository/google' } //替换google() + maven { url 'https://maven.aliyun.com/repository/public' } + maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } + + google() + mavenLocal() //配置先从本地仓库寻找jar包,优先寻找上一个配置,找到不执行下面的配置 + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + + maven { url 'https://maven.aliyun.com/repository/google' } + maven { url 'https://maven.aliyun.com/repository/public' } + + google() + mavenCentral() + } +} +rootProject.name = "hiCompose" +include ':app' diff --git a/DBS/README.md b/DBS/README.md index d9b1967a7..206666653 100644 --- a/DBS/README.md +++ b/DBS/README.md @@ -312,6 +312,7 @@ * [https://github.com/yu-linfeng/redis5.x_tutorial](https://github.com/yu-linfeng/redis5.x_tutorial) * redis常用特性 [https://github.com/LxyTe/redis](https://github.com/LxyTe/redis) * [https://github.com/Ctzzhang/Ctzzhang.github.io](https://github.com/Ctzzhang/Ctzzhang.github.io) +* [Redlock安全吗?](http://antirez.com/news/101) * Java [https://github.com/redisson](https://github.com/redisson) * [https://github.com/RedisJSON](https://github.com/RedisJSON) * [https://github.com/lettuce-io/lettuce-core](https://github.com/lettuce-io/lettuce-core) diff --git "a/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md" "b/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md" index bd4ebe24e..1bc46a495 100644 --- "a/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md" +++ "b/DBS/\345\205\263\347\263\273\345\236\213\346\225\260\346\215\256\345\272\223.md" @@ -581,6 +581,7 @@ SELECT NEXT VALUE FOR seq_num AS num FROM DUAL WHERE NEXT VALUE FOR seq_num <= 3 * [https://jdbc.postgresql.org](https://jdbc.postgresql.org) * [https://github.com/postgrespro](https://github.com/postgrespro) * [https://github.com/citusdata](https://github.com/citusdata) +* [https://github.com/neondatabase/neon](https://github.com/neondatabase/neon) * [https://github.com/pgpartman](https://github.com/pgpartman) * [https://github.com/PostgREST/postgrest](https://github.com/PostgREST/postgrest) * [https://github.com/CrunchyData](https://github.com/CrunchyData) diff --git "a/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md" "b/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md" index e7393aeed..20b368f3a 100644 --- "a/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md" +++ "b/Go/Go\347\254\254\344\270\211\346\226\271\345\272\223.md" @@ -96,6 +96,7 @@ * [https://github.com/huandu/go-sqlbuilder](https://github.com/huandu/go-sqlbuilder) * [https://github.com/libragen/felix](https://github.com/libragen/felix) * [https://github.com/eventials/go-tus](https://github.com/eventials/go-tus) +* [https://github.com/uptrace/bun](https://github.com/uptrace/bun) * 缓存 [https://github.com/patrickmn/go-cache](https://github.com/patrickmn/go-cache) * [https://github.com/bluele/gcache](https://github.com/bluele/gcache) * [https://github.com/golang/groupcache](https://github.com/golang/groupcache) diff --git "a/IDE/IDEA\344\275\277\347\224\250.md" "b/IDE/IDEA\344\275\277\347\224\250.md" index aff0b63f2..49a359a74 100644 --- "a/IDE/IDEA\344\275\277\347\224\250.md" +++ "b/IDE/IDEA\344\275\277\347\224\250.md" @@ -275,6 +275,20 @@ demo # 顶级项目(根项目) 4. 勾选`Transparent native-to-ascii conversion` 从本地转换ASCII +## 设置代码补全 + +- 快捷键:Ctrl + Space(可能被输入法占用) + +- 修改快捷键 `File` -> `Settings` -> `KeyMap` -> 搜索`Completion` -> `Code Completion` + - 移除`Cycle Expand Word`的`Alt+/`快捷键。 + - 在`Basic`上点击右键,去除`Ctrl+空格`绑定,然后添加`Alt+/`快捷键。 + +- 打开 `File` -> `Settings` -> `Editor` -> `General` -> `Code Completion` + - `Autopopup code completion` + - `Delay` + + + ## 设置序列化ID - 打开 `File` -> `Settings` -> `Editor` -> `Inspections` -> `Java` -> `Serialization issues` diff --git "a/IDE/IDEA\346\217\222\344\273\266.md" "b/IDE/IDEA\346\217\222\344\273\266.md" index dd30bfb02..757ed369b 100644 --- "a/IDE/IDEA\346\217\222\344\273\266.md" +++ "b/IDE/IDEA\346\217\222\344\273\266.md" @@ -5,8 +5,7 @@ ## Flag -* [实用IDEA工具](https://blog.csdn.net/weixin_37645838/article/details/85953193) - +- [https://www.jetbrains.com/legal/docs/terms/jetbrains-ai/service-providers](https://www.jetbrains.com/legal/docs/terms/jetbrains-ai/service-providers) - [https://licheng1013.github.io/util/idea.html](https://licheng1013.github.io/util/idea.html) - Eclipse代码格式化风格 [https://github.com/krasa/EclipseCodeFormatter](https://github.com/krasa/EclipseCodeFormatter) - 主题 [http://soft-hub.cn](http://soft-hub.cn) @@ -53,7 +52,7 @@ * [利用授权服务器(License Server)激活Jetbrains全家桶](https://51.ruyo.net/17780.html) * [https://www.shodan.io/search?query=Location%3A+https%3A%2F%2Faccount.jetbrains.com%2Ffls-auth](https://www.shodan.io/search?query=Location%3A+https%3A%2F%2Faccount.jetbrains.com%2Ffls-auth) * [如何批量挖掘Jetbrains系列产品激活服务器](https://t.me/s/Ru05hui/123) - * [https://fofa.info](https://fofa.info) + * [https://fofa.info](https://fofa.info/result?qbase64=TG9jYXRpb246IGh0dHBzOi8vYWNjb3VudC5qZXRicmFpbnMuY29tL2Zscy1hdXRo&page=1&page_size=20) * [如何找Jetbrains激活服务器](https://hostloc.com/thread-999341-1-1.html) * [https://search.censys.io](https://search.censys.io) * [记录 Rainbow Brackets 插件破解](https://reajason.com/writing/rainbowbracketscracked) @@ -352,9 +351,10 @@ ## FindBugs-IDEA -* [https://plugins.jetbrains.com/plugin/3847-findbugs-idea](https://plugins.jetbrains.com/plugin/3847-findbugs-idea) -* [https://github.com/andrepdo/findbugs-idea](https://github.com/andrepdo/findbugs-idea) +* [https://plugins.jetbrains.com/plugin/14014-spotbugs](https://plugins.jetbrains.com/plugin/14014-spotbugs) +* ~~[https://github.com/andrepdo/findbugs-idea](https://github.com/andrepdo/findbugs-idea)~~ * [https://andrepdo.github.io/findbugs-idea](https://andrepdo.github.io/findbugs-idea) +* [https://github.com/XenoAmess/p3c](https://github.com/XenoAmess/p3c) > 检测代码中可能的bug及不规范的位置,检测的模式相比p3c更多,写完代码后检测下 避免低级bug,强烈建议用一下,一不小心就发现很多老代码的bug diff --git a/IDE/README.md b/IDE/README.md index 6c1f8e48f..461cde207 100644 --- a/IDE/README.md +++ b/IDE/README.md @@ -90,6 +90,7 @@ - [https://github.com/KillianLucas/open-interpreter](https://github.com/KillianLucas/open-interpreter) - [https://github.com/deepseek-ai/DeepSeek-Coder](https://github.com/deepseek-ai/DeepSeek-Coder) - [https://github.com/Codium-ai](https://github.com/Codium-ai) +- [https://cursor.sh](https://cursor.sh) - [https://github.com/KillianLucas/open-interpreter](https://github.com/KillianLucas/open-interpreter) - [https://github.com/DoubleTechnologies](https://github.com/DoubleTechnologies) - [https://github.com/OpenInterpreter/open-interpreter](https://github.com/OpenInterpreter/open-interpreter) @@ -134,6 +135,7 @@ + [https://www.acme.com/software](https://www.acme.com/software) + [https://gitee.com/jianmu-dev](https://gitee.com/jianmu-dev) + [https://github.com/earthly/earthly](https://github.com/earthly/earthly) ++ [https://github.com/nucleuscloud/neosync](https://github.com/nucleuscloud/neosync) @@ -323,6 +325,7 @@ * [https://github.com/HyperSine](https://github.com/HyperSine) * [https://github.com/Abeautifulsnow/navicat-premium-crack](https://github.com/Abeautifulsnow/navicat-premium-crack) * [https://github.com/LiJunYi2/navicat-keygen-16V](https://github.com/LiJunYi2/navicat-keygen-16V) + * [https://gitlab.com/ajiajishu/navicat-keygen-16V](https://gitlab.com/ajiajishu/navicat-keygen-16V) * [https://github.com/team-ide/teamide](https://github.com/team-ide/teamide) * [https://fishcodelib.com/Database.htm](https://fishcodelib.com/Database.htm) * [https://codeberg.org/sql-workbench/workbench](https://codeberg.org/sql-workbench/workbench) @@ -610,7 +613,7 @@ | 递进式向左选择代码(一样) | Shift + Alt + ← | Shift + Alt + ← | | 跳到指定行 | Ctrl + G | Ctrl + L | | 光标处往上添加空行 | Ctrl + Alt + Enter | Ctrl + Shift + Enter | -| 代码提示(Basic) | Ctrl + 空格 | Alt + / | +| 代码提示(Basic) | Ctrl + 空格(可能被输入法占用) | Alt + / | | 取消撤销 | Ctrl + Shift + Z | Ctrl + Y | | 选中区域取消注释 | Ctrl + Shift + / | Ctrl + Shift + \ | | 添加或取消注释 | Ctrl + / | Ctrl + / Ctrl + Shift + C | diff --git a/IDE/VisualStudioCode.md b/IDE/VisualStudioCode.md index 4ac9d24ab..df5347efb 100644 --- a/IDE/VisualStudioCode.md +++ b/IDE/VisualStudioCode.md @@ -285,6 +285,7 @@ * 配色 [https://github.com/nealmckee/penumbra](https://github.com/nealmckee/penumbra) * 禁用规则 [https://github.com/lvjiaxuan/vscode-eslint-disable](https://github.com/lvjiaxuan/vscode-eslint-disable) * 前端提示 [https://github.com/Simon-He95/vscode-common-intellisense](https://github.com/Simon-He95/vscode-common-intellisense) +* 生成注释 [https://github.com/OBKoro1/koro1FileHeader](https://github.com/OBKoro1/koro1FileHeader) diff --git "a/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md" "b/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md" index cd24aeac6..fe8664f0a 100644 --- "a/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md" +++ "b/IDE/\350\275\257\344\273\266\345\256\211\345\205\250.md" @@ -51,6 +51,7 @@ * Java安全 [https://github.com/HackJava/HackJava](https://github.com/HackJava/HackJava) * [https://github.com/Y4Sec-Team](https://github.com/Y4Sec-Team) * 安全扫描 [https://github.com/CISOfy/lynis](https://github.com/CISOfy/lynis) +* [https://github.com/lcvvvv/kscan](https://github.com/lcvvvv/kscan) diff --git "a/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md" "b/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md" index 78475907c..486c1093a 100644 --- "a/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md" +++ "b/Java/Java\346\236\204\345\273\272\347\256\241\347\220\206.md" @@ -41,9 +41,9 @@ + [https://github.com/souffle-lang/souffle](https://github.com/souffle-lang/souffle) + [https://github.com/spotbugs](https://github.com/spotbugs) + [https://github.com/mebigfatguy/fb-contrib](https://github.com/mebigfatguy/fb-contrib) -+ [https://github.com/findbugsproject/findbugs](https://github.com/findbugsproject/findbugs) - + [https://sourceforge.net/projects/findbugs](https://sourceforge.net/projects/findbugs) - + [https://github.com/KengoTODA/findbugs-slf4j](https://github.com/KengoTODA/findbugs-slf4j) + + ~~[https://github.com/findbugsproject/findbugs](https://github.com/findbugsproject/findbugs)~~ + + [https://sourceforge.net/projects/findbugs](https://sourceforge.net/projects/findbugs) + + [https://github.com/KengoTODA/findbugs-slf4j](https://github.com/KengoTODA/findbugs-slf4j) + [https://github.com/pascal-lab/Tai-e](https://github.com/pascal-lab/Tai-e) + [https://github.com/find-sec-bugs/find-sec-bugs](https://github.com/find-sec-bugs/find-sec-bugs) + [https://github.com/jimbethancourt/RefactorFirst](https://github.com/jimbethancourt/RefactorFirst) diff --git a/Java/README.md b/Java/README.md index 3709343b0..d90fcb4fb 100644 --- a/Java/README.md +++ b/Java/README.md @@ -28,6 +28,7 @@ - [Java版本比较](https://mp.weixin.qq.com/s/NEfqPXrcq6O1p7RLf9LWCw) - [Java 9-16 新增语法元素一览](https://segmentfault.com/a/1190000039714550) - [Java 速查手册](https://bbs.csdn.net/topics/609815996) +- [https://docland.io](https://docland.io) - [javaEE和javaweb的区别?](https://www.zhihu.com/question/52002845) diff --git a/Other/Bookmarks.md b/Other/Bookmarks.md index 8b2ca3732..8103f06ff 100644 --- a/Other/Bookmarks.md +++ b/Other/Bookmarks.md @@ -174,6 +174,7 @@ javascript:document.body.contentEditable='true';document.designMode='on'; void 0 * [https://uxbaike.com](https://uxbaike.com) * [https://mjcn.club](https://mjcn.club) * [https://www.logocook.shop/editor](https://www.logocook.shop/editor) +* 灵感设计 [https://refto.one](https://refto.one) ## 文档 diff --git a/Other/Markdown.md b/Other/Markdown.md index 3313adffa..f80fa681e 100644 --- a/Other/Markdown.md +++ b/Other/Markdown.md @@ -388,7 +388,7 @@ string &operator+(const string& A,const string& B) //cpp - `` - `
`
-- ``
+- `` 按钮效果
 - ``
 - ``
 - ``
diff --git "a/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md" "b/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md"
index 0ea6803ca..a8e395127 100644
--- "a/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md"
+++ "b/Other/\344\271\246\347\261\215\345\222\214\345\215\232\345\256\242.md"
@@ -150,6 +150,7 @@
 * [https://github.com/QSCTech/zju-icicles](https://github.com/QSCTech/zju-icicles)
 * [https://feishuhub.com](https://feishuhub.com)
 * 数据工程课程 [https://github.com/DataTalksClub/data-engineering-zoomcamp](https://github.com/DataTalksClub/data-engineering-zoomcamp)
+* [https://github.com/DataExpert-io/data-engineer-handbook](https://github.com/DataExpert-io/data-engineer-handbook)
 * 分布式系统模式 [https://github.com/dreamhead/patterns-of-distributed-systems](https://github.com/dreamhead/patterns-of-distributed-systems)
 * 编程语言学习片段 [https://programming-idioms.org/all-idioms](https://programming-idioms.org/all-idioms)
 * Linux应用程序 [https://github.com/luong-komorebi/Awesome-Linux-Software](https://github.com/luong-komorebi/Awesome-Linux-Software)
diff --git a/PL/CPlusPlus.md b/PL/CPlusPlus.md
index a9d12388b..58f2c14ac 100644
--- a/PL/CPlusPlus.md
+++ b/PL/CPlusPlus.md
@@ -208,6 +208,7 @@
 * 不可变 [https://github.com/arximboldi/immer](https://github.com/arximboldi/immer)
 * 日期时间 [https://github.com/HowardHinnant/date](https://github.com/HowardHinnant/date)
 * 范围 [https://github.com/ericniebler/range-v3](https://github.com/ericniebler/range-v3)
+* 队列 [https://github.com/cameron314/concurrentqueue](https://github.com/cameron314/concurrentqueue)
 
 
 
diff --git "a/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md" "b/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md"
index a94b9391f..a34c57e7e 100644
--- "a/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md"
+++ "b/PL/\344\272\272\345\267\245\346\231\272\350\203\275.md"
@@ -260,6 +260,7 @@
 * [https://github.com/coqui-ai/TTS](https://github.com/coqui-ai/TTS)
 * [https://github.com/fishaudio/fish-speech](https://github.com/fishaudio/fish-speech)
 * [https://github.com/open-mmlab/Amphion](https://github.com/open-mmlab/Amphion)
+* [https://github.com/2noise/ChatTTS](https://github.com/2noise/ChatTTS)
 * 变声 [https://github.com/w-okada/voice-changer](https://github.com/w-okada/voice-changer)
 * 捕获键盘声音 [https://github.com/ggerganov/kbd-audio](https://github.com/ggerganov/kbd-audio)
 * Whisper [https://github.com/chidiwilliams/buzz](https://github.com/chidiwilliams/buzz)
@@ -267,6 +268,7 @@
 * [https://github.com/invoke-ai/InvokeAI](https://github.com/invoke-ai/InvokeAI)
 * [https://github.com/omerbt/TokenFlow](https://github.com/omerbt/TokenFlow)
 * [https://github.com/prompt-engineering](https://github.com/prompt-engineering)
+* [https://github.com/innovatorved/subtitle](https://github.com/innovatorved/subtitle)
 * 视频翻译 [https://github.com/jianchang512/pyvideotrans](https://github.com/jianchang512/pyvideotrans)
 * [https://github.com/buxuku/VideoSubtitleGenerator](https://github.com/buxuku/VideoSubtitleGenerator)
 * 抠图 [https://github.com/PeterL1n/RobustVideoMatting](https://github.com/PeterL1n/RobustVideoMatting)
diff --git a/Shell/README.md b/Shell/README.md
index 52c23279d..40aa90ecb 100644
--- a/Shell/README.md
+++ b/Shell/README.md
@@ -76,6 +76,7 @@
 + 加密 [https://github.com/candiddev/rot](https://github.com/candiddev/rot)
 + JSON [https://github.com/stedolan/jq](https://github.com/stedolan/jq)
     + [https://stedolan.github.io/jq](https://stedolan.github.io/jq)
+    + [https://github.com/alingse/jq-manual-cn](https://github.com/alingse/jq-manual-cn)
 + [https://github.com/simeji/jid](https://github.com/simeji/jid)
     + [https://github.com/fiatjaf/jiq](https://github.com/fiatjaf/jiq)
 + [https://github.com/wader/fq](https://github.com/wader/fq)
diff --git a/System/IOS.md b/System/IOS.md
index adf178b6a..f3a11108b 100644
--- a/System/IOS.md
+++ b/System/IOS.md
@@ -60,6 +60,7 @@
 - 翻译 [https://github.com/tisfeng/Easydict](https://github.com/tisfeng/Easydict)
 
 * [https://macked.app](https://macked.app)
+* 所有机型参数大全 [https://github.com/KyleBing/ipad](https://github.com/KyleBing/ipad)
 
 
 ## IOS框架
diff --git a/System/README.md b/System/README.md
index 2232557b4..e2c48d469 100644
--- a/System/README.md
+++ b/System/README.md
@@ -342,6 +342,7 @@
 - 视图监视器 [https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet](https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet)
 - [https://github.com/aristocratos](https://github.com/aristocratos)
 - [https://github.com/magiclen/m-prober](https://github.com/magiclen/m-prober)
+- 网站防护 [https://github.com/chaitin/SafeLine](https://github.com/chaitin/SafeLine)
 
 
 
@@ -493,6 +494,8 @@
 * 在线知识库 [https://github.com/outline/outline](https://github.com/outline/outline)
 * 自定义二维码 [https://github.com/kochrt/qr-designer](https://github.com/kochrt/qr-designer)
 * 图床 [https://github.com/TiannV/react-epic-project](https://github.com/TiannV/react-epic-project)
+* [https://github.com/besscroft/PicImpact](https://github.com/besscroft/PicImpact)
+* [https://github.com/linyuxuanlin/Gallery-Portfolio](https://github.com/linyuxuanlin/Gallery-Portfolio)
 * Web应用商店 [https://github.com/sandstorm-io/sandstorm](https://github.com/sandstorm-io/sandstorm)
 
 
diff --git "a/System/Windows\350\275\257\344\273\266.md" "b/System/Windows\350\275\257\344\273\266.md"
index efd95416c..395f18c48 100644
--- "a/System/Windows\350\275\257\344\273\266.md"
+++ "b/System/Windows\350\275\257\344\273\266.md"
@@ -514,6 +514,7 @@
 * [https://github.com/renzhezhilu/webp2jpg-online-demo](https://github.com/renzhezhilu/webp2jpg-online-demo)
 * [https://github.com/Dreamer365/topspeed-image-compressor](https://github.com/Dreamer365/topspeed-image-compressor)
 * [https://github.com/autergame/JpegView-Rust](https://github.com/autergame/JpegView-Rust)
+* [https://github.com/Lymphatus/caesium-clt](https://github.com/Lymphatus/caesium-clt)
 * 上传并获取图片URL [https://github.com/Molunerfinn/PicGo](https://github.com/Molunerfinn/PicGo)
 * [https://www.polaxiong.com](https://www.polaxiong.com)
 * [https://icons8.cn/lunacy](https://icons8.cn/lunacy)
diff --git "a/System/\351\202\256\347\256\261\346\234\215\345\212\241.md" "b/System/\351\202\256\347\256\261\346\234\215\345\212\241.md"
index b775528a5..12b74ad43 100644
--- "a/System/\351\202\256\347\256\261\346\234\215\345\212\241.md"
+++ "b/System/\351\202\256\347\256\261\346\234\215\345\212\241.md"
@@ -26,6 +26,7 @@
 * [https://sourceforge.net/projects/dkim-milter](https://sourceforge.net/projects/dkim-milter)
 * [https://sourceforge.net/projects/opendkim](https://sourceforge.net/projects/opendkim)
 * [https://github.com/yesmore/vmail](https://github.com/yesmore/vmail)
+* [https://github.com/mail-in-a-box/mailinabox](https://github.com/mail-in-a-box/mailinabox)
 * [测试邮箱](https://www.mail-tester.com)
 
 
diff --git "a/Web/JavaScript\346\241\206\346\236\266.md" "b/Web/JavaScript\346\241\206\346\236\266.md"
index 081048576..e55d796c4 100644
--- "a/Web/JavaScript\346\241\206\346\236\266.md"
+++ "b/Web/JavaScript\346\241\206\346\236\266.md"
@@ -120,6 +120,7 @@
 * [https://github.com/silevis/reactgrid](https://github.com/silevis/reactgrid)
 * 测试 [https://github.com/testing-library](https://github.com/testing-library)
 * 服务器组件 [https://github.com/dai-shi/waku](https://github.com/dai-shi/waku)
+* 画板 [https://github.com/tldraw/tldraw](https://github.com/tldraw/tldraw)
 
 
 - [https://github.com/Asabeneh/30-Days-Of-React](https://github.com/Asabeneh/30-Days-Of-React)
diff --git "a/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md" "b/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md"
index 55f057a50..c17013884 100644
--- "a/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md"
+++ "b/Web/JavaScript\347\254\254\344\270\211\346\226\271\345\272\223.md"
@@ -237,6 +237,7 @@
 * JSON增强 [https://github.com/blitz-js/superjson](https://github.com/blitz-js/superjson)
 * JSON校验 [https://github.com/ozkxr/match-json](https://github.com/ozkxr/match-json)
 * 二维码 [https://github.com/ciaochaos/qrbtf](https://github.com/ciaochaos/qrbtf)
+* [https://github.com/mumuy/widget-qrcode](https://github.com/mumuy/widget-qrcode)
 * 随机数 [https://github.com/ChrisCavs/aimless.js](https://github.com/ChrisCavs/aimless.js)
 * Promise [https://github.com/petkaantonov/bluebird](https://github.com/petkaantonov/bluebird)
 * 矩阵计算 [https://github.com/mateogianolio/vectorious](https://github.com/mateogianolio/vectorious)
@@ -427,7 +428,6 @@
 
 - 思维导图 [https://github.com/hizzgdev/jsmind](https://github.com/hizzgdev/jsmind)
 - 虚拟白板 [https://github.com/excalidraw/excalidraw](https://github.com/excalidraw/excalidraw)
-- [https://github.com/tldraw/tldraw](https://github.com/tldraw/tldraw)
 - 头像生成 [https://github.com/multiavatar/Multiavatar](https://github.com/multiavatar/Multiavatar)
 - 抠图 [https://github.com/imgly/background-removal-js](https://github.com/imgly/background-removal-js)
 
diff --git a/Web/README.md b/Web/README.md
index 1d3e70f1d..07fbf3a4e 100644
--- a/Web/README.md
+++ b/Web/README.md
@@ -330,6 +330,7 @@
 * 动态博客系统 [https://github.com/kasuganosoras/cloudflare-worker-blog](https://github.com/kasuganosoras/cloudflare-worker-blog)
 * 个人导航网站 [https://github.com/sleepwood/CF-Worker-Dir](https://github.com/sleepwood/CF-Worker-Dir)
 * 一个极简风格的短网址转换 [https://github.com/Closty/duanwangzhi](https://github.com/Closty/duanwangzhi)
+* 短链接 [https://github.com/ccbikai/Sink](https://github.com/ccbikai/Sink)
 * AI [https://github.com/Jazee6/cloudflare-ai-web](https://github.com/Jazee6/cloudflare-ai-web)
 * [基于 Telegraf 框架的 Telegram Bot](https://moe.best/tutorial/cfworker-telegraf-tgbot.html)
 * [使用CloudFlare Workers搭建网站状态监控](https://www.raycoder.me/p/cloudflare-workers-website-monitoring)