diff --git a/.github/workflows/cos.yaml b/.github/workflows/cos.yaml index 8b8b5bc..fe5dd1b 100644 --- a/.github/workflows/cos.yaml +++ b/.github/workflows/cos.yaml @@ -11,17 +11,19 @@ jobs: steps: - name: checkout - uses: actions/checkout@master - - - name: install dependencies - run: | - sudo pip install coscmd - sudo pip install tccli - npm i + uses: actions/checkout@v3 + + - name: install doc dependencies + run: sudo npm i - name: build run: | npm run docs:build + + - name: install coscmd and tccli + run: | + sudo pip3 install coscmd + sudo pip3 install tccli - name: confirgure coscmd and tccli env: @@ -38,4 +40,4 @@ jobs: - name: upload and refresh cdn run: | coscmd upload -rfs --delete ./.vitepress/dist/ / - tccli cdn PurgePathCache --cli-unfold-argument --Paths https://wiki.xyxsw.site/ --FlushType flush \ No newline at end of file + tccli cdn PurgePathCache --cli-unfold-argument --Paths https://wiki.xyxsw.site/ --FlushType flush diff --git a/.github/workflows/link-pr.yaml b/.github/workflows/link-pr.yaml new file mode 100644 index 0000000..54efb3e --- /dev/null +++ b/.github/workflows/link-pr.yaml @@ -0,0 +1,40 @@ +name: links when pr + +on: + pull_request: + branches: [ master ] + paths: + - '**.md' + - '.lycheeignore' + +jobs: + linkChecker: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: install doc dependencies + run: sudo npm i + + - name: build + run: | + npm run docs:build + + - name: Link Checker + uses: lycheeverse/lychee-action@v1.8.0 + with: + fail: true + # For parameter description, see https://github.com/lycheeverse/lychee#commandline-parameters + # -E, --exclude-all-private Exclude all private IPs from checking. + # -i, --insecure Proceed for server connections considered insecure (invalid TLS) + # -n, --no-progress Do not show progress bar. + # -t, --timeout Website timeout in seconds from connect to response finished [default:20] + # --max-concurrency Maximum number of concurrent network requests [default: 128] + # -a --accept Comma-separated list of accepted status codes for valid links + + # .vitepress/dist the site directory to check + # *.md all markdown files in the root directory + args: -E -i -n -t 45 --max-concurrency 64 -a 401,403 -- '.vitepress/dist' '*.md' + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} diff --git a/.github/workflows/link-schedule.yaml b/.github/workflows/link-schedule.yaml new file mode 100644 index 0000000..ea6cabd --- /dev/null +++ b/.github/workflows/link-schedule.yaml @@ -0,0 +1,45 @@ +name: links + +on: + # repository_dispatch: + workflow_dispatch: + schedule: + - cron: "30 8 * * *" + +jobs: + linkChecker: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: install doc dependencies + run: sudo npm i + + - name: build + run: | + npm run docs:build + + - name: Link Checker + uses: lycheeverse/lychee-action@v1.8.0 + with: + # For parameter description, see https://github.com/lycheeverse/lychee#commandline-parameters + # -E, --exclude-all-private Exclude all private IPs from checking. + # -i, --insecure Proceed for server connections considered insecure (invalid TLS) + # -n, --no-progress Do not show progress bar. + # -t, --timeout Website timeout in seconds from connect to response finished [default:20] + # --max-concurrency Maximum number of concurrent network requests [default: 128] + # -a --accept Comma-separated list of accepted status codes for valid links + + # .vitepress/dist the site directory to check + # *.md all markdown files in the root directory + args: -E -i -n -t 45 --max-concurrency 64 -a 401,403 -- '.vitepress/dist' '*.md' + output: out.md + env: + GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} + - name: Create Issue From File + uses: peter-evans/create-issue-from-file@v3 + with: + title: Broken Link Detected + content-filepath: out.md + assignees: nightwhite diff --git a/.gitignore b/.gitignore index 03d85d5..8040e26 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules dist cache -.temp \ No newline at end of file +.temp +.vitepress/dist diff --git a/.lycheeignore b/.lycheeignore new file mode 100644 index 0000000..81bf9b0 --- /dev/null +++ b/.lycheeignore @@ -0,0 +1,7 @@ +hdu-cs-wiki/edit +file:// +https://adworld.xctf.org.cn/challenges/list +https://e5c78mnhgz.feishu.cn/docx/doxcnxBONvnxSLi0MfaNZWvrcSb +https://datawhale.feishu.cn/docs/doccn0AOicI3LJ8RwhY0cuDPSOc# +https://message.hdu-cs.wiki/ +https://adworld.xctf.org.cn/ \ No newline at end of file diff --git a/.vitepress/config.js b/.vitepress/config.js index 1012c44..d78b1a8 100644 --- a/.vitepress/config.js +++ b/.vitepress/config.js @@ -2,6 +2,7 @@ import { withMermaid } from "vitepress-plugin-mermaid"; import mathjax3 from 'markdown-it-mathjax3'; import { main_sidebar, chapter2, chapter3, chapter4, chapter5, chapter6, chapter7, chapter8 } from './sidebar.js'; +import { nav } from './nav.js'; import PanguPlugin from 'markdown-it-pangu' const customElements = [ @@ -103,16 +104,7 @@ export default withMermaid({ head: [['script', { async: "async", src: 'https://umami.hdu-cs.wiki/script.js', "data-website-id": "3f11687a-faae-463a-b863-6127a8c28301", "data-domains": "wiki.xyxsw.site,hdu-cs.wiki" }]], themeConfig: { // https://vitepress.dev/reference/default-theme-config - nav: [ - { text: '首页', link: '/' }, - { text: 'Wiki史', link: '/wiki史' }, - { - text: '友链', items: - [ - { text: '杭电导航', link: 'https://wiki.hduhelp.com' }, - ] - }, - ], + nav: nav(), sidebar: { '/': main_sidebar(), @@ -124,6 +116,7 @@ export default withMermaid({ '/7.网络应用开发/': chapter7(), '/8.基础学科/': chapter8(), }, + outline: [2, 6], socialLinks: [ { icon: 'github', link: 'https://github.com/camera-2018/hdu-cs-wiki' } ], diff --git a/.vitepress/nav.js b/.vitepress/nav.js new file mode 100644 index 0000000..2775ef7 --- /dev/null +++ b/.vitepress/nav.js @@ -0,0 +1,25 @@ +export function nav() { + return [ + { text: '首页', link: '/' }, + { + text: '章节', items: + [ + { text: '1.杭电生存指南(最重要模块)', link: '/1.杭电生存指南/1.1人文社科的重要性(韩健夫老师寄语)' }, + { text: '2.高效学习', link: '/2.高效学习/2.高效学习' }, + { text: '3.编程思维体系构建', link: '/3.编程思维体系构建/3.编程思维体系构建' }, + { text: '4.人工智能', link: '/4.人工智能/4.人工智能' }, + { text: '5.富有生命的嵌入式', link: '/5.富有生命的嵌入式/5.富有生命的嵌入式' }, + { text: '6.计算机安全', link: '/6.计算机安全/6.计算机安全' }, + { text: '7.网络应用开发', link: '/7.网络应用开发/7.网络应用开发入门' }, + { text: '8.基础学科', link: '/8.基础学科/8.基础学科' }, + ] + }, + { text: 'Wiki史', link: '/wiki史' }, + { + text: '友链', items: + [ + { text: '杭电导航', link: 'https://wiki.hduhelp.com' }, + ] + }, + ] +} \ No newline at end of file diff --git a/1.杭电生存指南/static/计算机科学联合会群聊二维码.png b/1.杭电生存指南/static/计算机科学联合会群聊二维码.png new file mode 100644 index 0000000..9b1ce3b Binary files /dev/null and b/1.杭电生存指南/static/计算机科学联合会群聊二维码.png differ diff --git a/3.编程思维体系构建/3.2.1为什么要选择ACM——谈谈我与ACM.md b/3.编程思维体系构建/3.2.1为什么要选择ACM——谈谈我与ACM.md index d95f55f..455ba8b 100644 --- a/3.编程思维体系构建/3.2.1为什么要选择ACM——谈谈我与ACM.md +++ b/3.编程思维体系构建/3.2.1为什么要选择ACM——谈谈我与ACM.md @@ -36,6 +36,8 @@ author:wenjing ③ 在初高中参加竞赛的学生的数量和质量有极可能已经有所下降,因为竞赛相关政策的紧缩,稀烂的强基计划替代了对竞赛友好的自主招生,选择全力投身竞赛,拼搏省队的学生有所下降,有基础的学生现在也不见得很强。 +UPD at 2023/7/19:从长期来看,这个结论应该是没有错的,但是很可惜,如果您是2023届的新生,您将遭遇紧缩政策下一波不得不来hdu的竞赛高材生,截至笔者更新为止,已经有五位NOI银牌选手和两位具备NOI银牌能力的选手提前加入了集训队,也许对于零基础的同学而言,仍然只要和别的零基础同学竞争保底的三个席位就好了。但从长远来看,进队不是结束,抢夺比赛机会才是开始。而且如果hdu能抢到这样的生源,其他学校的水平大概率也会上涨,就算有了比赛机会也很难说会不会拿铜遗憾结尾。如果您出于好奇,想了解这荒谬的景象是如何诞生,请参阅电子书[《整型溢出》](https://zhuanlan.zhihu.com/p/117660874) + 进队的学生零基础偏少,如果你选择这条路你可能需要克服不小的困难 # 我应该以什么态度学习 ACM? diff --git a/3.编程思维体系构建/3.Y.1VMware的安装与安装Ubuntu22.04系统.md b/3.编程思维体系构建/3.Y.1VMware的安装与安装Ubuntu22.04系统.md index 6665f59..e78a98d 100644 --- a/3.编程思维体系构建/3.Y.1VMware的安装与安装Ubuntu22.04系统.md +++ b/3.编程思维体系构建/3.Y.1VMware的安装与安装Ubuntu22.04系统.md @@ -24,7 +24,7 @@ 安装过后点许可证 输上面的 key 激活 -[https://mirror.nju.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.1-desktop-amd64.iso](https://mirror.nju.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.1-desktop-amd64.iso) +[https://mirror.nju.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.2-desktop-amd64.iso](https://mirror.nju.edu.cn/ubuntu-releases/22.04/ubuntu-22.04.2-desktop-amd64.iso) 去这里下载 Ubuntu22.04 镜像包 iso diff --git a/4.人工智能/4.11从 AI 到 智能系统 —— 从 LLMs 到 Agents.md b/4.人工智能/4.11从 AI 到 智能系统 —— 从 LLMs 到 Agents.md index 8e0576c..437b912 100644 --- a/4.人工智能/4.11从 AI 到 智能系统 —— 从 LLMs 到 Agents.md +++ b/4.人工智能/4.11从 AI 到 智能系统 —— 从 LLMs 到 Agents.md @@ -627,7 +627,7 @@ AutoGPT 主要特性如下: ## 意识理论之于 AI:全局工作空间理论 -全局工作空间理论(英语:Global workspace theory,GWT)是美国心理学家[伯纳德·巴尔斯](https://zh.wikipedia.org/w/index.php?title=%E4%BC%AF%E7%BA%B3%E5%BE%B7%C2%B7%E5%B7%B4%E5%B0%94%E6%96%AF&action=edit&redlink=1)提出的[意识](https://zh.wikipedia.org/wiki/%E6%84%8F%E8%AF%86)模型。该理论假设意识与一个全局的“广播系统”相关联,这个系统会在整个大脑中广播资讯。大脑中专属的智能处理器会按照惯常的方式自动处理资讯,这个时候不会形成[意识](https://zh.wikipedia.org/wiki/%E6%84%8F%E8%AF%86)。当人面对新的或者是与习惯性刺激不同的事物时,各种专属智能处理器会透过合作或竞争的方式,在全局工作空间中对新事物进行分析以获得最佳结果,而意识正是在这个过程中得以产生。 +全局工作空间理论(英语:Global workspace theory,GWT)是美国心理学家伯纳德·巴尔斯提出的[意识](https://zh.wikipedia.org/wiki/%E6%84%8F%E8%AF%86)模型。该理论假设意识与一个全局的“广播系统”相关联,这个系统会在整个大脑中广播资讯。大脑中专属的智能处理器会按照惯常的方式自动处理资讯,这个时候不会形成[意识](https://zh.wikipedia.org/wiki/%E6%84%8F%E8%AF%86)。当人面对新的或者是与习惯性刺激不同的事物时,各种专属智能处理器会透过合作或竞争的方式,在全局工作空间中对新事物进行分析以获得最佳结果,而意识正是在这个过程中得以产生。 这通常被认为是 神经科学家接受度最高的哲学理论 diff --git a/4.人工智能/4.4FAQ:常见问题.md b/4.人工智能/4.4FAQ:常见问题.md index e0b774b..4fe53b8 100644 --- a/4.人工智能/4.4FAQ:常见问题.md +++ b/4.人工智能/4.4FAQ:常见问题.md @@ -53,12 +53,8 @@ 尝试阅读以下内容 - [形象的机器学习简介](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/) -- [一份温柔的机器学习指南](https://blog.monkeylearn.com/a-gentle-guide-to-machine-learning/) - [为开发者准备的机器学习简介](http://blog.algorithmia.com/introduction-machine-learning-developers/) - [菜鸟的机器学习基础](https://www.analyticsvidhya.com/blog/2015/06/machine-learning-basics/) - [你如何向非计算机专业的人来解释机器学习与数据挖掘?](https://www.quora.com/How-do-you-explain-Machine-Learning-and-Data-Mining-to-non-Computer-Science-people) - [在罩子下的机器学习,博文简单明了地介绍了机器学习的原理](https://georgemdallas.wordpress.com/2013/06/11/big-data-data-mining-and-machine-learning-under-the-hood/) - [机器学习是什么?它是如何工作的呢?](https://www.youtube.com/watch?v=elojMnjn4kk&list=PL5-da3qGB5ICeMbQuqbbCOQWcS6OYBr5A&index=1) -- [深度学习——一份非技术性的简介](http://www.slideshare.net/AlfredPong1/deep-learning-a-nontechnical-introduction-69385936) - - diff --git a/4.人工智能/4.6.1工欲善其事,必先利其器.md b/4.人工智能/4.6.1工欲善其事,必先利其器.md index 9da961a..3236dad 100644 --- a/4.人工智能/4.6.1工欲善其事,必先利其器.md +++ b/4.人工智能/4.6.1工欲善其事,必先利其器.md @@ -127,9 +127,9 @@ PyTorch 完全基于 Python。 如果你使用 conda 安装 pytorch 太慢或者失败,不妨换个下载源试试 -在 [cmd](https://so.csdn.net/so/search?q=cmd&spm=1001.2101.3001.7020) 命令行中,输入添加以下命令: +在 cmd 命令行中,输入添加以下命令: -``` +```bash conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ diff --git a/4.人工智能/4.6.5.3.6思考题参考.md b/4.人工智能/4.6.5.3.6思考题参考.md index f36d467..f90eeed 100644 --- a/4.人工智能/4.6.5.3.6思考题参考.md +++ b/4.人工智能/4.6.5.3.6思考题参考.md @@ -10,8 +10,6 @@ [CNN 与 MLP 之间的关系,优缺点](https://www.editcode.net/archive/detail/89781) -[MLP(多层感知机)只是 CNN(卷积网络)的一个特例](https://blog.csdn.net/u010165147/article/details/82851717#:~:text=%E6%98%BE%E7%84%B6%E5%8F%AF%E4%BB%A5%E6%8E%A8%E5%AF%BC%E5%87%BA%EF%BC%8C%E5%BD%93%20CNN%E5%8D%B7%E7%A7%AF%E6%A0%B8%E5%A4%A7%E5%B0%8F%E4%B8%8E%E8%BE%93%E5%85%A5%E5%A4%A7%E5%B0%8F%E7%9B%B8%E5%90%8C%20%E6%97%B6%E5%85%B6%E8%AE%A1%E7%AE%97%E8%BF%87%E7%A8%8B%E7%AD%89%E4%BB%B7%E4%BA%8EMLP%EF%BC%8C%E4%B9%9F%E5%B0%B1%E6%98%AF%E8%AF%B4MLP%E7%AD%89%E4%BB%B7%E4%BA%8E,%E5%8D%B7%E7%A7%AF%E6%A0%B8%E5%A4%A7%E5%B0%8F%E4%B8%8E%E6%AF%8F%E5%B1%82%E8%BE%93%E5%85%A5%E5%A4%A7%E5%B0%8F%E7%9B%B8%E5%90%8C%20%E7%9A%84CNN%EF%BC%88%E5%A6%82%E8%BE%93%E5%85%A5%E5%9B%BE%E7%89%87%E4%B8%BA100x100%EF%BC%8C%E5%8D%B7%E7%A7%AF%E6%A0%B8%E5%A4%A7%E5%B0%8F%E4%B8%BA100x100%EF%BC%89%EF%BC%8C%E6%89%80%E4%BB%A5MLP%E6%98%AFCNN%E7%9A%84%E4%B8%80%E4%B8%AA%E7%89%B9%E4%BE%8B%E3%80%82%20%E8%80%8C%E5%8D%B7%E7%A7%AF%E6%A0%B8%E5%A4%A7%E5%B0%8F%E4%B8%8E%E6%AF%8F%E5%B1%82%E8%BE%93%E5%85%A5%E5%A4%A7%E5%B0%8F%E7%9B%B8%E5%90%8C%E4%BC%9A%E7%9B%B4%E6%8E%A5%E4%B8%A2%E5%A4%B1%E9%9D%9E%E5%B8%B8%E5%A4%9A%E7%9A%84%E8%BE%93%E5%85%A5%E7%A9%BA%E9%97%B4%E4%BF%A1%E6%81%AF%EF%BC%8C%E6%89%80%E4%BB%A5MLP%E8%BF%99%E7%A7%8D%E8%BF%90%E8%A1%8C%E6%A8%A1%E5%BC%8F%E4%B8%8D%E9%80%82%E5%90%88%E5%9B%BE%E5%83%8F%E8%BF%99%E7%A7%8D%E7%A9%BA%E9%97%B4%E4%BF%A1%E6%81%AF%E4%B8%B0%E5%AF%8C%E7%9A%84%E6%95%B0%E6%8D%AE%E3%80%82) - ### 1.2 [深度理解感受野](https://blog.csdn.net/weixin_40756000/article/details/117264194) @@ -53,9 +51,3 @@ ### 3.2 [ResNet 残差、退化等细节解读](https://blog.csdn.net/a8039974/article/details/122380735) - -## 思考 4 - -### 4.1 - -[U-Net 和 ResNet:长短跳跃连接的重要性(生物医学图像分割)](https://www.jianshu.com/p/20a47427823c) diff --git a/4.人工智能/4.6.6.3知识图谱.md b/4.人工智能/4.6.6.3知识图谱.md index dca6173..ebd27f4 100644 --- a/4.人工智能/4.6.6.3知识图谱.md +++ b/4.人工智能/4.6.6.3知识图谱.md @@ -19,7 +19,6 @@ 具体其发展历程参考: - [https://mp.weixin.qq.com/s/Mcikp99bsVgxAaykctmcAw](https://mp.weixin.qq.com/s/Mcikp99bsVgxAaykctmcAw) 知识图谱的前世今生 -- [https://www.it610.com/article/1277333416756396032.htm](https://www.it610.com/article/1277333416756396032.htm) 知识图谱历史发展 在大致了解知识图谱的历史发展脉络后,我们或许对它有了一个初步的认知——一个由抽象符号构成的知识库,目的是为了让计算机理解人类的语义信息,打个不太恰当的比方,就是个计算机理解人类世界的大脑。 diff --git a/4.人工智能/4.9如何做研究.md b/4.人工智能/4.9如何做研究.md index d9a7986..449e7e3 100644 --- a/4.人工智能/4.9如何做研究.md +++ b/4.人工智能/4.9如何做研究.md @@ -4,7 +4,7 @@ Author: 任浩帆 -Email: yqykrhf@163.commailto:yqykrhf@163.com +Email: yqykrhf@163.com 术语介绍的补充:Spy diff --git a/4.人工智能/ch02/ch2.1/ch2.1.1/itemcf.md b/4.人工智能/ch02/ch2.1/ch2.1.1/itemcf.md index 92c69d2..5cda620 100644 --- a/4.人工智能/ch02/ch2.1/ch2.1.1/itemcf.md +++ b/4.人工智能/ch02/ch2.1/ch2.1.1/itemcf.md @@ -260,10 +260,4 @@ $$ # 参考资料 * [基于用户的协同过滤来构建推荐系统:https://mp.weixin.qq.com/s/ZtnaQrVIpVOPJpqMdLWOcw](https://mp.weixin.qq.com/s/ZtnaQrVIpVOPJpqMdLWOcw) -* [协同过滤算法概述:https://chenk.tech/posts/8ad63d9d.html](https://chenk.tech/posts/8ad63d9d.html) * B站黑马推荐系统实战课程 - - - - - diff --git a/4.人工智能/ch02/ch2.1/ch2.1.1/usercf.md b/4.人工智能/ch02/ch2.1/ch2.1.1/usercf.md index 72a3c86..68fd0f0 100644 --- a/4.人工智能/ch02/ch2.1/ch2.1.1/usercf.md +++ b/4.人工智能/ch02/ch2.1/ch2.1.1/usercf.md @@ -341,5 +341,4 @@ $$ # 参考资料 * [基于用户的协同过滤来构建推荐系统:https://mp.weixin.qq.com/s/ZtnaQrVIpVOPJpqMdLWOcw](https://mp.weixin.qq.com/s/ZtnaQrVIpVOPJpqMdLWOcw) -* [协同过滤算法概述:https://chenk.tech/posts/8ad63d9d.html](https://chenk.tech/posts/8ad63d9d.html) * B站黑马推荐系统实战课程 diff --git a/4.人工智能/ch02/ch2.1/ch2.1.2/YoutubeDNN.md b/4.人工智能/ch02/ch2.1/ch2.1.2/YoutubeDNN.md index 7e7006a..066b34d 100644 --- a/4.人工智能/ch02/ch2.1/ch2.1.2/YoutubeDNN.md +++ b/4.人工智能/ch02/ch2.1/ch2.1.2/YoutubeDNN.md @@ -85,7 +85,7 @@ $$ Ok,到这里平淡无奇, 前向传播也大致上快说完了, 还差最后一步。 最后这一步,就是做多分类问题,然后求损失,这就是training那边做的事情。 但是在详细说这个之前, 我想先简单回忆下word2vec里面的skip-gram Model, 这个模型,如果回忆起来,这里理解起来就非常的简单了。 -这里只需要看一张图即可, 这个来自cs231N公开课PPT, 我之前整理w2v的时候用到的,详细内容可看我[这篇博客](https://zhongqiang.blog.csdn.net/article/details/106948860), 这里的思想其实也是从w2v那边过来的。 +这里只需要看一张图即可, 这个来自cs231N公开课PPT, 我之前整理w2v的时候用到的,这里的思想其实也是从w2v那边过来的。
在这里插入图片描述 diff --git a/4.人工智能/ch02/ch2.1/ch2.1.2/word2vec.md b/4.人工智能/ch02/ch2.1/ch2.1.2/word2vec.md index cbaea10..5ff769b 100644 --- a/4.人工智能/ch02/ch2.1/ch2.1.2/word2vec.md +++ b/4.人工智能/ch02/ch2.1/ch2.1.2/word2vec.md @@ -103,7 +103,7 @@ Word2vec包含两个模型,**Skip-gram与CBOW**。下面,我们先讲**Skip- 我们滑动窗口,再以banking为中心词 - + 那么,如果我们在整个语料库上不断地滑动窗口,我们可以得到所有位置的$P(o|c)$,我们希望在所有位置上**最大化单词o在单词c周围出现了这一事实**,由极大似然法,可得: diff --git a/4.人工智能/ch02/ch2.2/ch2.2.1.md b/4.人工智能/ch02/ch2.2/ch2.2.1.md index e43ab26..57cbb5d 100644 --- a/4.人工智能/ch02/ch2.2/ch2.2.1.md +++ b/4.人工智能/ch02/ch2.2/ch2.2.1.md @@ -239,7 +239,7 @@ $$ ### 编程实践 -下面我们通过kaggle上的一个ctr预测的比赛来看一下GBDT+LR模型部分的编程实践, [数据来源](https://github.com/zhongqiangwu960812/AI-RecommenderSystem/tree/master/GBDT%2BLR/data) +下面我们通过kaggle上的一个ctr预测的比赛来看一下GBDT+LR模型部分的编程实践, [数据来源](https://github.com/zhongqiangwu960812/AI-RecommenderSystem/tree/master/Rank/GBDT%2BLR/data) 我们回顾一下上面的模型架构, 首先是要训练GBDT模型, GBDT的实现一般可以使用xgboost, 或者lightgbm。训练完了GBDT模型之后, 我们需要预测出每个样本落在了哪棵树上的哪个节点上, 然后通过one-hot就会得到一些新的离散特征, 这和原来的特征进行合并组成新的数据集, 然后作为逻辑回归的输入,最后通过逻辑回归模型得到结果。 diff --git a/4.人工智能/ch02/ch2.2/ch2.2.3/DeepFM.md b/4.人工智能/ch02/ch2.2/ch2.2.3/DeepFM.md index c03efaf..5ee74dd 100644 --- a/4.人工智能/ch02/ch2.2/ch2.2.3/DeepFM.md +++ b/4.人工智能/ch02/ch2.2/ch2.2.3/DeepFM.md @@ -151,6 +151,6 @@ def DeepFM(linear_feature_columns, dnn_feature_columns): **参考资料** - [论文原文](https://arxiv.org/pdf/1703.04247.pdf) - [deepctr](https://github.com/shenweichen/DeepCTR) -- [FM](https://github.com/datawhalechina/team-learning-rs/blob/master/RecommendationSystemFundamentals/04%20FM.md) +- [FM](https://github.com/datawhalechina/fun-rec/blob/master/docs/ch02/ch2.1/ch2.1.2/FM.md) - [推荐系统遇上深度学习(三)--DeepFM模型理论和实践](https://www.jianshu.com/p/6f1c2643d31b) - [FM算法公式推导](https://blog.csdn.net/qq_32486393/article/details/103498519) \ No newline at end of file diff --git a/6.计算机安全/6.2.1基础工具的使用.md b/6.计算机安全/6.2.1基础工具的使用.md index 28f87bd..54122fd 100644 --- a/6.计算机安全/6.2.1基础工具的使用.md +++ b/6.计算机安全/6.2.1基础工具的使用.md @@ -12,7 +12,7 @@ IDA pro 是收费软件,价格极其昂贵,一套完全版人民币 10W 左 ## 0x00 IDA 简单介绍 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809113855166.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809113855166.png) IDA是一款交互式反汇编和反编译工具,其支持文件类型和文件平台丰富。 @@ -20,7 +20,7 @@ IDA是一款交互式反汇编和反编译工具,其支持文件类型和文 ## 0x01 启动界面 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809114834244.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809114834244.png) ``` NEW:打开IDA同时弹出对话框选择要打开的文件 @@ -30,15 +30,15 @@ Previous,或者下面的列表项:快速打开之前的的文件 这里选择Go键,打开以后,将文件拖入 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809124156697.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809124156697.png) -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809124408179.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809124408179.png) 这里按我们的默认选项点击OK即可 ## 0x02 关闭界面 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809125554853.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809125554853.png) ``` 第一个选项:就是不打包数据包文件,那么这些数据库文件就会分开这放。 @@ -53,15 +53,15 @@ Previous,或者下面的列表项:快速打开之前的的文件 反汇编代码的图表窗口 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809130857159.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809130857159.png) 按**空格键**切换成文本结构的反汇编 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809130940294.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809130940294.png) 按**F5**进行反编译跳转至`Pseudocode`(伪代码)界面 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809131038284.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809131038284.png) 然后就可以分析代码逻辑了 @@ -71,19 +71,19 @@ Previous,或者下面的列表项:快速打开之前的的文件 十六进制窗口(不太常用) -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809132027773.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809132027773.png) ## 0x05 主界面-Structures 结构体窗口 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809132130778.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809132130778.png) ## 0x06 主界面-Enums 枚举类型界面 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809132242739.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809132242739.png) ## 0x07 主界面-Imports @@ -91,23 +91,23 @@ Previous,或者下面的列表项:快速打开之前的的文件 可以查看当前模块用了哪些模块的哪些函数 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809132327043.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809132327043.png) ## 0x08 主界面-Exports 导出表 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809151050575.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809151050575.png) ## 0x09 主界面-Strings 按`Shift+F12`转到`String`界面,该操作会搜索程序中的字符串数据并展示 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809153126737.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809153126737.png) 按`Ctrl+F`后输入想要检索的字符可以快速搜索字符串 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809153408536.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809153408536.png) ## 0x0a 其他界面-Functions @@ -115,7 +115,7 @@ Previous,或者下面的列表项:快速打开之前的的文件 其中一般来说`main`是程序的主要函数 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809151328885.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809151328885.png) ## 0x0b 其他界面-Output @@ -125,13 +125,13 @@ Previous,或者下面的列表项:快速打开之前的的文件 另外还可以直接在下面输入python语句,方便在ida使用过程中简单的数据处理 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809151536894.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809151536894.png) ## 0x0c 其他界面-导航栏 一个二进制文件包括不同的区块,这里显示程序的不同类型数据,不同的颜色代表二进制文件中不同的块 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809151815243.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809151815243.png) @@ -170,11 +170,11 @@ Previous,或者下面的列表项:快速打开之前的的文件 IDA 提供可与其交互的IDA Python接口,可以使用Python做很多的辅助操作 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809154742462.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809154742462.png) 可以参考这篇文章了解常用的接口 -[IDA Python 常用函数 | 4nsw3r's Blog](https://4nsw3r.top/2022/02/11/IDA Python 常用函数/) +[IDA Python 常用函数 | 4nsw3r's Blog](https://4nsw3r.top/2022/02/11/IDA%20Python%20%E5%B8%B8%E7%94%A8%E5%87%BD%E6%95%B0/) ## 0x11 IDA 动态调试 @@ -184,17 +184,17 @@ IDA 提供可与其交互的IDA Python接口,可以使用Python做很多的辅 可以先在汇编代码或伪代码界面下断点,然后`F9`选择调试器,这里直接选`Local Windows Debugger` -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809160044665.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809160044665.png) 之后就可以用F7(单步不跳过执行)/F8(单步跳过执行)/F9(继续执行,遇到断点停止)进行调试 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809163138453.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809163138453.png) ### 调试Linux下的文件 可以先在汇编代码或伪代码界面下断点 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809155352920.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809155352920.png) 由于Linux下文件调试比较特殊,需要远程起一个服务器运行服务端,这里可以使用**Vmware**或者**WSL2(Windows subsystem Linux)**进行调试 @@ -240,21 +240,21 @@ int main() { ##### 将程序拖入IDA -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809173439491.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809173439491.png) -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809173548998.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809173548998.png) ##### F5分析查看伪代码 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809173627488.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809173627488.png) 发现有`change`和`check`的自定义函数 按`n`修改一下变量名 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809174001600.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809174001600.png) -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809174015603.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809174015603.png) 分别进入里面查看函数逻辑 @@ -262,11 +262,11 @@ int main() { change函数 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809174035800.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809174035800.png) check函数 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809174058831.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809174058831.png) ###### 静态分析逻辑 @@ -280,19 +280,19 @@ change函数是对输入字符串的每一个字节进行修改 随意的进行一些输入 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809174913326.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809174913326.png) 然后断下来 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809174957987.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809174957987.png) F7进入函数进行单步不跳过调试 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809175413448.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809175413448.png) 遇到类似`strlen`等库函数可以F8单步调试跳过 -![](https://blog-t0hka.oss-cn-hangzhou.aliyuncs.com/img/image-20220809175459668.png) +![](https://pic-hdu-cs-wiki-1307923872.cos.ap-shanghai.myqcloud.com/image-20220809175459668.png) 可以发现输入字符串的每一个字节的Ascii值都减小了1 diff --git a/6.计算机安全/6.2.2软件破解、软件加固.md b/6.计算机安全/6.2.2软件破解、软件加固.md index 7631692..aa9c56c 100644 --- a/6.计算机安全/6.2.2软件破解、软件加固.md +++ b/6.计算机安全/6.2.2软件破解、软件加固.md @@ -41,7 +41,7 @@ ESP 定律的原理在于利用程序中堆栈平衡来快速找到 OEP. #### 示例 -示例程序可以点击此处下载: [2_esp.zip](https://github.com/ctf-wiki/ctf-challenges/blob/master/reverse/unpack/example/2_esp.zip) +示例程序可以点击此处下载: [2_esp.zip](https://github.com/ctf-wiki/ctf-challenges/blob/master/reverse/unpack/2_esp.zip) 还是上一篇的示例, 入口一句 `pushad`, 我们按下 F8 执行 `pushad` 保存寄存器状态, 我们可以在右边的寄存器窗口里发现 `ESP` 寄存器的值变为了红色, 也即值发生了改变. diff --git a/6.计算机安全/6.2二进制安全.md b/6.计算机安全/6.2二进制安全.md index ca9458c..ccc2f81 100644 --- a/6.计算机安全/6.2二进制安全.md +++ b/6.计算机安全/6.2二进制安全.md @@ -13,7 +13,7 @@ reverse 主要研究软件破解,软件加固,计算机病毒等。 ## 入门材料 > HGAME Mini 2022 Reverse Pwn 入门材料 > Reverse:https://www.notion.so/b92ca2bfaacf4e7c873882dff9dbf649 -> Pwn:https://ek1ng.oss-cn-hangzhou.aliyuncs.com/HGAME%20Mini%202022%20Pwn%E5%85%A5%E9%97%A8%E6%8C%87%E5%8C%97.pdf +> Pwn:[PWN入门指北](https://ek1ng.oss-cn-hangzhou.aliyuncs.com/HGAME%20Mini%202022%20Pwn%E5%85%A5%E9%97%A8%E6%8C%87%E5%8C%97.pdf) ## 学习二进制安全需要具备哪些基础? diff --git a/7.网络应用开发/7.1.1.1基础部分.md b/7.网络应用开发/7.1.1.1基础部分.md index deace25..0a73110 100644 --- a/7.网络应用开发/7.1.1.1基础部分.md +++ b/7.网络应用开发/7.1.1.1基础部分.md @@ -14,8 +14,6 @@ [MDN Web 入门](https://developer.mozilla.org/zh-CN/docs/Learn/Getting_started_with_the_web) -[ A friendly web development tutorial for complete beginners](https://www.internetingishard.com/html-and-css/) - [前端入门必会的初级调试技巧](https://zhuanlan.zhihu.com/p/145466139) #### JavaScript diff --git a/README.md b/README.md index e1a5afc..c002acb 100644 --- a/README.md +++ b/README.md @@ -51,11 +51,9 @@ zzm 花费了一年的时间动员了大伙对讲义进行修缮和完备,不得不说这确实不是一个小的工作,不过在2023年3月,在计院领导的支持下,计算机学院科协成立了。我们将在学院的支持下继续完善这个内容,同时也欢迎大伙加入我们,共同参与到讲义的学习与撰写中来!
- +
-

欢迎加群669895692

- ## 学习原则 1. 建议保持至少一半时间在实操,一半时间在学理论知识,比例未必正确的,但是强调实操和反馈的重要性,如果你上来就拿一本经典的花书看,只看理论或者上来就整一段开源代码,势必会陷入不同程度的盲目和困苦当中。 diff --git a/components/Parallax.vue b/components/Parallax.vue index e9315d7..9056c31 100644 --- a/components/Parallax.vue +++ b/components/Parallax.vue @@ -1,7 +1,7 @@ @@ -90,15 +101,79 @@ export default {
+
+
+
- +
+ + \ No newline at end of file diff --git a/public/qrcodes.png b/public/qrcodes.png new file mode 100644 index 0000000..c936fa4 Binary files /dev/null and b/public/qrcodes.png differ diff --git a/public/sparkles.gif b/public/sparkles.gif new file mode 100644 index 0000000..8e8d55b Binary files /dev/null and b/public/sparkles.gif differ diff --git a/简介.md b/简介.md index f49d246..c90c8aa 100644 --- a/简介.md +++ b/简介.md @@ -31,13 +31,11 @@ 想必在这里,你或多或少都能得到自己的答案!
- +
欢迎加群与学长交流!我们也可以针对你的喜好为你定制一个方案! -**群号:669895692** - ::: tip 🤔 ### 为什么我要花大量的时间与折磨受这样的训练?