自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(105)
  • 收藏
  • 关注

原创 判断一个字符串中是否含有指定字符串——JS实现

判断一个字符串中是否含有指定字符串的方法共有三种:string.indexOf()string.search()正则

2019-09-11 14:34:38 656

原创 跨域问题

跨域是什么?为什么要跨域?跨域引发了哪些问题?为什么会有这些跨域问题?如何解决这些跨域问题?以下内容主要是回答上面的几个问题。1、跨域是什么?跨域,简单来说,就是指从一个域名去请求另外一个域名的资源。严格一点来说就是只要{协议,域名,端口}三元组中有任何一个不同,就被当作是跨域。2、为什么要跨域?在实际开发中,前后端常常是相互分离的,并且前后端的项目部署也常常不在一个服务器内,...

2019-09-01 10:44:13 278

原创 【git命令】重写提交说明 git commit --amend && git rebase -i commit-id

git commit -m “提交说明”修改最新提交的提交说明git commit --amend进入最新提交的提交说明编辑页面,用户可以随意修改,然后退出保存修改历史提交的提交说明git rebase -i commit-id...

2019-07-09 22:33:42 1961

转载 A记录和CNAME记录——【网络】

1、什么是域名解析?域名解析就是国际域名或者国内域名以及中文域名等域名申请后做的到IP地址的转换过程。IP地址是网路上标识您站点的数字地址,为了简单好记,采用域名来代替ip地址标识站点地址。域名的解析工作由DNS服务器完成。2、什么是A记录?A (Address) 记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设...

2019-06-25 07:07:16 4896

原创 包的导入——Golang

所有Go语言的程序都会组织成若干组文件,每组文件被称为一个包。这样每个包中的代码都可以作为很小的复用单元,被其他项目引用。所有的.go文件,除了空行和注释,都应该在第一行声明自己所属的包。导入包需要使用关键字import,他会告诉编译器你想引用该位置的包内的代码。如果需要导入多个包,习惯上是将import语句包装在一个导入块中。建议多个包名按照首字母的顺序进行排列。代码示例:import ...

2019-06-02 14:59:27 536

原创 命令源码文件——Golang

命令源码文件:1、独立程序的入口2、属于main包,包含无参数和无结果的main函数3、main函数执行的结果意味着当前程序运行的结束4、同一个代码包中不要放多个命令源码文件,同时命令源码文件和库源码文件也不要放在同一个代码包下5、可以通过go run命令来执行,可接受命令参数下面具体讲解下第四点和第五点。4、同一个代码包中不要放多个命令源码文件,同时命令源码文件和库源码文件也不...

2019-06-02 14:17:53 287

原创 源码文件——Golang

源码文件包括命令源码文件,库源码文件和测试源码文件

2019-06-02 09:20:45 320

原创 golang正则表达式写法

首先讲正则表达式然后分析golang中regexp包的用法

2019-05-11 20:32:24 2050

原创 Linux nc命令

使用场景示例在进行开发的过程中,我们需要把本地的文件上传到测试环境进行部署测试。这时可以使用nc命令在两台机器间传输文件。用法如下:# 把192.168.18.2机器上的test.go文件传至192.168.18.3机器上# 在192.168.18.3机器上执行nc -l 8999 > test.go#在192.168.18.2机器上执行nc 192.168.18.3 8999...

2019-05-11 15:29:36 1406 2

原创 【git操作】强制切换到本地某个分支

当我们在使用git checkout 命令时,如果本地有修改的代码没有提交,则无法切换分支,git会提示你本地有未提交的代码,本地修改会被覆盖:这时候如果是要保留本地的修改,则操作步骤如下:git statusgit add .git commit --amendgit checkout newBranch即先提交本地修改的代码,然后再切换分支。如果希望强制切换,即放弃本地修改...

2019-05-05 17:04:37 36953

原创 GoLand 如何设置编码格式

GoLand编译器的编码格式默认是UTF-8,如果要修改,可以根据如下步骤进行操作第一步:GoLand->preferences第二步:Editor->File Encodings,修改编码方式,这里选择gb2312有时候不知道在哪里进行设置,我们要善于利用搜索。比如编码,我们可以直接检索Encode,然后能够找到相关设置。具体如下:...

2019-05-05 12:22:46 8458

原创 【读书笔记】高效程序员的45个习惯——第四章 交付用户想要的软件

10、让客户做决定在设计阶段,做决定的时候必须有开发者的参与。但是,在一个项目中,他们不应该做所有的决定,特别是业务方面的决定。开发者(及项目经理)能做的一个重要决定是:判断哪些是自己决定不了的,应该让企业主来做决定。你不需要自己给业务上的关键问题做决定。毕竟,那不是你的事情。如果遇到一个文图,会影响到系统的行为或者如何使用系统,把这个问题告诉业务负责人。如果项目领导或经理试图全权负责这些问题...

2019-05-04 22:31:04 184

原创 【读书笔记】高效程序员的45个习惯——第三章 学无止境

5、跟踪变化(1)迭代和增量式学习每天计划用一段时间来学习,它不需要很长时间,但需要经常进行。记下那些你想学习的东西——当你听到一些不熟悉的术语或者短语时,简要的把它记录下来,然后在计划的时间中深究它。(2)了解最新行情社区讨论、邮件、优秀的技术博客等大量的学习新技术的资源(3)参加本地的用户组活动讲座,并积极加入问答环节(4)参加研讨会议(5)如饥似渴地阅读你能嗅到将要流行的新...

2019-05-04 22:21:08 235

原创 【读书笔记】高效程序员的45个习惯——第二章 态度决定一切

1、做事出了问题,不要抱怨,要想办法解决,指责抱怨不能修复bug。把矛头对准解决问题的办法,而不是人。可以先从自己做起。如果一个开发者带着抱怨或问题来找你,你要了解具体的问题,询问他你能提供什么样的帮助。这样简单的一个行为就清晰得表明你的目的是解决问题,而不是追究责任,这样会消除他的顾虑。你是给他们帮忙的,这样,他们会知道,当它们每次走近你的时候,你会真心帮助他们解决问题。勇于承认自己不知道...

2019-05-04 22:17:08 366

原创 IDEA使用技巧 - 修改项目名称和模块名称

修改项目名称步骤1:File->Project Structure->Project修改Project name即可修改项目名称修改模块名称

2019-03-01 21:12:19 24917 4

原创 Go语言中import后的下划线的作用

使用GoLand编译器时,为了引入fmt这个package,编写import "fmt"代码。编译器给出如下提示:即未在代码中引用fmt包中方法,go语言中对于没有使用的包及没有使用的变量,都会提示错误。编译器给出的解决方法如下图所示:选择Import for side-effects后“fmt"前会多一个下划线首次接触Go语言,对这里出现的下划线很好奇。查阅资料后,明白了下划线的作用...

2019-02-13 07:41:24 3306

原创 Go语言安装及环境变量配置(Windows)

步骤一:Go语言SDK下载和安装下载地址:https://golang.org/dl/下载go1.11.5.windows-amd64 .msi文件后,点击安装。步骤二:Go语言环境变量配置安装Go语言需要配置的环境变量有GOROOT、GOPATH和Path配置GOROOTGOROOT的变量值即为GO的安装目录配置GOPATHGOPATH的变量值即为存储Go语言项目的路径配...

2019-02-10 09:42:25 39651 7

原创 Exception和Error的区别——每天五分钟搞定Java面试

完全

2018-12-25 20:06:06 402

原创 IDEA使用技巧 - 查看类的继承关系

1、查看向上继承关系这里是查看Throwable的继承关系,右键->Diagrams->Show Diagrams,即可在一个新的菜单窗口中看到Throwable的继承关系图,显示Throwable的父类。Show Diagrams和Show Diagrams Popup的区别是显示的继承关系图是在新窗格中打开,还是浮于顶层。2、查看向下继承关系方法一:在Idea中一个类的...

2018-12-25 15:35:42 5796

原创 Java7 try-with-resources

阿里巴巴Java开发手册中关于异常日志的处理,有一条规范是:finally块必须对资源对象、流对象进行关闭,有异常也要做try-catch。如果是JDK7及以上,可以使用 try-with-resources。在讲解 try-with-resources之前,我们先看下利用try-catch-finally进行异常检测和资源管理的方式。参考:http://ifeve.com/java-7中的t...

2018-12-25 14:48:40 207

原创 Java8 函数式接口

本篇文章主要从三个方面对函数式接口进行描述,分别为定义、声明和用途。定义函数式接口(Functional Interface FI):只含有一个抽象方法的接口为函数式接口。注:接口中的声明的方法,默认的修饰符是public abstract接口中的定义的变量,默认的修饰符是public static final声明Java8提供了@FunctionalInterface注解, 为了...

2018-12-25 13:37:57 165

原创 重构

本文主要从以下几个方面宏观介绍重构1、什么是重构?2、为什么要重构?3、怎么进行重构?什么是重构?重构的定义:重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。从名词形式和动词形式的两个定义可知,重构的前提是不改变软件可观察行为,基于这个前提...

2018-12-21 16:02:01 455

原创 linux下MySQL重置密码

对于安装时忘记设置密码,mysql会自动生成一个密码串。如果要进行修改,可以参考下面这个博文。https://blog.csdn.net/qq_38737992/article/details/81090373除博文介绍的方法外,还可以使用如下方法:sudo mysqladmin -u root -h localhost -p password “newPwd”引号中的内容是新密码,这...

2018-11-16 10:31:15 490

原创 quartz cron表达式

CronTriggerCronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表。CronTrigger,你可以指定触发的时间表如“每星期五中午”,或“每个工作日9:30时”,甚至“每5分钟一班9:00和10:00逢星期一上午,星期三星期五“。即便如此,SimpleTrigger一样,Cr...

2018-11-15 15:23:29 195

原创 i18n是什么意思

在github上下载的源码,发现好几个过程都有i18n这个文件夹,查了一下为何如此命名,发现原因很有趣i18n是 Internationalization 这个英文的简写,国际化的意思,而Internationalization去掉头尾的i和n刚好还剩下18个字符,伟大的程序员!...

2018-11-14 11:57:48 7047 1

原创 docker常用基本命令

查看docker版本信息docker version查看container信息docker ps通过container ID查看container具体信息docker inspect containerID进入containerdocker exec -it containerName /bin/bash查看镜像docker images...

2018-11-14 11:55:06 291

原创 Pandas

基本介绍Pandas是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。Pandas是基于Numpy构建的,Numpy是列表形式的,没有数值标签,而Pandas是字典形式。下面看下具体的数据类型和使用示例。数据类型:Series & DataFrameSeriesimport pandas as pdimport numpy as ...

2018-11-08 11:14:24 185

转载 机器学习概念解释

解释一:机器学习中大概有如下步骤:确定模型----训练模型----使用模型。模型简单说可以理解为函数。确定模型是说自己认为这些数据的特征符合哪个函数。训练模型就是用已有的数据,通过一些方法(最优化或者其他方法)确定函数的参数,参数确定后的函数就是训练的结果,使用模型就是把新的数据代入函数求值。解释二:你可以把机器想象成一个小孩子,你带小孩去公园。公园里有很多人在遛狗。简单起见,咱们...

2018-10-31 10:54:45 452

原创 二叉树的先序、中序和后序遍历

二叉树我们先看下二叉树的定义二叉树是每个节点最多有两个子树的树结构。通常子树被称作为左子树和右子树。二叉树的遍历二叉树的遍历分为先序、中序和后序遍历。顺序是相对于根节点而言的。即先序遍历是先访问根节点,先序访问左子树,先序访问右子树;中序遍历是中序访问左子树,访问根节点,中序访问右子树;后序遍历是后序访问左子树,后序访问右子树,访问根节点。一般树的遍历都使用递归的方式实现,下面看下...

2018-10-28 22:23:48 323

原创 Queue接口中remove()/poll()、add(e)/offer(e)、element()/peek()的区别 - 每天五分钟搞定Java

JDK源码中Queue接口定义上面的注释如下:A collection designed for holding elements prior to processing. * Besides basic {@link java.util.Collection Collection} operations, * queues provide additional insertion, ext...

2018-10-18 14:58:45 1088

原创 LeetCode - 225. Implement Stack Using Queues

DescriptionImplement the following operations of a stack using queues.push(x) – Push element x onto stack.pop() – Removes the element on top of the stack.top() – Get the top element.empty() – Ret...

2018-10-18 14:25:35 180

转载 分布式事务的解决方案

一、两阶段提交(2PC)两阶段提交就是使用XA协议的原理,我们先看下XA协议的原理。XA协议两阶段提交这种解决方案属于牺牲了一部分可用性来换取的一致性。在实现方面,在 .NET 中,可以借助 TransactionScop 提供的 API 来编程实现分布式系统中的两阶段提交,比如WCF中就有实现这部分功能。不过在多服务器之间,需要依赖于DTC来完成事务一致性,Windows下微软搞的有MSD...

2018-10-17 23:02:18 211

原创 论文提纲怎么写

编写毕业论文提纲的方法:1.先拟标题;2.写出总论点;3.考虑全篇总的安排:从几个方面,以什么顺序来论述总论点,这是论文结构的骨架;4.大的项目安排妥当之后,再逐个考虑每个项目的下位论点,直到段一级,写出段的论点句(即段旨);5.依次考虑各个段的安排,把准备使用的材料按顺序编码,以便写作时使用6.全面检查,作必要的增删。A. 提纲写法第一准则:文字简练提纲写法可能稍微有点差异,但不...

2018-10-17 10:38:46 3930

原创 分布式事务

事务数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。思考一个问题?为什么要引入事务,事务帮助我们解决了什么问题?事务的...

2018-10-16 23:32:20 164

原创 求一个正整数的二进制表示包含多少1 - 每天五分钟搞定Java面试

Java中,int类型占四字节,即32位,这里我们假设正整数n是int型,那么正整数32的二进制表示为:0000 0000 0000 0000 0000 0000 0010 0000法一:位移法我们对每一位进行判断,首先判断最低位,如果是1,那1的总个数加1,然后右移一位后,再判断最低位,位移32次,进行循环判断。这种操作思路很简单,但存在一定的问题:不管n的二进制表示中含有多少个1,...

2018-10-16 13:36:23 939

原创 Java中的Stack源码解析

栈的两个关键操作,出栈和入栈。我们下面就从pop和push方法来详细解析Stack的源码。

2018-10-16 12:44:28 245

原创 最大栈的实现

问题描述一个栈stack,具有push和pop操作,其时间复杂度皆为O(1)。设计算法max操作,求栈中的最大值,该操作的时间复杂度也要求为O(1)。可以修改栈的存储方式,push,pop的操作,但是要保证O(1)的时间复杂度,空间时间复杂度无要求思路比较容易想到的是除了原始数据栈之外,再声明一个存放最大值的栈。每次加入数据后,都判断求得最新的最大值,然后把当前的最大值存入到maxSta...

2018-10-12 16:43:24 829

原创 LeetCode - 198. House Robber

DescriptionYou are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that ad...

2018-10-08 09:01:40 202

原创 LeetCode - 202. Happy Number

DescriptionWrite an algorithm to determine if a number is “happy”.A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of th...

2018-10-04 21:30:11 197

原创 LeetCode - 203. Remove Linked List Elements

DescriptionRemove all elements from a linked list of integers that have value val.ExampleInput: 1->2->6->3->4->5->6, val = 6Output: 1->2->3->4->5Code/** * Defin...

2018-10-04 20:35:18 166

空空如也

空空如也

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

TA关注的人

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