1 livingsu

尚未进行身份认证

我要认证

SJTU软工小白

等级
TA的排名 23w+

Docker Quickstart Terminal下载过慢:Downloading C:\Users\17538\.docker\machine\cache\boot2docker

这是因为要下载的boot2docker.iso文件在github上,下载很慢。解决办法:(1)先去下载好boot2docker.iso:https://github.com/boot2docker/boot2docker/releases(2)将下载的boot2docker.iso放到下载的文件夹中:C:\Users\17538.docker\machine\cache(3)然后重启Docker Quickstart Terminal就成功了!...

2020-07-31 19:07:32

react聊天组件:用antd和react-chat-element组装的聊天列表

效果图:安装库用到了antd design和github上的一个库:react-chat-element(1)antd design:安装:yarn add antd修改 src/App.css,在文件顶部引入 antd/dist/antd.css@import '~antd/dist/antd.css';即可使用antd的组件(2)react-chat-element:github网址为:Detaysoft/react-chat-elements安装:npm install rea

2020-07-09 10:49:48

数据库事务的四种隔离级别(小白向)

读锁、写锁概念读锁也称共享锁(记为S,即shared-mode lock),写锁也称排它锁(记为X,即exclusive-mode lock)。每个事务对于一个数据项的操作类型要申请适当的锁。相容:读锁和读锁相容,即同一个数据项可以同时被多个事务申请读锁。但是读锁和写锁、写锁和写锁不相容,即如果一个数据项已经被申请了读锁,那它就不能再被申请写锁。四种隔离级别(针对读)关于写锁的处理:写时加写锁(update给更新的行加写锁,insert给新插入的行加写锁),事务结束时放写锁。关于读锁的处理:

2020-06-30 21:50:10

范式BCNF,3NF的判断方法

步骤:1、求出关系模型R的所有候选码2、根据BCNF和3NF的定义进行判断。例题1Consider the following relational schema R(A,B,C).suppose that the only dependencies (functional or multivalued) that hold on the relation in this schema are BC->A, A->C, and all dependencies that follow f

2020-06-26 22:54:15

动态规划求概率期望和高斯消元求解方程组

算法课的project有一道很有意思的题目,是用动态规划求概率期望,其中用到了高斯消元法,特此记录一下。题目:小 Z 来到一个古墓去寻找宝藏。 古墓中有非常多的路口和岔路, 有些路口有陷阱, 小 Z 在每次经过路口 i 的陷阱的时候都要掉 A[i]点血, 而且陷阱是永久有效的(即小 Z 每到一次路口 i 就要掉 A[i]点血) 。 幸运的是, 有一些路口没有陷阱。 可不幸的是, 小 Z 是个路痴, 他完全无法判断他走过哪里, 要去哪里; 他只能在每一个路口随机(等概率地) 走向某一条岔路到达下一个路口。

2020-06-18 10:43:21

linux debian9虚拟机没网的解决方法

VMware 的linux debian9突然上不了网,在网上找了很久的解决方法,最后找到了一个可行的方法。一般来说这种问题是网卡引起的。首先在命令行输入:user@debian:~$ ifconfig来查看网卡。如果没找到ifconfig命令,一般是没开启root:user@debian:~$ su - root注意小横线-的左边和右边都有一个空格!查看网卡后,发现只有一个lo,说明的确是未开启网卡,显示如下:root@debian:~$ ifconfiglo: flags=73&l

2020-06-14 21:04:03

React踩坑:TypeError Cannot read property props of undefined

错误:点击按钮以后想要视情况跳转页面,但是用this.props.history.push()的时候报错TypeError: Cannot read property ‘props’ of undefined错误原因:没有给函数绑定this,函数内部引用this的时候无法解析出this,也就得不到this的属性props了。解决方法:在组件的构造函数constructor中添加:this.函数名=this.函数名.bind(this)(注意函数名不能带括号)...

2020-06-06 20:55:17

2个fetch顺序实行

写前端的时候,有一个需求是先fetch更新,然后再去fetch查询元素。这两个必须要按照顺序执行。但是由于fetch是异步操作的,不能就简单的顺序写两个fetch。错误原因:更新fetch所花的时间比查询fetch的时间更长,即使更新fetch写在查询fetch前面,但这两者是同时进行的,结果就是先查询再更新,不满足要求。解决方法:把查询fetch写在更新fetch的回调函数then中,这样就可以保证先更新,再查询了。当然,由于有回调函数,更新fetch还要添加一个合法的返回值。...

2020-06-06 11:14:43

fetch报错SyntaxError: Unexpected end of JSON input at fetch.then.response

我是在前端react用fetch发送post请求给springboot后端,处理response时出现的这个错误。经过检查,发现是因为springboot后端的返回值是一个Boolean布尔值,而前端fetch用的是json的处理方式。错误原因:因为后端返回的是Boolean类型,不能转化成json对象,所以出错。解决方法:写一个包含错误信息的类,比如Msg,返回这个类就可以了。Msg类不仅可以包含success是否成功处理的信息,还可以包含其他的信息,可以自己视情况添加。后端:前端:控制台

2020-06-06 11:06:30

用Qt实现扫雷

扫雷是很多人都玩过的小游戏,包括我。无奈win10没有了以前xp自带的很多经典游戏,于是我用Qt实现扫雷,并想要进一步了解Qt的有关机制。预览效果:一、游戏基本组件雷区是一个个的小方格,很容易想到这些都是一个个图元,图元有很多参数来表示自己的状态(是否被挖掘、被标记等),鼠标点击到某个图元就触发这个图元的鼠标函数,从而改变它的状态。图片素材来自别人的博客,我直接拿来用了:myIte...

2020-03-10 15:35:49

五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(四)算杀模块的简单实现

一、什么是算杀?为什么要算杀?算杀就是只算杀棋。我用五子棋ai跟别人下了一阵子之后发现,用博弈树看6层深度(模拟ai走4步,模拟人走3步)其实根本不够,因为真正的高手看到的远比6层要多。高手进行谋划以后,一开始走看似“不那么重要”的位置,然后就可以形成双活3或者活4的必杀棋型打败ai。我实现的ai其实还非常短视,也就是只能看到6层以内的利益,而看不到更大的、全局的利益。这里我参考了这位大佬的...

2020-03-04 16:20:43

五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(三)极大极小搜索和α-β剪枝算法

现在我们来到了五子棋ai的核心环节:极大极小搜索和α-β剪枝算法。这两个东西听上去挺高大上,但我实际中去实现之后才发现,原来也就是那么回事。一、极大极小搜索什么是极大极小搜索?我首先要介绍博弈树的概念。博弈树就是己方和敌方进行决策时形成的树状结构,每一个节点的分支表示当前节点可以走的各种可能的位置,每一个叶结点表示一个局面。比如说,从空棋盘开始(根节点),我进行落子,我有1515=255种落子...

2020-02-27 22:02:49

五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(二)贪心算法和评估函数

我查找了大量的网上资料,结合自己编程实践,走了很多弯路,总结了一些关于五子棋ai的经验以供大家参考借鉴。一、贪心算法(相当于ai只思考一步的情况)对于五子棋ai,大部分人想到的是做一个评估函数。这里的评估函数网上大概有两种,但是很多人会弄混淆。第一种我称为K函数(只是一个代号,与第二种相区别),是对一个可走的空位子进行打分,如果ai白子落在这个空位置的分数越高,说明这个位置就越好,每次ai走...

2020-02-27 18:15:36

五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(一)引言和界面设计

引言alphaGo击败围棋冠军李世石的新闻让我对棋类博弈产生了浓厚的兴趣,无奈本人不会围棋,但算是一个五子棋业余爱好者,于是乎希望通过实现一个五子棋ai来了解相关算法和知识。五子棋在英文中又称Gobang,five-in-row,还有两个称呼:gomoku和renju(连珠)。我来简要介绍一下区别。由于五子棋已经被机器严格证明了是一种**“不公平”的游戏,先手黑子是绝对占优的,并且先手有必胜*...

2020-02-27 16:47:45

qt c++实现的ai贪吃蛇吃满屏幕,超详细!(二)ai的具体实现

不同的人写的界面不同,我就不讲ui界面了,直接讲ai蛇的具体实现。实现绘制和更新等游戏功能的类是drawWidget,由于这个类里面的东西太多太杂,我只把和ai有关的部分放上来,如果你想了解更多,可以看我的完整代码,放到了GitHub上:一、ai思路在有障碍的方格图中搜索两点之间的一条路径,有bfs算法和a*算法。我用的是bfs算法,后面会讲bfs的实现。那么有了这个bfs就好办了。蛇怎么...

2020-02-23 16:17:17

qt c++实现的ai贪吃蛇吃满屏幕,超详细!(一)基本组件

这是我作为小白的第一篇博客。由于疫情宅在家里没事干,我重写了大二上的贪吃蛇ai,实现了吃满屏幕。效果图如下,即使是很大的地图(41*41=1681)也能吃近似满。  现在看来仍有许多不足之处。话不多说,直接开始。软件用的是qt,下面我假设你已经熟悉了qt的特性,比如信号和槽机制和重写事件等。游戏基本组件类基本组件有地图类、蛇类、食物类这3个类。我把它们都放到component....

2020-02-23 10:31:57
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。