自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

漏れた玩具博客

主要是自己关于Java,python,算法数据结构, 计算机系统等系列的分享

  • 博客(50)
  • 收藏
  • 关注

原创 对于DFS,BFS,A*与IDA*等寻路算法的总结跟感悟

一周前看见了贪吃蛇AI算法,受到震撼于是就把以前的win32贪吃蛇加了个AI实现,让我这个渣渣写了好几天才完工,终于能吃完全屏了,虽然离自己看的那个贪吃蛇AI的gif还有些距离emmmm,贪吃蛇AI不可避免的用到了寻路算法,所以今天当做复习总结提一提, 不说了,进入正题吧,常见的搜索有深度优先搜索,广度优先搜索,迭代加深搜索,双向广度优先先搜索,A*搜索,IDA*搜索等,这些搜索分为盲...

2018-01-01 12:17:57 11632 2

原创 AWS的SQS队列教程

基本架构queue标准队列 标准队列保证消息至少被传输一次,但无法保证只有一次, 队列会最大努力保证消息是有序的。 性能sqs的标准队列提供每秒近乎无限的api调用(SendMessage、ReceiveMessage 、 DeleteMessage、SendMessageBatch, DeleteMessageBatch)FIFO队列FIFO队列是基于标准队列的, 它保证消息的顺序按先进先出的顺序严格一致..

2021-08-23 16:03:07 4595

原创 【springboot原理】消灭xml,ssm项目改零配置,顺便内嵌tomcat

这篇文章会告诉你,怎么一步步消灭spring,mybatis以及springmvc的xml,同时也会给出保持xml的方法,只需要消灭你想消灭的部分就行了,顺便学springboot内嵌tomcat。xml用着是这真的烦,顺便最近看了些springboot源码,然而有些项目还是ssm的,不好换springboot。因此就就尝试把旧的ssm项目改造,这篇文章注重于应用,会尽量告诉你这东西是干嘛的。而不会讲源码,如果有兴趣,等下次有机会再拉出来讲吧,让我们开始吧。maven依赖<?...

2020-08-08 19:23:58 747 1

原创 分布式事务:使用Rabbit的最终一致性解决方案(附源码)

都知道分布式事务是个难题。解决方法有很多,由于本人比较熟悉RabbitMQ,但是网上使用rabbitMQ实现的资料太少了。。只找到了几张图,因此自己写了一个,这里使用RabbitMQ来解决,是基于独立消息的最终一致性解决方案。跟本地消息的最终一致性解决方案不同,把消息处理者从生产者中抽取出来,防止生产者宕机直接白给的情况。如果有不了解的,请先看这个https://www.cnblogs.com/myseries/p/10819804.html使用的技术有SpringBoot,Mybatis,Re...

2020-07-31 13:59:28 806

原创 使用原生java手写一个简单web服务器

最近由于网络编程课程的结课,要求我们写一个大作业,要求使用socket,文件读写以及协议编程写一个项目。我就想着python的nio玩过,但还没怎么用java的nio写一个项目,于是灵机一动,花了将近两天,写了个简单的web服务器。代码方面没有导入其他包,而使用jdk自带工具包。下面看成果图目录成果截图项目结构实验原理ConnectorHTTPRequestHTTPResponseControllerSessionFactoryUserSet成果...

2020-06-12 20:10:48 1052 1

原创 手把手教你部署读写分离的mysql,使用docker-compose

我们都学过mysql,并且经常使用,但可能不少人都没实际做过读写分离,今天使用docker跟docker-compose,进行读写分离的部署。我尽量每步都写出来,如果没写完的,我下次想起来再补。首先,需要说明的是,我们使用的是linux系统,当然如果你使用的是windows理论上也是没问题的,不过你需要安装windows 的docker跟docker-compose安装软件...

2020-01-05 22:16:05 1438

原创 https为什么是安全的?通俗易懂讲解非对称加密,数字签名与数字证书

这几天在看django源码,发现一些关于加密的问题,因此结合已知的一点密码学知识跟几个小时的网上查找,总结出了此文章。我们都知道https就是http上使用了加密,因此在chrome上,会标记http是不安全的,因为它是明文传输的,而https是安全的。那么,为什么https是安全的呢?它的传输究竟是怎么做的?下面我们需要先普及几个概念明文传输http,就是使用的明文传输,也就是...

2019-09-20 22:14:57 968 2

原创 计算机组成原理复习笔记

富文本没有word这么多格式,这点真的有点烦。。。用word转富文本后一堆出问题的,凑合着看吧运算器数据格式整数:由符号位与量值组成。浮点数:按IEEE754标准,32位与64位的数据格式如下: 31302322...

2019-06-25 15:47:23 2496

原创 一文学习数据库系统概论

过几天要考数据库了,于是把书里的概念整理一下,本文将关于不涉及SQL的操作(这部分操作知识记得比较牢,所以没复习)。目录1绪论1.1数据库的4个基本概念1.2数据库系统的优点1.3数据库1.4数据模型1.4.1第一类:概念模型1.4.2第二类:逻辑模型与物理模型1.5数据模型的...

2019-05-28 15:46:54 1049

原创 理解Python的GC垃圾回收机制,让你写出更好的代码

GC(Garbage Collection)的好处GC(垃圾回收机制)毫无疑问是编程史上的一次革命,在没有垃圾回收机制的C/C++时代,经常造成内存泄漏(反正我C++是被内存泄漏玩哭了)而使程序员bug改到崩溃。所以当GC出现时,人们沸腾了,因为程序员再也不需要考虑内存泄漏的问题,可以好好关心业务代码了,这是多么可喜可贺的事啊。就像你家雇了个保姆,你现在可以专心做喜欢做的事,不用去打扫了一样,...

2019-05-21 20:47:16 947

原创 深入理解mysql中的B-tree索引以及查询类型

学过mysql的估计知道,mysql中具有索引功能,通过索引我们能更快的得到数据。而mysql的索引使用的数据结构,没有特别说明,都是用的B-tree(更进一步说是B+-tree),当然也有hash索引,位图索引,R树索引等。但是绝大多数还是B+树索引B树B-tree即B树,不是B减树。。中间的横杆只是分隔符。B树是一种平衡树,如下:B树的特点很明显,与二叉排序树,AVL树,红黑树...

2019-04-09 14:40:46 546

原创 git合并部分文件到另外一个分支

文章背景再使用git的路上你可能会遇到,git合并部分文件到另一个分支的需求。之前我就遇到了,我的master分支是只提交部分文件的,但是我有一个新分支存放了全部文件。这就产生了问题,但是当我切换分支后,忘记换回master分支。切会master分支的话,工作区的新文件又会消失。因此我google了近一个小时。。。结果全是使用checkout强制覆盖文件的。要不就是直接合并的。。。现在想起来,...

2019-03-31 19:26:43 4435

原创 在pycharm中使用scrapy的各种注意问题

首先,先说结论,别把虚拟环境放到中文路径中!!有空格的路径我试了下还是可以的,而且windows中默认就有一些路径带空格安装scrapy昨晚,重新安装scrapy,以为以前安装过,应该简单得一笔。可是并没有如我所愿,主要是因为虚拟环境与pycharm。安装中出现Failedbuildwheelfor TwistedMicrosoft Visual C++ 14....

2019-03-01 12:47:50 1721

原创 手机跟电脑居然是同一IP地址,你知道是怎么上网的吗?

起因某一天,我突然发现,电脑跟手机的IP地址居然一模一样,所以引起了我的好奇心。所以有了下面这篇文章IPV4 很久很久以前,一群聪明的程序员,为了方便网络中交流,发明了IP地址,经过激烈讨论,考虑了人口,成本,速度等多个因素后,规定了IP地址有2^32个(大约40亿个),觉得这个数量完全够用了,而且这个数量比较节约成本,他们满意的把这第四版IP地址叫做IPV4。NAT...

2019-02-18 21:22:55 17024 6

原创 麦麦本重装win10无限自动关机,甚至pe进去后都自动关机问题

问题——自动关机先祝大家元旦快乐,昨天是2018最后一天,室友的电脑出现了问题。没想到我一个软件专业的竟沦为修电脑emmmm。他说:电脑放着突然自动关机,然后开机就再也开不了了,我看了下在开机的logo那转几圈就自动关机。无限循环。他的电脑是麦本本。如果想马上知道解决方法的朋友请直接跳到最后看。进pe瞬间自动关机我想了下,可能是硬盘出现坏道之类的问题,便进pe弄了一下。但是...

2019-01-01 16:00:10 4813

原创 记一次修复朋友电脑的问题以及deil inspeiron 5459u盘启动

电脑朋友一直卡慢,开机更是久,然后还说爱奇艺看视频偶尔会崩溃,更有时会进入硬盘自检。硬盘多个柱面损坏我拿到电脑后,扫了一下硬盘。发现C盘多处损坏,且分散,我看是没救了。因此把C盘分割成几个小盘,坏的扇区周围10%的空间我直接删除,因为扫到坏不一定坏的只有那个柱面,可能周围柱面也是坏的。然后我找了块连续完好的空间当做系统盘 吐槽一下戴尔,自动功能太强,让我这种外行人有点尴尬...

2018-12-30 19:57:34 514

原创 图解git的reset跟以及撤回add以及commit命令

首先,工作区即我们能看到的文件夹的文件,暂存区则是git用来缓存的区域,版本库就是git每次commit后的保存的地方。 如图就是各命令执行后的情况,至于分支情况,就等下次有机会再说吧撤回git add撤回上次所有addgit reset HEAD撤回上次add的某个文件git reset HEAD 【文件路径】 撤回git commit如果只是comm...

2018-12-30 18:39:53 478

原创 MVC, MVP, MVT, MVVM的区别

看到这篇文章的人,我觉得至少MVC是听过的。但是,当你百度区别,可能有点搞不清楚,那种是MVC,哪种是MVP。因为,MVC从出生到现在,已经经过多次变形,甚至,有人把MVP当成MVC的一种情况,也算MVC。这篇文章会尽量着重讲清楚为什么需要这些改变MVCMVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写...

2018-12-02 23:23:36 1732

原创 mysql增删改查思维导图

 

2018-12-02 21:56:57 686

原创 双指针算法以及各种应用

这里双指针指的是在同一个可迭代对象a中使用两个迭代器(下面用i,j)。反正就要能类似数组这样使用索引i, j来得到对应的值a[i], a[j],然后通过移动i跟j达到目的。下面以数组为例常见的使用方法有几种:1. i跟j在数组的两边开始,用来把数组分成两部分这个我们早遇到过了,我第一次遇见它被用来分成大于最左边的数(基准数)跟小于最左边的数两部分。不过它结合了分治法导致你可能没发现...

2018-11-27 13:23:10 1087

原创 myeclipse10中使用maven创建springboot项目

踩了好几天坑,终于可以运行了,囧。特出此篇尽量回忆总结一下. 安装配置Maven首先,下载maven。http://maven.apache.org/download.cgi自己选择一个版本,这里选择的是3.6.0解压后是这样的(黑色涂掉部分是没有的)在Maven的安装目录下的conf目录中找到setting.xml文件,打开该文件,找到&lt;localRepos...

2018-11-11 20:25:07 1749

原创 经典DP:测试鸡蛋承受力

现有鸡蛋N个,M层楼,要测试这批鸡蛋的承受力, 即测试这批鸡蛋最多从几楼扔下去后没事,最少测试几次能保证测出蛋的承受力。  这题要“最少”“保证”测出这批蛋的承受力。因此,我们要找到所有方式的最坏情况中次数最小的。代码思维上可以这么理解for 方式i in 所有方式: for 情况j in 所有情况: 通过找到所有情况中最大次数,找到最坏情况 ...

2018-11-03 15:43:36 910

原创 关于java环境变量设置以及myeclipse破解激活问题

踩了很多坑,因此记录一下解决步骤此文章会涉及几个问题1. 多个版本jdk如何配置java环境2.使用激活文件激活myeslipse时遇到ACTIVATION_KEY null的错误3.运行激活文件里的run.bat跳出黑窗口后没有反应,或者javaw -jar xx没有运行程序4.使用破解软件后,到期日期已更改,但仍然提示需要激活以上两个错误都跟环境变量的设置有关,当然也可...

2018-10-26 14:51:28 526

原创 网络简介:网卡跟路由器是如何让你上网的——《码农翻身》阅读笔记

联网是这样的,首先,你的电脑上必须要有网卡,否则上不了网。这章是动态拨号上网每个网卡都有一个固定的MAC(Media Access Control)地址。也称为物理地址。MAC地址由产商决定,就像身份证号码,一般不可更改。如:11:27:F5:8A:79:54 可是知道MAC地址是不能上网的,除非知道IP地址。所以第一件事——获取IP地址通过DHCP服务器获取IP地址只知道自己...

2018-08-18 21:04:55 307

原创 django2.0链接MYSQL 8.0的root更改密码问题.。出现的(1045, (using password:NO))玩死我

非常感谢这篇文章救了弄了一个下午的我,https://blog.csdn.net/M_C_ing/article/details/80412165环境是WIN10的64位,MYSQL8.0, Django2.0.3错误1: django.db.utils.OperationalError: (1045, "Access denied for user 'root'@'localhost' ...

2018-08-16 21:27:21 2563 1

原创 最大的算式

题目描述 问题描述  题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如:  N=5,K=2,5个数字分别为1、2、3、4、5,可以加成:  1*2*(3+4+5)=24  1*(2+3)*(4+5)=45  (1*2+3)*(4+5)...

2018-08-03 19:50:52 1426 1

原创 《一个64位操作系统的设计与实现》阅读笔记: 第一个操作系统的运行

废话不多说,直接上boot.asm文件代码 org 0x7c00 ;设定引导起始地址BaseOfStack equ 0x7c00 ;设定常量BaseOfstack为0x7c00Label_Start: mov ax, cs mov ds, ax mov es, ax mov ss, ax mov sp, BaseOfStack ;栈顶设置为0x7c00...

2018-07-29 17:56:51 8552

原创 《一个64位操作系统的设计与实现》阅读笔记:centos7下bochs安装与环境搭建

折腾了两天,才把这环境什么的弄好,跟运行第一个系统。中途出现问题贼多,在这里尽量回想总结。具体步骤如下环境:VMware下安装的centos7.3安装bochs0.输入命令安装以下几个库  sudo yum install gtk2 gtk2-devel  sudo yum install libXt libXt-devel  sudo yum install libXp...

2018-07-29 17:31:59 5379 3

原创 表达式的值, 表达式计算器

 问题描述  输入一个只包含加减乖除和括号的合法表达式,求表达式的值。其中除表示整除。输入格式  输入一行,包含一个表达式。输出格式  输出这个表达式的值。样例输入1-2+3*(4-5)样例输出-4数据规模和约定  表达式长度不超过100,表达式运算合法且运算过程都在int内进行。 这道题很偏向应用,因为这是计算器的常见写法。或者说底层计算器...

2018-07-25 23:16:46 626 1

原创 数的读法

python看累了,去看了下以前自己写的C++算法代码,感觉写得复杂了,所以改进了下思路。顺便做一次记录。数的读法这题,难度不是很大,但是考虑的情况较多,以前写的很费时间。这次想写得短一些/* 题目;输入数字,打印它的中文读音 0要做特殊处理,因为0读出来不会加位数。且多个0连续时只读一次 1要做特殊处理,遇到十时,不读。十亿。不是一十亿, 位数的特殊情况:全为0时可以不...

2018-07-22 21:37:19 1353 2

原创 一文学会使用selenium, 并实现登录挂英语网站不掉线

本文用于快速入门或者复习selenium的webdriver但不讲解如何安装selenium以及ChromeDriver先教一些简单功能,各函数功能在注释里from selenium import webdriverimport time#访问百度首页first_url = 'http://www.baidu.com'print("正在访问%s" % (first_url))drive...

2018-07-02 00:35:12 586

原创 编辑距离DP算法

偶然看到这道经典题,顺便复习下DP, 由于懒得做图,所以,需要图片或者其他讲法,请参考这篇https://blog.csdn.net/chichoxian/article/details/53944188。 可能你需要配合这位作者的图片才能更好理解有两个字符串str1跟str2, 设他们的最短距离为str1变为str2的操作最小次数,有以下三种操作1. 插入字符,如abc  -&gt; abcd2...

2018-06-30 21:23:22 1266

原创 输出矩阵每行都出现的字符

没事刷一道算法题目,这是道水题,但还是挺有趣的题目描述输入一个n*m矩阵,输出矩阵每行都出现的字符,如果有多个,输出字典序最小的字符思路都写注释里了/* 输出每行都出现的字符,如果有多个,输出字典序最小的 思路:记录每个字符最后一次出现的行数(通过判断每行上次出现是在上一行) map可以输出字典序最小的, 底层红黑树会自动排序 伪代码: 遍历数组第 i 行 遍...

2018-06-26 21:59:00 296

原创 约瑟夫环

没事看看以前的算法看到约瑟夫环这道题,是看了https://blog.csdn.net/u011500062/article/details/72855826才学会递推公式的,记得当时一开始用循环链表超时,后来自己的想法是用每次取余,再前移消掉那些项。也很麻烦,后来百度了之后才知道约瑟夫环N个人围成一圈,第一个人从1开始报数,报M的将被杀掉,下一个人接着从1开始报。如此反复,最后剩下一个,求最后的...

2018-06-24 22:09:24 171

原创 python构造自己的字典

代码参考《500 lines or less》, python要像字典一样实现,, 主要在自定义类中实现以下几个方法讲解都注释在代码中了, 其中_tree是底层数据结构,源代码是用普通二叉树实现的,python字典底层数据结构貌似是hash,当然,你也可以用个AVL树,红黑树, B+树,等实现底层数据结构。主要是能实现键-值对应的数据结构就行了...

2018-06-23 22:31:22 2207

原创 关于Can not connect to the Service chromedriver

今天selenium遇到这个错误。。搞了一个早上,以为是chromedriver版本对应不对,后来尝试火狐之类的,都没成功。。。最终发现,原因出在两个,1. C:\Windows\System32\drivers\etc目录下的hosts文件不知道什么时候被修改了。解决方法:打开文件,居然空空如也。。(后来使用软件恢复后发现有的也只有注释,跟空空如也没区别)添加下面一行127.0.0.1     ...

2018-06-23 13:53:25 3287 1

原创 CentOS7.x忘记用户或者root密码, 解决单用户模式下修改密码不生效的问题

 忘记用户密码,root密码进入单用户模式:https://blog.csdn.net/zhangatle/article/details/78669926chroot /sysroot/passwd root (也可换成其他用户)touch /.autorelabel步骤2出现乱码的问题,那是因为系统是中文的, 解决方法切换英文命令:LANG=en本人在一次Centos7.3单用户模式下改用户密...

2018-06-19 16:19:09 9318

原创 classmethod类方法跟staticmethod静态方法,看这一篇就够了

不浪费时间,直接先上结论:1.使用@staticmethod目的之一是为了增加可读性,不需要参数self的方法都可以加上@staticmethod增加可读性,因为,这个方法是类级别的,在调用时要使用类名。2.使用@classmethod是为了处理一些__init__处理不了的赋值问题(一般是参数不对应),你可以当成,有第二,第三个__init__方法,当然它要通过类名显示调用...

2018-06-16 18:26:26 9408 6

原创 详解闭包与装饰器, 99%的人看了这篇文章后就懂了

我觉得在开始学一种东西时,应该用20%的时间读取80%的基础内容,剩下20%的内容需要用80%的时间才能深入理解,这篇文章就是让你用20%的时间读取80%的内容的本文参考https://foofish.net/python-decorator.html在python这种动态语言里,一切都是对象,包括函数也是对象,所以便有了闭包由于本人见识浅短,如果错误请各位大佬指正,非常感谢!...

2018-06-15 14:10:41 7972 5

原创 那些让你快速升级的python大牛写的优美代码(2)

这里的代码出自神书《500 lines or less》,每一章都由各领域大牛编写而成今天来说说继承与多态。学过C++的都知道虚函数(方法)来实现多态,那python如何实现好呢,方法一就是,使用断言使用断言 False, 使派生类在继承时,如果没有实现此方法,则抛出AssertError,从而把基类定义成抽象类可能有人不知道断言是什么,断言就是,我认为这就是对的。python就是:assert ...

2018-06-14 12:46:47 964

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除