- 博客(24)
- 收藏
- 关注
原创 ssms连接sql server出错
解决sql server连接报错问题特定情况:在升级win11后连接sqlserver报错解决很简单:升级win11后服务器名改变了,所以需要更改服务器名称点开选择新的服务器名称就OK了
2022-04-24 09:59:06 1180
原创 Linux多线程服务器 ---- 优化
例1 使用多线程提高响应速度假设我们有一个类似计算器的服务,输入数字公式,返回相应的结果,如果无解,返回“NULL\r\n”。假设小明在很短的时间内发出10个请求,如果用单线程来一个处理一个,那么这些请求会在队列里依次处理。假设一个请求响应时间是10ms,那么第二个请求响应时间将会为20ms(等第一个请求执行完才执行第二个)。那么第十个请求响应时间为100ms。那么这10个请求的平均响应...
2020-03-30 17:55:55 519
原创 Linux多线程服务器 ---- 线程安全的对象生命周期管理
编写线程安全的类不难,用同步语句保护内部状态即可。但是对象的生死不能由对象自身拥有的mutex来保护。–>在c++多线程编程时如何避免对象析构时可能存在的race condition???–>这篇文章将使用Boost库中的shared_ptr与weak_ptr来解决这个问题。当一个对象能够被多个线程同时看到,那么此对象的销毁就会变得模糊不定。可能会有几种问题出现:如何保证...
2020-03-28 19:07:04 273
原创 数据结构学习之——手写队列,栈(入队、出队、压栈、出栈)
一、栈实现基本功能:压栈出栈代码实现:#include <iostream>using namespace std;typedef struct node { int data; struct node* pNext;}LinkStack;class LkStack{public: LinkStack* pushStack( int...
2020-02-16 21:35:38 702
原创 数据结构学习之——(c/c++实现)手写单链表(删除、插入、查找、建表)
在家整理了一下数据结构方面的知识,想自己动手实现一个单链表。主要实现操作有:通过尾插法建立单链表通过匹配的值开查找链表中的元素通过序列来去链表中的元素插入元素(前插、后插)删除元素遍历显示下面就是代码了:首先是主函数main.cpp#include <iostream>#include"lklist.h"using namespace std;int ma...
2020-02-15 20:55:01 792 2
原创 c++拷贝(shallow/deep拷贝)以及具体例子证明
一、拷贝构造由已经存在的对象创建新对象。也就是说新对象,不是由构造器来构造,而是由拷贝构造器来完成拷贝构造器的规则:1、系统提供默认的拷贝构造器,一经实现,不复存在2、系统提供的是等位拷贝,是浅拷贝3、若要实现深拷贝,需自定义首先我们通过一个例子来看看系统默认的拷贝构造函数:#include <iostream>using namespace std;class ...
2020-02-08 13:50:08 790
原创 标准库string,vector,迭代器简介
一、标准库string类型1.1、string对象的初始化string s1;string s2(s1);string s3("value");string s4(n, ' c') ;【注】string对象读写的特点:读取并忽略开头所有的空白字符读取字符直至再次遇到空白字符,读取终止int main(){ string s; cin >> s; ...
2020-01-30 18:31:27 144
原创 多线程
【】一个小例子,用到了c++11的线程库、优雅的断开套接字#include <iostream>#include <unistd.h>#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>#include <thread>using nam...
2020-01-23 12:15:47 180
原创 gethostbyname()与gethostbyaddr(),利用域名获取IP和利用IP获取域名
一、 利用域名获取IP地址使用下列函数可以通过传递字符串格式的域名获取IP地址#include<netdb.h>struct hostent * gethostbyname(const char * hostname):成功时返回hostent结构体地址,失败返回NULL指针hostent结构体介绍:返回的地址信息装入hostent结构体,此结构体定义如下:struct ...
2020-01-05 10:44:14 564
原创 排序算法——冒泡、选择、插入与希尔排序
一、冒泡排序思路分析:依次比较相邻的两个数将比较小的数放在前面,比较大的数放在后面第一趟比较完后,最小的数放在第一位;那么在第二趟的时候不需要再对第一位数进行比较依次类推,每一趟比较次数依次减小c++代码实现:#include<iostream>using namespace std; void show(int arr[], int n){ fo...
2019-11-28 17:41:37 511
原创 枚举算法(熄灯问题)
上课笔记:图片截图自慕课网的视频问题描述:有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。请你写一个程序,确定需要按下...
2019-11-24 14:06:34 570
转载 递归算法
可能很多人在大一的时候,就已经接触了递归了,不过,我敢保证很多人初学者刚开始接触递归的时候,是一脸懵逼的,我当初也是,给我的感觉就是,递归太神奇了!可能也有一大部分人知道递归,也能看的懂递归,但在实际做题过程中,却不知道怎么使用,有时候还容易被递归给搞晕。也有好几个人来问我有没有快速掌握递归的捷径啊。说实话,哪来那么多捷径啊,不过,我还是想写一篇文章,谈谈我的一些经验,或许,能够给你带来一些帮助...
2019-11-22 19:52:38 161
原创 cocos-creator制作五子棋(二)人机算法
五子棋人机算法分析:首先在玩家下完子之后,需要ai下棋。那么ai应该是去拦截玩家的棋子或者使自己棋子更容易形成五连,所以在ai眼里并不是所有棋盘上的空位置都是一样的。很定有优先考虑的位置。那么我们将采用对棋盘空位置进行赋分的方法来进行区别每个位置。思路:每次下子后,遍历整个棋盘,对棋盘的每个空位置进行赋分------然后找到分值最好的位------ai进行落子方法一:对每个空位置的八个方向进...
2019-11-08 19:58:06 1369
原创 Leet Code算法题(反转链表)
c++解题思路,如何反转一个链表将head放到最后一位 -->head->next作为head–>重复操作看图解:首先这是一个链表定义几个指针 ListNode *preP= NULL, *curP = head, *nextP=head->next;然后执行代码:curP->next = preP; //将head放到最后preP = curP;...
2019-10-24 13:08:49 217
原创 Cocos-creator制作一个的五子棋(一)人人对战
一、首先将spriteFrame为空的预制体chess加载到在15*15的棋盘上,并将其存进数组chesslist中 chesslist:{ default:[], type:[cc.node] }, chessBoard:function(){ //将chess预制体铺满棋this.ches...
2019-10-15 18:50:56 3370 3
原创 Cocos-creator节点上的属性的寻找
如果不知道怎么寻找的话:1、将该结点打印出来2、节点名称.属性名称就可以找到了例:我们想要获得节点的position属性I、如图我们发现position属性在该节点的node组件里面,所以乐意用如下代码获取position属性test.node.positionII这次打印的节点的position直接是在节点中,所以可以用一下代码来访问test.position...
2019-10-15 18:32:15 1218
原创 如何将 Node.js 作为后台进程运行并永远保持下去?
首先将forever下载号,执行一下命令就好:npm install forever -g安装完成后,用以下指令可以进行开始与停止:forever start test.jsforever stop test.js可以用以下代码查看进程:forever list...
2019-09-28 15:28:43 1057
原创 新手购买阿里云服务
1、先进去阿里云2、点击控制台3、这里如果是自己买来练练推荐买轻量级服务器,比较便宜。一般用 的话也是够了4、然后点击创建服务器5、这边推荐选择LAMP镜像(一般24岁一下会默认为学生,有学生优惠差不多9.5元一个月)6、然后点击购买,根据它的流程来然后在自己的服务器列表就可以看见自己的服务器了,然后红色圈出来是自己的公网ip7、然后点击远程连接,第一次进去记住 这个密码...
2019-09-27 17:04:04 193
原创 Cocoscreator评论功能的制作
Cocoscreator如何制作评论的功能一、从服务器接受到的json串进行解析读取,我的上一篇博客已经介绍了怎么操作。二、在creator中制作一个预制体,内容大致是你设计的评论是什么样子(头像,昵称,时间,评论内容等)注意:预制体要放在resources文件夹里面三、对预制体添加一些自己需要的组件,然后用cc.loader.loadres将其加载出来,再用cc.instantiate()...
2019-08-11 16:37:21 266
原创 js - 解析读取json
读取解析json串json格式有两种:一种是json对象,一种是json数组一、json对象JSON 对象使用在大括号({})中书写。json对象的访问方式,例:var obj={ "name":"mike", "phone":"12781272", "friend":{ "friend1":"nn", "friend2":"mm"...
2019-08-11 10:03:00 608
原创 js基础知识
js一些基本知识1、变量,变量会引用值,相当于一个变量可以指向很多个值2、在浏览器环境中显示对话框,alert("good morning!");prompt("shall me");confirm("shall we");alert:弹出窗口prompt用户在对话框输入文本信息confirm选择“是”或“否”3、函数在函数中只有用var声明的变量才属于函数的局部变量;定义...
2019-07-10 09:48:21 92
原创 构造函数
构造函数一、定义:每个类都分别定义了它的对象被初始化的方式。类通过一个或几个特殊的成员函数来控制其对象的初始化过程,这些函数就叫构造函数。(构造函数的任务就是初始化类对象的数据成员,无论何时只要类的对象被创建,就会执行构造函数。)【注】:如果类的设计者没有写构造函数,那么编译器会自动生成一个没有参数的构造函数。二、格式(函数名与类名一样,没有返回值)例:Class Complex{pr...
2019-06-02 21:32:29 2587
转载 演讲的技巧
关于演讲,给大家分享一下。演讲是一种技能,需要反复练习,其中有几个关键点:1、换位思考,听众想听什么,你就讲什么,这里面的重点是你的听众,他们决定了你的演讲方式和表达方式;2、打好开场,收好结尾,过程可控;3、演讲是个人语言组织能力、逻辑思维能力、应急变化能力等的集中体现;4、演讲能力非常重要,是个人的核心软技能之一;5、通过演讲,可以提升自己各方面的能力,也是个人对外输出的关键方式之...
2019-05-11 10:42:43 1706
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人