<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_28364071的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_28364071</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_28364071]]></copyright><item><title><![CDATA[VSCode 文件顶部加入作者信息、日期和函数注释 的 设置]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103757967</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103757967</guid><author>qq_28364071</author><pubDate>Sun, 29 Dec 2019 21:25:06 +0800</pubDate><description><![CDATA[1、安装插件KoroFileHeader

2、左下角选择管理---设置---输入"fileheader"---点击"在setting.json中编辑"

3、把下面的代码放到json文件父对象中


// 文件头部注释
    "fileheader.customMade": {
        "Descripttion":"",
        "version":"",
        "...]]></description><category></category></item><item><title><![CDATA[23种设计模式-java实现]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103555152</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103555152</guid><author>qq_28364071</author><pubDate>Sun, 15 Dec 2019 23:00:48 +0800</pubDate><description><![CDATA[23种设计模式-java实现

http://c.biancheng.net/design_pattern/
]]></description><category></category></item><item><title><![CDATA[ScrollView 总结]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/99675612</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/99675612</guid><author>qq_28364071</author><pubDate>Sun, 15 Dec 2019 22:55:48 +0800</pubDate><description><![CDATA[var length = Math.ceil(boxProducts.length / 2);

var yGap = 10;
var itemHeight = this._itemWidget.getContentSize().height;
var totalHeight = yGap * (length - 1) + itemHeight * length;
var innerSize =...]]></description><category></category></item><item><title><![CDATA[Js 实现权重概率取值（类比权重抽奖）]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103472792</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103472792</guid><author>qq_28364071</author><pubDate>Tue, 10 Dec 2019 11:37:12 +0800</pubDate><description><![CDATA[/**
* js数组实现权重概率分配
* @param Array arr  js数组，参数类型[Object,Object,Object……]
* @return Array    返回一个随机元素，概率为其percent/所有percent之和，参数类型Object
* @author andyzhou
*/


function get_weight_random(ar...]]></description><category></category></item><item><title><![CDATA[java解释静态类]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103467357</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103467357</guid><author>qq_28364071</author><pubDate>Mon, 09 Dec 2019 23:31:10 +0800</pubDate><description><![CDATA[java 静态类与普通类的区别

所谓静态，指以static关键字修饰的，包括类，方法，块，字段。

非静态，指没有用static 修饰的。

一、静态类的特点

1.全局唯一，任何一次的修改都是全局性的影响

2.只加载一次，优先于非静态

3.使用方式上不依赖于实例对象。

4.生命周期属于类级别，从JVM 加载开始到JVM卸载结束。

二、静态类和非静态类之间的区别

内部静态类不需要有指向...]]></description><category></category></item><item><title><![CDATA[概率控制执行逻辑]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103413798</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103413798</guid><author>qq_28364071</author><pubDate>Thu, 05 Dec 2019 22:38:26 +0800</pubDate><description><![CDATA[var callTimes = 0;
var notCallTimes = 0;
var myFunction = function(rate,call){
    let num = Math.random()*3;
    if(num &gt; 0 &amp;&amp; num &lt;= rate*3){
        call();
        callTimes++;
    ...]]></description><category></category></item><item><title><![CDATA[Js 反转链表]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103270402</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103270402</guid><author>qq_28364071</author><pubDate>Wed, 27 Nov 2019 10:08:49 +0800</pubDate><description><![CDATA[/*function ListNode(x){
    this.val = x;
    this.next = null;
}*/
 
function isEmptyObject(obj) {// 判断输入参数链表是否为空
    for (var name in obj) {
        return false;
    }
    return true;
  } 
   
  ...]]></description><category></category></item><item><title><![CDATA[在一个字串中查找一个第一个只出现一次的字符]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103270300</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103270300</guid><author>qq_28364071</author><pubDate>Wed, 27 Nov 2019 10:04:35 +0800</pubDate><description><![CDATA[//在一个字串中查找一个第一个只出现一次的字符


function ObjectToArr(obj) {
    var arr = [];
    for (var key in obj) {
        if (obj.hasOwnProperty(obj[key])) {
            arr.push(obj[key]);
        }
    }

    ret...]]></description><category></category></item><item><title><![CDATA[排序算法]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103270099</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103270099</guid><author>qq_28364071</author><pubDate>Wed, 27 Nov 2019 09:57:04 +0800</pubDate><description><![CDATA[//冒泡排序

// 描述：
// 1.比较相邻的元素。如果第一个比第二个大，就交换它们两个；
// 2.对每一对相邻元素作同样的工作，从开始第一对到结尾的最后一对，这样在最后的元素应该会是最大的数；
// 3.针对所有的元素重复以上的步骤，除了已排序的最后一个；
// 4.重复步骤1~3，直到排序完成。

function BubbleSort(arr) {
    if (Array.isA...]]></description><category></category></item><item><title><![CDATA[用setTimeout实现setInterval]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103263742</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103263742</guid><author>qq_28364071</author><pubDate>Tue, 26 Nov 2019 19:43:58 +0800</pubDate><description><![CDATA[//首先明确 setTimeout是延时执行 setInterval是隔段时间重复执行

用递归


function mySetInterval2(fn,millisec){
    //每过millisec 执行一次fn
    function myInterval(){
        setTimeout(myInterval,millisec);
        fn();
    ...]]></description><category></category></item><item><title><![CDATA[如何减少游戏中drawcall]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/103260274</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/103260274</guid><author>qq_28364071</author><pubDate>Tue, 26 Nov 2019 17:32:50 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/yupu56/article/details/50177935

尽管图形是如此简单,为什么我的游戏延迟这么多?
为什么我的游戏加载时间如此之高?
为什么屏幕之间的切换如此之慢？
为什么我游戏的FPS一直很低？
我已经压缩过纹理贴图和精灵了，怎么还那么大？
为什么我的游戏总会崩溃？
为什么我的游戏那么费电？
为什么在手机上运行我的游戏时，手机发热怎么...]]></description><category></category></item><item><title><![CDATA[Cocos Creator 添加按钮监听代码]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/102720700</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/102720700</guid><author>qq_28364071</author><pubDate>Thu, 24 Oct 2019 12:24:58 +0800</pubDate><description><![CDATA[varbtnCpt=btnOperation.getComponent(cc.Button);

btnCpt.clickEvents=[];

varclickEventHandler=newcc.Component.EventHandler();

clickEventHandler.target=this.node;//对...]]></description><category></category></item><item><title><![CDATA[首次打开unity工程，会报错。详情看内容]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/100064835</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/100064835</guid><author>qq_28364071</author><pubDate>Sun, 25 Aug 2019 16:52:07 +0800</pubDate><description><![CDATA[[Package Manager] Server::Start -- Port 49849 was selected
[Package Manager] Failed to start Unity Package Manager: operation timed out.
查看日志文件如上 求助



解决方案:

关掉防火墙

再打开，让其把各种加载项 加载完 后面关闭防火墙可以打开工程了
...]]></description><category></category></item><item><title><![CDATA[更新yum下载repo源为阿里云镜像源]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/91354131</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/91354131</guid><author>qq_28364071</author><pubDate>Sun, 09 Jun 2019 16:23:36 +0800</pubDate><description><![CDATA[一、为什么更新
由于默认yum源基本都是在国外譬如Centos7的默认Centos-Base.repo主要下载更新都是http://mirrorlist.centos.org类网址之下，国内访问速度比较慢，尤其下载安装一些比较大的安装包时候，速度会非常慢。不如更新为国内的比较好的yum源，如aliyun源，起到类似于CDN加速的作用，安装下载会比较快。

二、更新三部曲
1.备份原有镜像源
mv ...]]></description><category></category></item><item><title><![CDATA[js 对象转数组 数组转对象]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/90733707</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/90733707</guid><author>qq_28364071</author><pubDate>Sat, 01 Jun 2019 21:36:45 +0800</pubDate><description><![CDATA[对象转数组:




function objToArray(obj){
    var array = [];

    for(var key in obj){

   array.push(obj[key]);

    }

    return array;

}

数组转对象：


function arrayToObj(arr){

    var obj = {};
   ...]]></description><category></category></item><item><title><![CDATA[Windows socket网络编程-TCP通信  实例代码]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/90576410</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/90576410</guid><author>qq_28364071</author><pubDate>Sun, 26 May 2019 15:17:59 +0800</pubDate><description><![CDATA[步骤如下：

服务器：

1.初始化

包含Winsock2.h头文件和引用ws2_32.lib静态库。
#include &lt;WinSock2.h&gt;
#pragma comment(lib,"ws2_32.lib") 

WSAStartUp函数

2.创建侦听套接字

socket

3.绑定ip和端口，绑定侦听套接字

SOCKADDR_IN

bind

4.开启监听

li...]]></description><category></category></item><item><title><![CDATA[socket网络编程（通用）]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/90576286</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/90576286</guid><author>qq_28364071</author><pubDate>Sun, 26 May 2019 15:17:02 +0800</pubDate><description><![CDATA[TCP/IP：

创建TCP服务端：

1.创建侦听socket套接字           socket

2.将socket套接字绑定ip和端口      bind

3.侦听连接                     listen

4.服务器无限循环 等待连接        accept

5....]]></description><category></category></item><item><title><![CDATA[遇到SVN冲突更新失败，无法更新，cleanup失败解决方案]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/90454341</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/90454341</guid><author>qq_28364071</author><pubDate>Wed, 22 May 2019 23:23:33 +0800</pubDate><description><![CDATA[当svn 出现clean up 死循环时，或者无法提交提示错误时。

1.把sqlite3.exe放到.svn文件夹下
2.在.svn目录下打开命令行输入以下语句：
cmd进入.svn目录下执行

sqlite3 wc.db "delete from work_queue"

sqlite3 wc.db "delete from wc_lock"

3. svn 执行clean up 清理

注：...]]></description><category></category></item><item><title><![CDATA[Python报“TypeError: a bytes-like object is required, not ‘str’ ”解决办法]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/90321683</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/90321683</guid><author>qq_28364071</author><pubDate>Sat, 18 May 2019 22:42:03 +0800</pubDate><description><![CDATA[报错原因：

在这里，python3和Python2在套接字返回值解码上有区别。



解决办法：

解决办法非常的简单，只需要用上python的bytes和str两种类型转换的函数encode()、decode()即可！

str通过encode()方法可以编码为指定的bytes；
	反过来，如果我们从网络或磁盘上读取了字节流，那么读到的数据就是bytes。要把bytes变为str，就需要用d...]]></description><category></category></item><item><title><![CDATA[RESTful API 最佳实践]]></title><link>https://blog.youkuaiyun.com/qq_28364071/article/details/90274070</link><guid>https://blog.youkuaiyun.com/qq_28364071/article/details/90274070</guid><author>qq_28364071</author><pubDate>Thu, 16 May 2019 22:58:04 +0800</pubDate><description><![CDATA[http://www.ruanyifeng.com/blog/2018/10/restful-api-best-practices.html

转载 RESTful API 最佳实践---阮一峰
]]></description><category></category></item></channel></rss>