像vue处理大量的表单数据时(涉及到深度克隆),处理的思想可以将深度克隆转变成浅度克隆,
也就是在哪里用到的时候,再用浅克隆将它取出来使用;
当有几十万条的数据时,如何高效的将他们筛选出来?
最主要的思路就是筛选,当我们将条件分的很细的时候,筛选出来的数据可能会很少,就像百度搜索页面一样,
看着有上百条或者上千条的搜索记录,实际上通过筛选出来符合条件的就很有限,这样我们就达到了高效率的筛选;
然后筛选出来的数据会存在数据库中,接着数据库利用自己的特性(数据库中的指针)来将它分成几页,
比如我将1-20数据分为一个页面,20-40又是另一个页面…
关于在工作中如何合理的使用git?
在工作中遇到的问题:别人线上的仓库叫upstream,他们的分支叫dev;我线上的仓库叫origin,我的分支叫dev,
当别人更新线上仓库的版本时,此时如果我git pull –rebase upstream dev的话,然后再git push origin dev就会
出现问题(会报错并提示你当前版本落后于远程线上版本)
解决办法:
a. 少部分代码修改的情况下(比如给自己定一个2个小时以内的,因为此时别人可能还没有更新代码版本),我们可以使用
git pull origin dev(注意不要添加–rebase),具体方法如下所示:
git pull –rebase upstream dev
git push origin dev
当自己本地代码修改完之后
git add .
git commit -m “……”
git pull origin dev(注意不要添加–rebase)
b. 大面积代码修改的情况下(比如已经超过2个小时候编程的情况下),
思想:我们可以先切一个分支出来(在这里我给这个分支取名叫newDev),然后在新创建的newDev分支上进行操作,
首先先拉取别人线上的分支,然后再拉取自己线上的分支,当自己本地代码写完之后我们可以将自己本地和自己线上
分支进行一个合并,最后再提交到自己的线上仓库中
具体方法如下所示:
git checkout -b newDev
git pull –rebase upstream dev
git pull origin dev
git push origin dev
如果当别人线上仓库更新时,我们需要执行的指令是:
git pull –rebase upstream dev
c. 在上面两个方法无法解决的时候,或者找不到更好的方法解决时,我们可以使用强推的方法将其上传到自己远程的仓库中
注意:该方法慎用,因为这样会出现你将别人的代码重复提交以及代码覆盖的问题
git push -f origin dev
如果此时你使用强推的发放还是不行的话,可能是因为你的线上仓库有一个保护,此时我们可以将这个保护取消(具体做法:setttings ->
Repository -> Protected Branches -> Unprotect)
再补充一张工作中合作的流程图:
如何使用git命令工具解决你和你的小伙伴代码版本不一致的问题?
思想:首先拉取别人线上远程仓库,此时会有冲突,我们就在vscode里面一步一步的解决冲突,当所有的冲突都解决完之后我们再
提交到自己线上仓库中,然后你在自己线上仓库中发MR(Merge Requests)给指定的人A,指定人A在线上解决完冲突之后会给你合
作小伙伴说你可以拉取线上代码了,然后你的合作小伙伴再执行和你一样的步骤;最后你和你的合作小伙伴都再拉取一下别人线上远
程仓库,就可以实现你们两的代码版本一致了(别人线上仓库叫upstream,然后分支名叫dev;自己的线上仓库叫origin,然后分支名叫dev)
a. git pull –rebase upstream dev
b. git rebase –continue
解决冲突,当所有的冲突都解决完之后再进行下面的操作(如何查看自己冲突是否解决完?可以利用vscode工具下面的源代码管理,
它的快捷键是ctrl+shift+G)
c. git add .
然后重复执行b和c的操作,直到vscode工具下面的源代码管理中不再出现合并冲突,或者使用git命令行工具git rebase –continue
发现下面没有内容,此时我们的冲突就解决完了,然后我们就可以将自己本地的代码上传到自己线上的仓库上去
d. git push origin dev
e. 在自己线上仓库发MR给指定人A,等待指定人A冲突的合并
f. 等待你的小伙伴执行相同操作,当你们两的冲突都解决完之后,最后你们两再拉取一下别人线上仓库即可
git pull –rebase upstream dev
git pull –rebase upstream dev和git pull upstream dev的区别
当执行git pull –rebase upstream dev和git push origin dev之后提示你当前版本落后于线上版本时,你可以使用
git pull upstream dev来进行解决。因为提示你当前版本落后于线上版本时,是因为git pull –rebase upstream dev
会打乱当前的时间顺序
可以网上搜索看看restful风格