- 博客(38)
- 资源 (3)
- 收藏
- 关注
原创 使用unity3d制作像素鸟游戏
个人博客文章链接:http://www.huqj.top/article?id=140unity3d虽然是被设计用来制作3D游戏的,但是它提供了很多2D组件,所以也可以轻松的设计制作2D游戏,下面记录一下制作经典2D游戏flappy bird的过程。下面是最终效果:(github: https://github.com/Scottle-Hu/MyFLappyBird)一、设计...
2019-01-09 13:37:51 4467
原创 oauth接入github登录记录
个人博客文章链接:http://www.huqj.top/article?id=143博客网站评论需要接入第三方登录,这里记录下接入github登录和开发的全过程。最终效果为如果不登录则无法评论,点击第三方登录(之后尝试接入其它平台)跳转到第三方授权,然后回到评论页面可以发表评论。登录前:登陆后:其中头像和昵称都是从github获取的。 第一步:在github中...
2019-01-09 13:36:48 594
原创 grafana重置web界面密码
个人博客文章链接:http://www.huqj.top/article?id=145grafana监控web界面密码忘记了怎么办?可以直接登上服务器修改数据库文件重置密码,具体做法如下:①找到grafana sqlite数据库文件,名为grafana.db,一般在 /var/lib/grafana/grafana.db 1 find / -name gra...
2019-01-09 13:35:49 2758
原创 div滚动至顶部之后固定的方法
个人博客文章链接:http://www.huqj.top/article?id=146在浏览网页的时候,经常会看到这种效果:导航栏向上滚动到浏览器顶部之后就固定在顶部不再往上,而向下滚动回来的时候又跟着原来的布局下去(可以参考本博客的导航栏效果)。效果图片如下:滚动到顶端之后: 实现的方式可以是通过jquery注册滚动事件,在事件中判断导航栏到顶部的距离,如果小于等于0...
2019-01-09 13:34:49 3510
原创 关于可变宽div的居中问题
个人博客文章链接:http://www.huqj.top/article?id=148我们经常使用 margin: 0 auto; 来将div居中,但是这样需要给div设置一个宽度,因为div默认是和父元素同宽。如果不想给div设置一个固定的宽度怎么办呢?这时候可以使用一个css属性: display: table; 这样会默认将刚好包含元素的宽度作为div的宽度。另外还有两个属性:m...
2019-01-09 13:34:00 312
原创 如何实现响应式布局
个人博客文章链接:http://www.huqj.top/article?id=149一、什么是响应式布局 所谓响应式布局,就是指同一个网页,在不同的终端上的显示效果不同,但是访问的确实是同一个页面,只是因为浏览器会根据终端的不同(例如屏幕宽度、横竖屏、移动端还是pc端等)选择的渲染方式也不同。相信大家做前端页面的时候都会有这样的困惑:一个页面在自己电脑上看着好好的,一旦从别的分辨率...
2019-01-09 13:33:11 18519 2
原创 在python3中使用mysql注意事项
个人博客文章链接:http://www.huqj.top/article?id=153在python3.5中使用mysql是件比较头疼的事情,因为mysql-python对3.5的python支持的不太好,无法直接用pip命令安装。下面分别记录下在windows和linux(centos7)下使用mysql-python的做法。 windows7下:使用MySQLdb,可以pi...
2019-01-09 13:31:59 213
原创 c#操作mysql数据库
个人博客文章链接:http://www.huqj.top/article?id=157使用c#操作mysql数据库需要引入一个程序集:Mysql.Data.dll,引入方法可以参见上一篇博客:http://www.huqj.top/article?id=156,引入之后就可以在程序中使用Mysql.Data命名空间,这个命名空间里包括了所有使用c#对mysql的操作。下面用两个实例分别说明对m...
2019-01-09 13:30:44 2115
原创 使用vs code创建c#项目
个人博客文章链接:http://www.huqj.top/article?id=156在多次尝试重装 visual studio 2017 还是有那个报错之后,决定彻底扔掉vs了,开始转向用一个轻量级的编辑器:vs code。严格来说vs code只是一个编辑器而不是ide,但是它提供了很多插件,利用这些插件可以很好的搭建c#开发环境。并且运行速度很快。下面就记录一下怎么使用vs code搭建...
2019-01-09 13:29:50 28770 1
原创 python socket + tkinter实现网络聊天室
个人博客文章链接:http://www.huqj.top/article?id=169最近突然想用socket做个聊天室程序,之前用java写过一个文件传输的程序,这次就用python做一下,顺便也学习一下python的界面设计。界面库选择了python自带的tkinter。 总的来说聊天室功能比较简单,只是一个练习用的demo,但是其中一些关于tk和socket的东西值得记录一下。...
2019-01-09 13:28:25 22620 8
原创 unity3d制作RPG游戏系列(4)——UI界面
个人博客文章链接:http://www.huqj.top/article?id=161游戏中除了3d场景以外,UI界面也是很重要的一部分,例如主角的头像、血条、背包、按钮等。下面是myrpg中的简单UI界面,使用NGUI插件制作: 一、导入NGUI插件NGUI是一个非官方的GUI插件,但是特别好用,所以一般大家都会选择NGUI来制作界面,导入方式很简单,下载NGUI 的un...
2019-01-08 14:02:29 9288 1
原创 unity3d制作RPG游戏系列(3)——鼠标控制人物行走攻击
个人博客文章链接:http://www.huqj.top/article?id=160建立好地形之后,我们就需要添加一个第三人称的主角并通过脚本来控制他的行走、攻击等动作,以及需要设置摄像机跟随。一、首先,添加一个人物模型(带动画)这里的人物属性需要添加以下几个比较重要的组件:rigidBody刚体、nav mesh agent寻路导航组件、box collider碰撞检测组件...
2019-01-08 14:01:04 4351 1
原创 unity3d制作RPG游戏系列(2)——地形制作
个人博客文章链接:http://www.huqj.top/article?id=159制作3d游戏的第一步是创建地形系统,这里我直接用u3d内置的地形系统创建的,虽然不算漂亮,但基本的意思还是有的。首先我们要确定地形的大致样子,比较好的做法是先用地图作为纹理覆盖在地形上,然后照着这个地图画地形就可以,例如我选的下面这个地形地图: 首先要添加一张纹理选择地图并且将图片大小调整成...
2019-01-08 14:00:00 1643 1
原创 unity3d制作RPG游戏系列(1)——介绍
个人博客文章链接:http://www.huqj.top/article?id=158最近闲来无事,玩了几天的u3d,做了个简单的rpg游戏,打算把制作的过程还有一些坑从头到尾记录一下,本身做游戏只是个兴趣爱好,有些东西不会太深究。如有不当,欢迎指正。 一、简介 做游戏的念头是玩了《黑暗史诗》之后生出来的,刚好前几天做完电影资源检索之后愁没事干,就顺带系统学了遍c#基础,然...
2019-01-08 13:57:07 5869 3
原创 梯度下降法及matlab实现
个人博客文章链接:http://www.huqj.top/article?id=162梯度下降法(gradient descent),是机器学习中最常用的参数调优算法,所谓梯度下降,就是对于一个模型的代价函数而言,从某个初始参数开始,逐渐将参数朝“使得代价函数减小最快”的方向调整,使得代价函数最终稳定在某个值左右。举个例子,对于训练集数据: 1 traini...
2019-01-08 13:55:40 22587 2
原创 逻辑回归原理及matlab实现
个人博客文章链接: http://www.huqj.top/article?id=163对于某些分类问题,自变量可能是连续的,但是因变量却可能是离散的,例如:根据肿瘤大小判断该肿瘤是否是良性。这种问题不适合用线性回归来解决,虽然可以将连续的因变量值映射到离散的分类上,但是效果和训练复杂度都不尽如人意。因此,逻辑回归(logistic regression)就成为了一个解决分类问题的好方法。...
2019-01-08 13:54:46 14565 1
原创 使用matlab的fminunc函数自动设置学习率α
个人博客文章链接: http://www.huqj.top/article?id=164应用梯度下降法中最为关键的一个步骤就是学习率α的选择,根据梯度下降的数学原理可知:如果学习率过大,可能导致梯度下降发无法收敛甚至发散,而学习率过小又会导致迭代次数过多,影响学习效率。所以通常我们会选择各种学习率测试,最终选择一个比较合适的值作为最终学习率。 但是在一些高级的参数调优算法中,不需要我...
2019-01-08 13:53:41 2837
原创 过拟合与正则化
个人博客文章链接:http://www.huqj.top/article?id=165 过拟合(over-fitting)是指对于模型的特征选择的过高的次数,导致模型在训练数据集上表现良好但是却不符合实际。为了有一个直观的印象,我们来看下面这个例子: 这是一个训练数据集,红色代表正例,可以发现,一个这个模型的决策边界无法很好的用直线,甚至是二次曲线来描述,下面我们分...
2019-01-08 13:52:11 859
原创 BP神经网络原理与matlab实现
个人博客文章链接: http://www.huqj.top/article?id=166BP神经网络,即“反向传播”神经网络,是一种被广泛运用的人工神经网络,它的思想就是通过反向传播不断调整模型权重,最终使得模型输出与预期输出的误差控制在一个小范围内。其中反向传播的算法(BP算法)是核心。 一、模型架构 一个普通的神经网络模型大致如下图: 其中第一层称...
2019-01-08 13:50:38 2415 1
原创 matlab+BP神经网络实现手写体数字识别
个人博客文章链接:http://www.huqj.top/article?id=168接着上一篇所说的 BP神经网络,现在用它来实现一个手写体数字的识别程序,训练素材来自吴恩达机器学习课程,我把打包好上传到了网盘上: 1 2 链接:https://pan.baidu.com/s/1_u8zXzkQcY0iS3cgq2k0xg 提取码:4opy...
2019-01-08 13:49:10 11073 3
原创 MongoDB使用用户名密码验证的设置方法(windows下)
之前整理的mongo基本语法都是在没有用户名密码验证的条件下测试的,因为mongo与mysql不同,它安装的时候默认是没有权限控制的额,也就是说任何人,只要知道了host和port都可以登陆数据库并操作。如果想要设置用户,需要自己另行配置。一开始按照网上的一些方法没有设置成功,主要是因为版本和权限设置的一些问题,所以这里我把记录下来,以便之后查找。mongo中,每个数据库都可以有自己的管理员账号,...
2018-03-27 11:16:34 7977
原创 spark pairRDD操作
一、创建pairRDD的方法①python脚本,使用 map() 函数示例把句子的第一个单词作为键,句子作为值:>>> line=sc.parallelize(["hello world","very good","yes right"])>>> map = line.map(lambda s:((s.split(" "))[0],s))&
2018-03-27 11:15:45 1730
原创 spark RDD编程
RDD,也就是 弹性分布式数据集 的简称,它是spark处理的分布式元素集合。对于RDD的操作包括:创建RDD(从外部数据或者内存中的数据),转化RDD(利用筛选条件等),调用RDD操作求值。**注意:RDD的操作分为两种:一种是“转化操作”,这种操作相当于只是定义了RDD,例如从一个RDD筛选出另一个RDD。转化操作的特点就是:返回结果仍然是一个RDD对象,转化操作并不会立刻执行,而是会惰性的执...
2018-03-27 11:15:02 1706
原创 回溯法求解数独问题的思路和代码
在刷题的时候遇到了一个求解数独的问题,用回溯法写了以下代码,记录一下,之后探究有没有更好的算法。算法思路:①读取待求解数组,其中待填位置为0。②将所有待填位置的两个坐标(行列)和目前数字封装起来压入栈1中。③开一个栈2用于存储目前确定的答案。④当栈1不为空的时候,取栈顶元素,从元素当前值加一开始依次到9判断是否可以填入,若可以则将当前元素压入栈2,否则压回栈1并且取出栈2栈顶元素押回栈1;⑤重复④...
2018-03-27 11:10:57 1755
原创 大整数乘法算法
刷笔试题的时候遇到了一个大整数乘法的问题,做法就是模拟手工算法,只要注意不能用long来存储,而要使用string。其中还有一些细节需要注意,例如进位,正负号等。代码如下:public static void main(String[] args) { Scanner in = new Scanner(System.in); while (in.hasNext()) { ...
2018-03-27 11:09:32 768
原创 寻找最近点对算法
寻找最近点对算法一般而言需要O(n^2)的时间复杂度,即枚举法,分别计算每两个点对之间的距离,取最小。但是还有一种分治算法理论上可以将时间复杂度减小到O(n.log n)的级别。但是由于递归的开销,可能效果并不一定好,具体还要看问题特点。算法描述:①若问题规模小于3,直接枚举法求解。②否则,将点集按照x坐标排序,取中间点。③以中间点的xm坐标为边界,左右分别递归求解,得到左右最短距离④取左右两边递...
2018-03-27 11:08:48 5622
原创 java socket 实现c/s文件上传下载功能+注册登录
使用JAVA SOCKET实现c/s结构的通信程序,以实现客户端向服务器端的文件的上传以及服务器端向客户端的文件的下载。实现思路:1、在服务器端,创建SocketServer对象,监听某一端口,有连接请求则开一个线程处理这一请求2、在客户端,根据服务器的ip地址以及端口号,创建socket连接,并通过此连接传送数据以及信号实现效果:①首先打开服务器程序:
2017-12-16 17:28:13 2855
原创 使用jquery设置图片只可点击一次
有时候我们需要实现某元素,例如图片在一次访问中只能够点击一次,这时候我们需要使用jquery注册一个事件,但是在时间完成后“解绑”这个函数://设置点击事件$('.img_class').click(function(){ //完成点击的事件 //解绑事件 $('.img_class').unbind();});
2017-11-07 16:07:44 731
原创 如何清除页面的图片缓存
在大多数情况下,浏览器为了提高性能,会有相应的缓存措施,其中缓存图片是一种常见的做法,因为图片在请求时需要占用大量的流量,所以在短时间内缓存图片可以起到不错的提高响应速度的作用。但是在有些时候,我们不希望浏览器的这种对于图片的缓存,举个例子,使用后台管理前台显示的图片内容时,为了能够看出修改图片后的效果,我们需要实时的反馈,及在后台修改完图片后,无论后台还是前台,再次访问时看到的应该就是修改过后的
2017-11-07 16:06:02 6497
原创 使用半透明div覆盖图片的方法
在设计批量删除的时候,我遇到了一个问题:就是在选择待删除图片的时候需要有一个半透明层把图片覆盖,然后覆盖层上有选择框可以选择,见下图的前后效果:我的做法是使用一个div,背景为灰色,透明度为0.8,覆盖在图片上,覆盖的方式是采用绝对定位,覆盖层的div的position属性设置为absolute,而装图片和覆盖层的div的position设置为rel
2017-11-07 15:56:21 4081 1
原创 html中实现多文件选择器
html中有一个对于文件选择器的支持控件——file输入项。我们可以通过以下代码创建一个文件选择器,方便的通过浏览器选择本地文件:效果图如下:但是,这种文件选择器的一个缺点就是一次只能选择一个文件,这对于需要一次性上传多个文件甚至数目不确定的文件无能为力,但是file输入项有一个属性可以将单文件选择器变为多文件选择器:multiple只要在file的输入项中
2017-11-07 15:49:11 8078
原创 在页面上实时显示选择的图片文件
有一种需求是在使用file控件选择图片文件的时候要在页面相应的位置显示该图片并且根据选择的文件实时更新图片的src。一种思路是在图片上传的时候由file输入项获取文件在客户端的绝对路径,然后修改图片的src属性为该绝对路径即可。但是这种做法一般不可行,因为大多数浏览器并不支持直接由file.value得到在客户端的真实路径,而是会得到一个虚拟的路径,这样的路径并没有用。当然,js里一个内置的对象提
2017-11-07 15:46:42 2423 2
原创 使用js获取鼠标位置坐标
在前端效果的实现中,我们有时候需要获取到鼠标位置的信息,例如:需要在鼠标悬浮在一个图片上时显示文字说明并且文字位置随着鼠标的移动而移动,这时候我们就需要根据鼠标的位置来设置文字的位置了。具体来说,获取鼠标位置信息的函数如下://获取鼠标的位置信息function mousePosition(e){ if(e.pageX || pageY){ //ff,chrome
2017-11-07 15:45:00 4941
原创 使用js实现循环轮播效果图
js实现循环轮播图效果的思路如下:使用一个div包含轮播图的显示部分,超出部分隐藏即可,而设置循环定时器通过调整轮播内容的外边距来使得图片产生移动效果,同时需要在最后加上第一张图片以实现无缝衔接。纵向滚动的具体代码实现如下:html代码:
2017-11-07 15:40:10 5315 2
原创 windows远程服务器发送ctrl+alt+delete组合登录
在远程登录windows服务器的时候,需要先按住ctrl+alt+delete组合才能打开登录选项,但是有个问题是按住ctrl+alt+delete之后,就会调出本地的任务管理器。网上的解决办法是用“ctrl+alt+end”代替,但是我试了之后发现没有效果。最后通过选择“轻松访问”中的“使用屏幕键盘”调出远程桌面的屏幕键盘,在屏幕键盘上按ctrl+alt+delete,最后就可以登录远程
2017-11-07 15:36:48 10665 1
原创 A*算法与matlab实现
A*算法是一种寻路算法,常常被用在游戏智能ai的自动寻路过程等等,它较之于图论的最短路算法而言,更加适用于节点巨大的情况下,但是该算法是一种启发式搜索算法,并不能保证总是找到最优路径。A*的算法思想如下:定义两个函数:f和g,其中f揭示当前点到出发点的距离,g揭示当前点到终点的距离。对于每个将要遍历的点,h=f+g是其启发函数,每次选择待选择节点中启发函数值最大的节点放入路径之中,重复...
2017-11-07 15:33:14 34908 16
原创 使用django框架搭建web应用
使用python进行web开发需要使用一些web框架,而这些web框架也可以帮助我们简单快速的搭建起一个web网站。常见的web框架有django,webpy等。这里我们使用django来开发一个简单的登录页面。1)首先,下载python,django并安装。具体安装过程在此不再赘述,可以自行百度。注意要配置好环境变量。2)然后使用django的命令行在想要创建项目的文件夹下创建一个web
2017-11-07 15:15:35 1487
原创 列举全排列的递归算法的java代码实现
在很多情况下,我们需要使用程序列举出一个数组或一个字符串中所有元素的全排列,一种最简单易懂的全排列算法就是递归算法,其算法思想如下:1、想要得到一个n个元素的全排列,只需要先拿出第一个元素,把剩下的元素全排列,得到 (n-1)! 个排列。2、再把第一个元素分别放在剩下的n-1个元素所形成的n个空格中(包括两端),于是得到 n*(n-1)!=n! 个排列。3、递归出口是n=1,那
2017-05-07 19:22:01 1057
基于socket和tkinter的python网络聊天室程序
2019-01-08
matlab+BP神经网络 手写体数字识别训练程序(含训练数据)
2019-01-05
django+python实现的web入门程序-注册登录功能-sqlite3数据库
2017-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人