软件工程基础 软件开发方法 结构化方法 将整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据按顺序完成。 应用最广泛。 特点是注重开发过程的整体性和全局性。 缺点是开发周期长文档设计说明繁琐,工作效率低 开发前要求全面获取需求和所有变更,但这不现实。 原型法 基于对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。 面向对象方法 用对象表示客观事物,对象是一个严格模块化的实体,在系统开发中可被共享和重复引用以达到复用的目的。 其特点是在整个开发过程中使用的是同一套工具。 面向对象方法主要涉及分析、设计、实现三个...

知识产权 保护期限 公民作品 没有限制 署名权、修改权、保护作品完整权 作者终生及其死亡后的第50年的12月31日 发表权、使用权、获得报酬权 单位作品 首次发表后的第50年的12月31日,若未发表则不受保护 发表权、使用权、获得报酬权 公民软件作品 没有限制 署名权、修改权 作者终生及其死亡后的第50年的12月31日。合作开发以最后死亡作者为准 发表权、复制权、发行、出信息网络传播权、翻译权、使用许可权、获得报酬权、转让权 单位软件作品 首次发表后的第50年的12月31日,若未发表则不受保护 发表权、复制权、发行、出信息网络传播权、翻译权、使用...

1、假设系统中有n个进程共享3台打印机,意味着每次只允许3个进程进入互斥段,那么信号量的初值应为3。信号量的范围是3,2,1,0,-1,…,-(n-3)。此时,信号量的物理意义为:当S≥0时,表示资源的可用数;当S<0时,其绝对值表示等待资源的进程数。 2、磁盘索引块为1KB,每个地址项大小为4B,故每个磁盘索引块可存放1024/4=256个物理块地址。又因为文件索引节点中有8个地址项,其中5个地址项为直接地址索引,这意味着逻辑块号为0~4的为直接地址索引;2个地址项是一级间接地址索引,其中第一个地址项指出的物理块中是一张一级间接地址索引表,存放逻辑块号为5~260对应的物理块号,第二个地址...

什么是深浅拷贝 说到深浅拷贝就得提起JavaScript中的数据类型之前的文章中有介绍过,这里就不再细说了。浅拷贝:对基本数据类型进行值复制,对引用数据类型复制引用地址。浅拷贝会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果拷贝的是像对象这样的引用对象,那么浅拷贝会复制引用指向堆内存地址,因此源对象和拷贝对象会共享属性。深拷贝:对基本数据类型进行值复制,对引用数据类型递归复制。深拷贝会另外创造一个一摸一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象。区别举例: //原始对象 letobj={ a:1, b:{ c:2 } } //浅拷贝 letshallow...

题目 二叉树中的路径被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中至多出现一次。该路径至少包含一个节点,且不一定经过根节点。 路径和是路径中各节点值的总和。 给你一个二叉树的根节点root,返回其最大路径和。 示例1: 输入:root=[1,2,3]输出:6解释:最优路径是2->1->3,路径和为2+1+3=6示例2: 输入:root=[-10,9,20,null,null,15,7]输出:42解释:最优路径是15->20->7,路径和为15+20+7=42 提示: 树中节点数目范围是[1,3104]-1000<=Node....

题目 给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文。 返回符合要求的最少分割次数。 示例1: 输入:s=“aab”输出:1解释:只需一次分割就可将s分割成[“aa”,“b”]这样两个回文子串。示例2: 输入:s=“a”输出:0示例3: 输入:s=“ab”输出:1 提示: 1<=s.length<=2000s仅由小写英文字母组成 思路 问题描述:给定一个字符串s,要求将字符串分割成一些子串,使每个子串都是回文。返回使得分割次数最少的情况下,能够将字符串s分割成回文子串的最少分割次数。 解题思路:这个问题可以使用动态规划来解决。定义dp[i]表示从字符串的第i个字符到...

题目 给定一个字符串s和一个字符串字典wordDict,在字符串s中增加空格来构建一个句子,使得句子中所有的单词都在词典中。以任意顺序返回所有这些可能的句子。 注意:词典中的同一个单词可能在分段中被重复使用多次。 示例1: 输入:s=“catsanddog”,wordDict=[“cat”,“cats”,“and”,“sand”,“dog”]输出:[“catsanddog”,“catsanddog”]示例2: 输入:s=“pineapplepenapple”,wordDict=[“apple”,“pen”,“applepen”,“pine”,“pineapple”]输出:[“pineappl...

yum-yinstallerlangsocatwgethttps://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpmrpm-Uvhrabbitmq-server-3.6.10-1.el7.noarch.rpmsystemctlstartrabbitmq-server开启rabbitmq网页管理端rabbitmq-pluginsenablerabbitmq_management用户rabbitmqctladd_userchaojilajixxxxxxxrab...

  tU95LmXaBSF2   2023年11月13日   17   0   0 erlangRabbitMQ

首先,利用vmware搭建ubuntu20.04的虚拟机 由于chromium的源码比较大,在git的时候需要分配数据交换的大小,如果小了就下不下来。所以最好给这台虚拟机分配12G内存以上。存储100G以上。ubuntu的iso文件上ubuntu官网下载即可。如果你当前机器本身就是ubuntu20.04,那么这一步就可以跳过。 构建全局上网不受限的环境 由于chromium源码被墙,想要clone下来需要自备全局上网不受限的环境。 本机做代理,ubuntu设置网络代理为当前机器 在本机中执行ipconfig,可以看见VMnet8这张网卡,就是vmware中NAT模式的网卡。 然后在Ubu...

  tU95LmXaBSF2   2023年11月13日   14   0   0 Chromium官网gitUbuntu

上传下载的Postgresql的rpm到服务器,然后执行本地安装yumlocalinstall-y.rpm找打Postgresql的安装文件postgresql-setup什么的locatesetup|greppost进入到目录执行postgresql-setup--initdb启动Postgresqlsystemctlstartpostgresql查看状态systemctlstatuspostgresql连接su-lpostgres激活终端psql重置密码\password参考自:https://www.jianshu.com/p/4da8b0405799查看所有用户\duCREAT...

  tU95LmXaBSF2   2023年11月13日   20   0   0 ide安装postgresqlSQLpostgresql

最近一段时间,在一个前端大佬那里了解到一个构建知识图谱的开源项目,激起了我的兴趣。我之前讨论过如何构建垂直搜索引擎,本质上也是想构建出独特的领域知识。 这个开源项目是​​https://github.com/AISHU-Technology/kweaver​​以这个开源项目为例,我将一步步剖析如何读懂一个开源项目,以及利用各种方法尽可能的去了解这个项目 了解开源协议 什么是开源协议? 该项目的开源协议为 即保留著作权,使用者可以商用。了解开源协议的目的是为了避免自己未来在使用里面的部分代码的时候,出现法务问题。 按说明进行部署 在关注一个开源项目并进行代码审计之前,必须要确保该项目是可以正...

  tU95LmXaBSF2   2023年11月13日   18   0   0 开源容器github开源项目Docker

可能很多朋友会觉得,前端其实是没有必要进行静态代码分析的,殊不知,往往一些关键点会出现在前端代码中,比如前后端交换加密的算法,以及一些接口的使用方法。分析的源项目地址:ps:是一个利用知识图谱构建知识库的开源项目,领域知识的构建。 针对上一篇中的开源项目,这一篇我们开始分析其前端部分的代码。 前端部分的代码在studio/webui下,打开目录,我们可以看到这样一个结构: 抛开Dockerfile和webui.go这样的构建打包文件不谈,这就是一个前端项目的标准结构。 构建前端调式环境 首先,需要了解的一个点是,这样项目的API结构究竟是如何调用的,这类前端工程化的项目一般都会全局配置代...

  tU95LmXaBSF2   2023年11月13日   16   0   0 前端ico开源开源项目Docker

Watch指令:周期性执行别的指令 命令解析 -n代表时间间隔,单位秒-d后跟要监控的指令 常见用法 动态观测内存变化 watch-n5-dfree-h 动态观测存储的变化 watch-n5-ddf-h Screen指令:调试的利器 命令安装 yuminstallscreen 常见用法 创建一个新的screensession screen-Sname 进入到一个新的screensession screen-rname 退出一个screensession 关闭一个screensession 注意事项 该指令不能作为最终生产线的运行模式...

  tU95LmXaBSF2   2023年11月13日   24   0   0 性能调优火焰图DockerCentOS

可能很多朋友会觉得,前端其实是没有必要进行静态代码分析的,殊不知,往往一些关键点会出现在前端代码中,比如前后端交换加密的算法,以及一些接口的使用方法。分析的源项目地址:​​​https://github.com/AISHU-Technology/kweaver​​ps:是一个利用知识图谱构建知识库的开源项目,领域知识的构建。 针对上一篇中的开源项目,这一篇我们开始分析其前端部分的代码。 前端部分的代码在studio/webui下,打开目录,我们可以看到这样一个结构: 抛开Dockerfile和webui.go这样的构建打包文件不谈,这就是一个前端项目的标准结构。 构建前端调式环境 首先,...

  tU95LmXaBSF2   2023年11月13日   18   0   0 前端ico开源ios知识图谱

JavaScript中的this this是JavaScript中一个特殊关键字,用于指代当前执行上下文中的对象。它的难以理解之处就是值不是固定的,是再函数被调用时根据调用场景动态确定的,主要根据函数的调用方式来决定this指向的对象。this的值在函数被调用时动态确定,以下是几种常见的情况: 全局上下文中:当在全局作用域中调用函数时,this指向全局对象。在浏览器环境中,这个全局对象是window对象。 console.log(this);//在浏览器中,输出为Window对象 函数作为对象的方法:当函数作为对象的方法被调用时,this指向调用该方法的对象。 constob...

题目描述 给你两个单词word1和word2,请返回将word1转换成word2所使用的最少操作数。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例1: 输入:word1=“horse”,word2=“ros”输出:3解释:horse->rorse(将‘h’替换为‘r’)rorse->rose(删除‘r’)rose->ros(删除‘e’)示例2: 输入:word1=“intention”,word2=“execution”输出:5解释:intention->inention(删除‘t’)inention->enention(将‘i...

题目 使用下面描述的算法可以扰乱字符串s得到字符串t:如果字符串的长度为1,算法停止如果字符串的长度>1,执行下述步骤:在一个随机下标处将字符串分割成两个非空的子字符串。即,如果已知字符串s,则可以将其分成两个子字符串x和y,且满足s=x+y。随机决定是要「交换两个子字符串」还是要「保持这两个子字符串的顺序不变」。即,在执行这一步骤之后,s可能是s=x+y或者s=y+x。在x和y这两个子字符串上继续从步骤1开始递归执行此算法。给你两个长度相等的字符串s1和s2,判断s2是否是s1的扰乱字符串。如果是,返回true;否则,返回false。 示例1: 输入:s1=“great”,s2=“r...

题目 给你两个字符串s和t,统计并返回在s的子序列中t出现的个数。 题目数据保证答案符合32位带符号整数范围。 示例1: 输入:s=“rabbbit”,t=“rabbit”输出:3解释:如下所示,有3种可以从s中得到“rabbit”的方案。rabbbitrabbbitrabbbit示例2: 输入:s=“babgbag”,t=“bag”输出:5解释:如下所示,有5种可以从s中得到“bag”的方案。babgbagbabgbagbabgbagbabgbagbabgbag 提示: 1<=s.length,t.length<=1000s和t由英文字母组成 思路 统计在字符串的子序列中另一个...

题目 给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例1:输入:height=[0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组[0,1,0,2,1,0,1,3,2,1,2,1]表示的高度图,在这种情况下,可以接6个单位的雨水(蓝色部分表示雨水)。 示例2: 输入:height=[4,2,0,3,2,5]输出:9 提示: nheight.length1<=n<=21040<=height[i]<=105 思路 这个问题可以使用双指针和动态规划的方法来解决,以下是使用双指针的解题思路: 我们可以...

题目描述 给你一个只包含‘(’和‘)’的字符串,找出最长有效(格式正确且连续)括号子串的长度。 示例1: 输入:s=“(()”输出:2解释:最长有效括号子串是“()”示例2: 输入:s=“)()())”输出:4解释:最长有效括号子串是“()()”示例3: 输入:s=“”输出:0 提示: 0<=s.length<=3104s[i]为‘(’或‘)’ 思路 这个问题可以通过使用栈(Stack)来解决。栈是一种数据结构,它遵循"后进先出"(LastInFirstOut,LIFO)的原则,适用于需要保持元素顺序的场景。 解题思路如下: 我们使用一个栈来存储字符的索引,初始化时将-1(用于...

关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~