博客园 - 张柯宇
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=143238
2018-09-30T05:47:49Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
feed.cnblogs.com
https://www.cnblogs.com/zhangkeyu/p/6666001.html
从N个元素的集合中随机取m个元素的算法实现 - 张柯宇
最近有一个需求,比较简单,就是如标题所说的,从N个元素中随机取m个元素,当然这m个元素是不能存在重复的。本以为这么简单的需求,应该有现成的工具类来实现,但是几次查找居然没找到(有知道的可以推荐下哈^_^)。只好自己实现了下。 自己的实现思路也不知道是不是有问题,或者还有没有更好的思路来实现,所以在这
2017-04-04T11:06:00Z
2017-04-04T11:06:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】最近有一个需求,比较简单,就是如标题所说的,从N个元素中随机取m个元素,当然这m个元素是不能存在重复的。本以为这么简单的需求,应该有现成的工具类来实现,但是几次查找居然没找到(有知道的可以推荐下哈^_^)。只好自己实现了下。 自己的实现思路也不知道是不是有问题,或者还有没有更好的思路来实现,所以在这 <a href="https://www.cnblogs.com/zhangkeyu/p/6666001.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665996.html
Mysql加锁过程详解 - 张柯宇
1、背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,
2017-04-04T11:05:00Z
2017-04-04T11:05:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】1、背景 MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路, <a href="https://www.cnblogs.com/zhangkeyu/p/6665996.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665988.html
TFS实现需求工作项自动级联保存 - 张柯宇
目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出、评审、设计以及实现的流程。基于这套流程,在许多的流程细节中,需要平台尽可能化的实现规则的自动化,把流程目标的支撑元数据落实到平台自动过程中
2017-04-04T11:04:00Z
2017-04-04T11:04:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】目前在一个大型的金融客户软件研发平台项目实施和支持过程中,客户的质量管理团队基于该平台以及结合其它的平台数据,针对需求管理和业务过程需要拟定了一套完整的需求提出、评审、设计以及实现的流程。基于这套流程,在许多的流程细节中,需要平台尽可能化的实现规则的自动化,把流程目标的支撑元数据落实到平台自动过程中 <a href="https://www.cnblogs.com/zhangkeyu/p/6665988.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665990.html
TFS 测试用例导入、导出工具 - 张柯宇
TFS的测试管理提供了测试规划、创建、运行以及进度跟踪等功能。测试人员通过浏览器就几乎可以完成手个测试的全部过程。 用过TFS测试用例的朋友们,很多人应该都知道,在TFS的Portal中以及相应的数据仓库中,没有直接或者间接导入、导出测试用例的功能和方法。但是在实际的过程中,我接触到多个研发团队都有
2017-04-04T11:04:00Z
2017-04-04T11:04:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】TFS的测试管理提供了测试规划、创建、运行以及进度跟踪等功能。测试人员通过浏览器就几乎可以完成手个测试的全部过程。 用过TFS测试用例的朋友们,很多人应该都知道,在TFS的Portal中以及相应的数据仓库中,没有直接或者间接导入、导出测试用例的功能和方法。但是在实际的过程中,我接触到多个研发团队都有 <a href="https://www.cnblogs.com/zhangkeyu/p/6665990.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665983.html
Gulp自动构建Web前端程序 - 张柯宇
这两天一个朋友在项目上碰到了一个这样的问题,在运营过程中,用户在浏览器上对某个表单进行数据提交时,需要引入新的平台接口数据的业务,通过评估,开发团队马上修改了相关后台代码和部分的前端脚本代码,通过简单测试并很快上线。当是上线后客户端的功能没有发生任何变化和修改前表现的状况是一样。遇到这样的问题,开发
2017-04-04T11:03:00Z
2017-04-04T11:03:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】这两天一个朋友在项目上碰到了一个这样的问题,在运营过程中,用户在浏览器上对某个表单进行数据提交时,需要引入新的平台接口数据的业务,通过评估,开发团队马上修改了相关后台代码和部分的前端脚本代码,通过简单测试并很快上线。当是上线后客户端的功能没有发生任何变化和修改前表现的状况是一样。遇到这样的问题,开发 <a href="https://www.cnblogs.com/zhangkeyu/p/6665983.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665975.html
Python sphinx-build在Windows系统中生成Html文档 - 张柯宇
看到前同事发布的“Markdown/reST 文档发布流水线”基于TFS、Docker、Azure等工具和平台进行文档发布的介绍说明,不得不在心中暗暗竖起大拇指。这套模式,实现了文档编写后版本管理、发布、存档、分享的高度自动化,它不仅仅可以应用在文章中介绍的技术文档发布模式,同样也适用于我们大多数w
2017-04-04T11:02:00Z
2017-04-04T11:02:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】看到前同事发布的“Markdown/reST 文档发布流水线”基于TFS、Docker、Azure等工具和平台进行文档发布的介绍说明,不得不在心中暗暗竖起大拇指。这套模式,实现了文档编写后版本管理、发布、存档、分享的高度自动化,它不仅仅可以应用在文章中介绍的技术文档发布模式,同样也适用于我们大多数w <a href="https://www.cnblogs.com/zhangkeyu/p/6665975.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665977.html
Oracle PL/SQL Developer集成TFS进行团队脚本文件版本管理 - 张柯宇
对于传统的使用关系型数据库的大型软件产品,后台数据库的持续开发和维护可能会产生大量的脚本文件,针对这些脚本文件应该怎样比较方便的进行版本管理,以及如何快捷的在团队之间进行权限等协作管理呢?不同的数据库产品以及相应的客户端管理工具与不同产品版本管理工具之间的集成度可能又存在不同的使用体检和接收程度。
2017-04-04T11:02:00Z
2017-04-04T11:02:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】对于传统的使用关系型数据库的大型软件产品,后台数据库的持续开发和维护可能会产生大量的脚本文件,针对这些脚本文件应该怎样比较方便的进行版本管理,以及如何快捷的在团队之间进行权限等协作管理呢?不同的数据库产品以及相应的客户端管理工具与不同产品版本管理工具之间的集成度可能又存在不同的使用体检和接收程度。 <a href="https://www.cnblogs.com/zhangkeyu/p/6665977.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665969.html
一个算法习题学习的好去处-有不同语言的实现 - 张柯宇
这不是个人传销,而是在学习过程中发现的一个比较好的地方,因此向大家推荐一下,希望能有所帮助~ 虽然只有一个链接,但是这个链接的重量就在那里,不知道能发向首页不?? 为了凑字数,下面给出了一篇在上述网站中的一个题目解析: 链接地址:http://openhome.cc/Gossip/Algorithm
2017-04-04T11:00:00Z
2017-04-04T11:00:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】这不是个人传销,而是在学习过程中发现的一个比较好的地方,因此向大家推荐一下,希望能有所帮助~ 虽然只有一个链接,但是这个链接的重量就在那里,不知道能发向首页不?? 为了凑字数,下面给出了一篇在上述网站中的一个题目解析: 链接地址:http://openhome.cc/Gossip/Algorithm <a href="https://www.cnblogs.com/zhangkeyu/p/6665969.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665958.html
计算机程序的思维逻辑 (7) - 如何从乱码中恢复 (下) - 张柯宇
乱码 上节说到乱码出现的主要原因,即在进行编码转换的时候,如果将原来的编码识别错了,并进行了转换,就会发生乱码,而且这时候无论怎么切换查看编码的方式,都是不行的。 我们来看一个这种错误转换后的乱码,还是用上节的例子,二进制是(16进制表示):C3 80 C3 8F C3 82 C3 AD,无论按哪种
2017-04-04T10:55:00Z
2017-04-04T10:55:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】乱码 上节说到乱码出现的主要原因,即在进行编码转换的时候,如果将原来的编码识别错了,并进行了转换,就会发生乱码,而且这时候无论怎么切换查看编码的方式,都是不行的。 我们来看一个这种错误转换后的乱码,还是用上节的例子,二进制是(16进制表示):C3 80 C3 8F C3 82 C3 AD,无论按哪种 <a href="https://www.cnblogs.com/zhangkeyu/p/6665958.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665951.html
计算机程序的思维逻辑 (8) - char的真正含义 - 张柯宇
看似简单的char 通过前两节,我们应该对字符和文本的编码和乱码有了一个清晰的认识,但前两节都是与编程语言无关的,我们还是不知道怎么在程序中处理字符和文本。 本节讨论在Java中进行字符处理的基础 - char,Java中还有Character, String, StringBuffer, Stri
2017-04-04T10:53:00Z
2017-04-04T10:53:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】看似简单的char 通过前两节,我们应该对字符和文本的编码和乱码有了一个清晰的认识,但前两节都是与编程语言无关的,我们还是不知道怎么在程序中处理字符和文本。 本节讨论在Java中进行字符处理的基础 - char,Java中还有Character, String, StringBuffer, Stri <a href="https://www.cnblogs.com/zhangkeyu/p/6665951.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665948.html
计算机程序的思维逻辑 (9) - 条件执行的本质 - 张柯宇
条件执行 前面几节我们介绍了如何定义数据和进行基本运算,为了对数据有透彻的理解,我们介绍了各种类型数据的二进制表示。 现在,让我们回顾程序本身,只进行基本操作是不够的,为了进行有现实意义的操作,我们需要对操作的过程进行流程控制。流程控制中最基本的就是条件执行,也就 是说,某些操作只能在某些条件满足的
2017-04-04T10:51:00Z
2017-04-04T10:51:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】条件执行 前面几节我们介绍了如何定义数据和进行基本运算,为了对数据有透彻的理解,我们介绍了各种类型数据的二进制表示。 现在,让我们回顾程序本身,只进行基本操作是不够的,为了进行有现实意义的操作,我们需要对操作的过程进行流程控制。流程控制中最基本的就是条件执行,也就 是说,某些操作只能在某些条件满足的 <a href="https://www.cnblogs.com/zhangkeyu/p/6665948.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665793.html
关于DOM的操作以及性能优化问题-重绘重排 - 张柯宇
写在前面: 大家都知道DOM的操作很昂贵。 然后贵在什么地方呢? 一、访问DOM元素 二、修改DOM引起的重绘重排 一、访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScript)各自想象为一个岛屿,它们之间用收费桥梁连接,ECMAScript每次访问DOM,都要途径这座桥,
2017-04-04T10:07:00Z
2017-04-04T10:07:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】写在前面: 大家都知道DOM的操作很昂贵。 然后贵在什么地方呢? 一、访问DOM元素 二、修改DOM引起的重绘重排 一、访问DOM 像书上的比喻:把DOM和JavaScript(这里指ECMScript)各自想象为一个岛屿,它们之间用收费桥梁连接,ECMAScript每次访问DOM,都要途径这座桥, <a href="https://www.cnblogs.com/zhangkeyu/p/6665793.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665684.html
解析ThreadLocal - 张柯宇
如果定义了一个单实例的java bean,它有若干属性,但是有一个属性不是线程安全的,比如说HashMap。并且碰巧你并不需要在不同的线程中共享这个属性,也就是说这个属性不存在跨线程的意义。那么不推荐使用sychronize,可使用ThreadLocal 关键代码如下: ①初始化一个ThreadLo
2017-04-04T10:03:00Z
2017-04-04T10:03:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】如果定义了一个单实例的java bean,它有若干属性,但是有一个属性不是线程安全的,比如说HashMap。并且碰巧你并不需要在不同的线程中共享这个属性,也就是说这个属性不存在跨线程的意义。那么不推荐使用sychronize,可使用ThreadLocal 关键代码如下: ①初始化一个ThreadLo <a href="https://www.cnblogs.com/zhangkeyu/p/6665684.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665676.html
PHP基础 - 张柯宇
注意:1.网页文件放在wamp中的www文件下;2.www文件下不能出现中文;网页浏览的方法:1.没有建立站点:localhost/文件所在位置2.建立站点:(1)站点-新建站点-打开对话框 (2)修改对话框中的站点名称(可改也可不改)和本地站点文件夹(wamp中www的保存位置)(3)选择服务器选
2017-04-04T10:00:00Z
2017-04-04T10:00:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】注意:1.网页文件放在wamp中的www文件下;2.www文件下不能出现中文;网页浏览的方法:1.没有建立站点:localhost/文件所在位置2.建立站点:(1)站点-新建站点-打开对话框 (2)修改对话框中的站点名称(可改也可不改)和本地站点文件夹(wamp中www的保存位置)(3)选择服务器选 <a href="https://www.cnblogs.com/zhangkeyu/p/6665676.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665674.html
php中的常用函数 - 张柯宇
1.随机数和时间 1 echo rand(); //随机数生成器 1 echo rand(); //随机数生成器 1 echo rand(); //随机数生成器 1 echo rand(); //随机数生成器 echo rand(); //随机数生成器 1 echo rand(0,10); //某个
2017-04-04T10:00:00Z
2017-04-04T10:00:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】1.随机数和时间 1 echo rand(); //随机数生成器 1 echo rand(); //随机数生成器 1 echo rand(); //随机数生成器 1 echo rand(); //随机数生成器 echo rand(); //随机数生成器 1 echo rand(0,10); //某个 <a href="https://www.cnblogs.com/zhangkeyu/p/6665674.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665672.html
面向对象的3大特性 - 张柯宇
1.封装 ****目的:为了使一个类更加安全 做法: ****1.将成员变量变为私有的2.再类中做方法来间接访问成员变量3.在方法中加入控制条件 //一个成员变量还是可以的,但是不适用于多个成员变量(即可写也可读) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2017-04-04T09:59:00Z
2017-04-04T09:59:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】1.封装 ****目的:为了使一个类更加安全 做法: ****1.将成员变量变为私有的2.再类中做方法来间接访问成员变量3.在方法中加入控制条件 //一个成员变量还是可以的,但是不适用于多个成员变量(即可写也可读) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <a href="https://www.cnblogs.com/zhangkeyu/p/6665672.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665670.html
静态、抽象类、接口 - 张柯宇
1.静态 普通成员:是属于对象的静态成员:a.是属于类的; b.定义时加上关键字 static ; c.关键字 self:在类中代表该类; d.调用静态成员符号双冒号:: 普通方法是可以调用静态成员的; 静态方法不能调用普通成员 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 1
2017-04-04T09:58:00Z
2017-04-04T09:58:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】1.静态 普通成员:是属于对象的静态成员:a.是属于类的; b.定义时加上关键字 static ; c.关键字 self:在类中代表该类; d.调用静态成员符号双冒号:: 普通方法是可以调用静态成员的; 静态方法不能调用普通成员 例如: 1 2 3 4 5 6 7 8 9 10 11 12 13 1 <a href="https://www.cnblogs.com/zhangkeyu/p/6665670.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665664.html
设计模式 - 张柯宇
1.单例模式:针对于一个场景来说的(为了控制对象的数量,只能够有一个对象,相当于类的计划生育) 做法:1.将类的构造函数写成私有的2.在类中作了一个公有的函数来造对象3.将该函数变成静态的4.在函数中加控制(判断) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
2017-04-04T09:57:00Z
2017-04-04T09:57:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】1.单例模式:针对于一个场景来说的(为了控制对象的数量,只能够有一个对象,相当于类的计划生育) 做法:1.将类的构造函数写成私有的2.在类中作了一个公有的函数来造对象3.将该函数变成静态的4.在函数中加控制(判断) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <a href="https://www.cnblogs.com/zhangkeyu/p/6665664.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665661.html
数据访问 - 张柯宇
1.步骤 1.造连接对象 1 $db = new MySQLi('localhost','','',''); //数据库服务器地址就是ip地址,本地的话也需要写对方ip地址,数据库用户名,数据库连接密码,操作的数据库名称,端口号默认端口号(一般不用),服务连接(一般也不用) 1 $db = new 
2017-04-04T09:56:00Z
2017-04-04T09:56:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】1.步骤 1.造连接对象 1 $db = new MySQLi('localhost','','',''); //数据库服务器地址就是ip地址,本地的话也需要写对方ip地址,数据库用户名,数据库连接密码,操作的数据库名称,端口号默认端口号(一般不用),服务连接(一般也不用) 1 $db = new  <a href="https://www.cnblogs.com/zhangkeyu/p/6665661.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/zhangkeyu/p/6665659.html
注册和登陆与数据库的链接 - 张柯宇
注册和登陆其实是从一个表中进行提取和写入数据 1.(1)先建立一个注册页面 1 2 3 4 5 6 7 8 9 <body> <h1>注册页面</h1> <form action="./zhucechuli.php" method="post"> //链接到的文件,就是登陆的处理页面 <div>用户
2017-04-04T09:55:00Z
2017-04-04T09:55:00Z
张柯宇
https://www.cnblogs.com/zhangkeyu/
【摘要】注册和登陆其实是从一个表中进行提取和写入数据 1.(1)先建立一个注册页面 1 2 3 4 5 6 7 8 9 <body> <h1>注册页面</h1> <form action="./zhucechuli.php" method="post"> //链接到的文件,就是登陆的处理页面 <div>用户 <a href="https://www.cnblogs.com/zhangkeyu/p/6665659.html" target="_blank">阅读全文</a>