一起来学Python基础|LearnBasicPythonTogether
前言 发现 Python 写起来比 C++ 爽多了,以后写 Leetcode 和其他程序,只要对性能和应用场景没有特殊要求,就只用 Python 啦!(蛇堕力,悲) 总之,下面的内容是对学习了 《Python编程-从入门到实践》 基础部分的小结,不是那种事无巨细的笔记,而是学习中印象比较深刻的部分。(也就是对于本人比较新的部分) 原计划每章写一个博客来记录,发现大部分内容已经在 C++ 那边烂熟于心,只要补充 Python 特色的实现方式和小部分新特性就好。 由于下面内容可能涉及练习的剧透,所以想要尽可能地发挥这本书的学习效用的话,建议自行学习完成再看本文。 正文 首先,这是练习存放的对应仓库地址 如果仔细看的话,会发现练习不全,因为有些练习陆爻齐觉着与其它练习考察重复,或者他们是陆爻齐已经十分熟悉的内容。 字符串去除前后空格 很多时候,我们有去除字符串前面或者后面的空格的需求,这个时候就可以使用下面的例子中展现的 strip 系列函数。 1234name = "\tWang \n Xiao\tMing ...
【Leetcode Daily】LeetcodeDailySummary-滑动窗口小结
类别 该算法主要分为定长滑动窗口和不定长滑动窗口,前者由于窗口大小固定,往往是来求窗口内某种极值,极大、极小或者其它事物,后者则专注于求子数组/子字符串的数量。 不定长滑动窗口有的会尽可能追求窗口长度的极值,又会因为题目,细分几个种类,比如越长越满足、越短月满足,或者刚好满足的情况。 定长滑动窗口 基本的思路是,先是初始化一个定长的窗口,初始化到窗口长度减一,然后在循环过程中,先加入新元素,达到窗口满足大小的情况,然后自行检查窗口是否满足题目条件,并更新记录数值。随后退出最旧的元素。 示例题目与更为详细的思路讲解在博客 【Leetcode Daily】1456定长子串中元音的最大数目 不定长滑动窗口 与定长滑动窗口的不同之处在于,不需要开始先把窗口调整至某个状态,只需要不断地加入元素,检查条件,然后在不满足条件时,持续退出旧元素,直到再次满足条件。 至于几种分类,对于求满足条件窗口长度,只要每次循环持续更新记录数值的最大或最小就好,像是博客 【Leetcode...
【一起来学 CMake】CMakeCookBook-开始编译,然后执行【Learn CMake Together】
前言 这是一个陆爻齐主要借助资源 CMake Cookbook 学习 CMake 的系列记录。 https://chenxiaowei.gitbook.io/cmake-cookbook 不定时更新,也不一定全按上面的章节顺序走,用到哪学到哪罢了:) 运行环境:VSCode + CMake + MinGW 正文 首先在项目新建一个名为hello.cpp的文件,内容是 123456789#include <iostream>using namespace std;int main() { cout << "Hello World!" << endl; return 0;} 上面是十分甚至有九分标准的代码,要将这个代码编译执行, 在IDE 上就是点一下或者两下按钮的事,但在 VSCode,这事没那么轻松。 下载完 C++ 之类的拓展后,虽然右上角出现了运行和调试的按钮,但对多文件不管用,这是因为 VSCode 还需要你编辑 .vscode 文件夹内的 json...
【一起来学 Git】LearnGitBranching-完结撒花与感言【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文 经过大概一周有余的更新,这个系列就算是完结了(8787878787),对陆爻齐自身而言算是受益匪浅啊。 其实吧,陆爻齐原本最熟悉的部分大多在【一起来学 Git】LearnGitBranching-基础篇【Learn Git Together】和【一起来学 Git】LearnGitBranching-Push&Pull-Git远程仓库【Learn Git Together】,前者很多命令本地用,后者主要使用 pull 和 push。...
【一起来学 Git】LearnGitBranching-关于origin和它的周边-Git远程仓库高级操作【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文 做一名仁慈的独裁者一定会很有趣…… 好奇怪的引语,不过本章说是高级操作,陆爻齐在此前 git 出现奇怪问题的时候,向 gpt 请教过,给出类似的代码,有时奏效有时又寄,所以还是十分建议学习的:) 推送主分支 这章要展示的是,开发者从远程仓库获取主分支的更新,然后在本地其它分支开发完后,如何在主分支上完成更新并推送的步骤。 获取主分支的更新,为了保持线性的提交历史,就可以采用git pull --rebase,注意,先切换到主分支再用...
【一起来学 Git】LearnGitBranching-Push&Pull-Git远程仓库【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文 是时候分享你的代码了,让编码变得社交化吧 事实上,远程仓库的部分才是大部分人使用 Git 的用途。对于自己的本地小项目,多数人倾向于采用比较“简单”的本地复制文件存档。只要这个项目还在开发迭代,过不了多久就会发生版本混乱。 Git Clone 正如网站中所说,网站演示效果与实际不符,输入git clone命令后,并非从远程创建本地复制,而是在本地创建一个远程仓库的副本。 这个命令用得可太多了,陆爻齐需要本地复现别人的模型,或者试下别人的开源代码,都需要用...
【一起来学 Git】LearnGitBranching-高级话题【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文-高级话题 只为真正的勇士 说是高级话题,实际上就是一些 Git 版小测,把之前的命令做了一点点的变化 多次 Rebase 题目说的很明白,“把所有这些分支上所做的工作都通过 rebase 合并到 main 分支上”,无需多盐。 对于 rebase 为什么有这样的效果,可以看看此前基础篇相关解释(【一起来学 Git】LearnGitBranching-基础篇【Learn Git Together】) 两个 Parent 节点 此前没怎么提到 parent...
【一起来学 Git】LearnGitBranching-杂项【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文-杂项 Git 技术、技巧与贴士大集合 标题党喵,要是我来总结就是:1. 如何高效修改前几个commit;2. Tag;3. Describe 只取一个提交记录 & 提交的技巧#1 & 提交的技巧#2 由于前三个部分说的都是一件事,就合并力。 都是为了解决:如果想修改一个处于“中间”的 commit,该如何处理? 从 【一起来学 Git】LearnGitBranching-移动提交记录【Learn Git...
【一起来学 Git】LearnGitBranching-移动提交记录【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文 自由修改提交树 作者在这表示之前的内容(【一起来学 Git】LearnGitBranching-基础篇【Learn Git Together】、【一起来学 Git】LearnGitBranching-高级篇【Learn Git Together】)已经涵盖了 Git 90% 的功能,但是剩下 10% 的功能正是为一些复杂的工作而准备的。 Git Cherry-pick 正如本篇的引语一般可以自由地修改提交树(的一点),可以把任意 commit...
【一起来学 Git】LearnGitBranching-高级篇【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文-高级篇 要开始介绍 Git 的超棒特性了,快来吧! 该章节的内容是陆爻齐从未接触过的,不过这也正是学习的意义啊(感慨) 分离 HEAD 这里的 HEAD 就是 git 操作时正处于的指针位置,一般情况下,HEAD 会跟着分支指针走,比如在【一起来学 Git】LearnGitBranching-基础篇【Learn Git Together】中,每次输入命令git checkout main,实际上就是让 HEAD 和 main...
【一起来学 Git】LearnGitBranching-基础篇【Learn Git Together】
前言 这是一个陆爻齐跟着 Learn Git Branching 网站学习(复习) Git 的系列记录,会跟着其内容的步伐做学习记录,并结合自身浅薄的知识积累和几乎为零的实践经验做一点点的补充。 https://learngitbranching.js.org 私以为,该网站比较适合有一点 Git 基础来学习,如果是完全零基础,还是看看 Git 官网教程,在 GitHub 这样的代码托管网站走一遍流程比较好。 注意,由于下面的笔记不可避免地涉及到过关的答案,所以强烈建议,自行体验过网站内容再看本文。 正文-基础篇 循序渐进地介绍 Git 主要命令 太主要了,私以为省略了不少,这就是为什么说先看 Git 的官网教程比较好。嘛,下面也会把省略的部分简单带带的:) Git Commit commit,翻译过来就是“提交”,相当于为当前的 Git 仓库下的文件做了一个存档,而且每次 commit 并非对所有文件的拷贝,而是会保存该版本与上个版本的差异作为提交记录。 命令直接就是git commit,实际上一般 commit...
【软考】下午题13-试题1-4,6-中级软件设计师备考笔记
试题一 数据流图 数据流图 英文名 DFD 本质上就是描述数据流动的图 {:height 283, :width 512} 问题一 问图中的实体是什么 E1…… 方法:对着子图和说明找 问题二 问图中的数据是什么 D1…… 方法:对着子图和说明找 如果是问数据存储,在没有找到对应名字时,可以自拟符合名称 问题三 补充数据流,看分值,可能一分一条或两分一条 方法: 父图子图平衡logseq.order-list-type:: number对比父图和子图的数据流 加工既有输入数据流也有输出数据流logseq.order-list-type:: number 根据说明检查子图logseq.order-list-type:: number 问题四 拓展题,随缘得分 有问父图与子图的平衡,也就是数据流的属性、名字相同,数量相同,若父图有一条对应子图多条数据流,则也算平衡 试题二 数据库设计 基础知识 父实体与子实体 属性简单了解,比较少考{:height 338, :width 518} 联系分别是1对1,1对多,多对多多对多对多 1对多对多 关系模式 ...
【软考】上午题12-数据结构与算法&操作系统-中级软件设计师备考笔记
数据结构与算法 由于时间不太充足,最后这部分就不看视频了,有什么不在原本知识库内的点就直接记录就好 哈夫曼树 只有度为 0 和度为 2 的节点 度 2 的点比度 0 的点少一个 森林转二叉树 首先,每个树分别转为二叉树,每层兄弟连,父节点只连第一个大儿子节点;然后第二课树做第一个树右节点,第三树做第二树右子树,以此类推 排序算法 哈希表 装填因子越小,冲突可能性越小 操作系统 与 [[软考_数据结构与算法]] 类似,都是补充,没时间全学 磁盘调度 移臂调度 先来先服务,就是先序位序考前的位置,随时改方向 最短寻道时间优先,优先找最近的,随时改方向 电梯调度,先向一边方向扫完在向另一边扫 单向扫描,电梯,但向一边扫完只会从另一边重新同方向再扫
【软考】上午题11-计算机网络-中级软件设计师备考笔记
网络设备 物理层互连设备 中继器、集线器(一种特殊多路中继器,可检测发送冲突) 数据链路层互连设备 网桥、交换机(多端口网桥) 网络层互连设备 路由器 应用层互连设备 网关 广播域和冲突域 在对应层能否划分 协议簇 ICMP属于网络层协议,用 IP 传送报文(差错报文) {:height 236, :width 412} 所有带T的除了TFTP其他都是TCP,所有不带T的除了POP3其他都是UDP 默认情况,FTP 服务器控制端口21,上传文件端口20 TCP 和 UDP 都是建立在 IP 协议上的 SNMP 是应用层协议,基于 UDP Telnet 是不太安全的远程登录协议(应用层),基于 TCP ICMP IP ARP RARP 都是网络层的 网络层协议 IP 提供服务通常是 无连接 和 不可靠 的 无连接:没确定目标系统做好接收数据准备就发送数据与此相对就是面向连接的传输 不可靠,目的系统不对成功接收分组确认 差错检测、流量控制、拥塞控制授权给其它各类协议 传输层协议...
【软考】上午题10-信息安全-中级软件设计师备考笔记
防火墙 内部网络是安全的、可信赖的,外部网络是不安全、不可信赖的 安全处理:控制、审计、报警和反应等 发展阶段: 包过滤防火墙,在网络层和数据链路层之间,检查网络层包的源地址、目的地址、协议和端口等logseq.order-list-type:: number 对应用、用户完全透明,速度较快,实行低水平控制 缺点,不能防范黑客攻击、不能处理新的安全威胁 应用代理网关防火墙,彻底隔绝直接通信,必须经应用层代理软件转发logseq.order-list-type:: number 缺点,难以配置,处理速度非常慢 网络攻击 拒绝服务攻击(Dos攻击) 不断向计算机发起请求来实现,使计算机或网络无法提供正常服务 重放攻击 盗取认证凭据,重新发送认证服务器,破坏认证正确性 Sql注入攻击 对数据库进行攻击的常用手段,获取权限 网络安全 SSL 安全协议,端口号443,传输层 TLS SSL 3.0 后续版本 SSH 终端设备和远程站点建立安全连接的协议,防止信息泄露 HTTPS 使用 SSL 的 HTTP,安全通道(用...
【软考】上午题9-软件工程-中级软件设计师备考笔记
软件过程 能力成熟度模型 CMM 五个成熟度级别: 初始级,杂乱无章,混乱,靠英雄式核心人物 2.可重复级,基本项目管理过程和实践跟踪,有必要的过程准则3.已定义级,软件过程文档化、标准化,标准软件过程4.已管理级,软件过程的产品质量被理解和控制5.优化级,加强定量分析,通过过程质量反馈、新观念、新技术持续改进 能力成熟度模型集成 CMMI 阶段式模型,类似 CMM 连续式模型,有六个等级,0-5 CL0,未完成的,未执行或未得到 已执行的,共性目标:可标识输入转换可标识输出工作产品logseq.order-list-type:: number 已管理的,共性目标:已管理过程的制度化logseq.order-list-type:: number 已定义级的,共性目标:已定义过程的制度化logseq.order-list-type:: number 定量管理的,共性目标:可定量管理的制度化logseq.order-list-type:: number 优化的,使用量化手段改变和优化过程域logseq.order-list-type::...




