- 博客(42)
- 收藏
- 关注
原创 同步与异步、堵塞与非堵塞
前言本文通过一个简单的例子带大家搞懂什么是同步和异步、堵塞和非堵塞定义同步和异步是线程的通信模式堵塞和非堵塞是线程的处理模式先给出总结性的定义,看不懂没关系,请继续往下看。堵塞和非堵塞首先我们举个简单的例子:张三要去买菜,买菜的路上突然看到了一家奶茶店,于是他决定先买杯奶茶再去买菜。张三点了奶茶后发现奶茶的制作要一定的时间,现在张三就有两个选择:原地等待,等待奶茶制作好后再去买菜不等了,先去买菜,买完菜后再回来取奶茶如果张三选择了第一种选择 - 原地等待,那么我们就可以理解
2021-01-22 17:05:40
439
原创 HashMap 实现原理
简介本文为我对 HashMap 实现原理的笔记整理以及一些个人理解,如若发现有错误的地方,欢迎留言指正在不同的 Java 版本中 HashMap 的实现也略有不同,本文示例使用的 Java 版本为:“1.8.0_181”什么是 Hash(散列函数)Hash 音译为「哈希」,它是把任意长度的输入通过散列算法变换成固定长度的输出,这个输出称为散列值。这种转换是一种压缩映射,也就是说散列值的空间远小于输入的空间,不同的输入可能会散列成相同的输出,所以 不可能从散列值来确定唯一的输入值。Map: ke
2021-01-20 15:07:21
735
2
原创 经纬度计算--笔记
<?php// 经纬度之间距离计算// 返回单位:米function distance($lon1, $lat1, $lon2, $lat2){ return (2*ATAN2(SQRT(SIN(($lat1-$lat2)*PI()/180/2) *SIN(($lat1-$lat2)*PI()/180/2)+ COS($lat...
2019-01-22 11:54:50
1239
原创 PHP简单实现切片上传
本篇仅作记录,不做教程,若需要详细讲解,请参考其它文章。实现思路:JS思路1.监听上传按钮的onchange事件2.获取文件的FILE对象3.把文件的FILE对象进行切割,并且附加到FORMDATA对象中4.把FORMDATA对象通过AJAX发送到服务器5.重复3、4步骤,直到文件发送完。PHP思路1.建立上传文件夹2.把文件从上传临时目录移动到上传文件夹3.所有的文件...
2019-01-09 00:01:27
2414
1
原创 关于Java精度运算问题
public class Test { public static void main(String[] args) { System.out.println(0.05+0.01); System.out.println(1.0-0.42); System.out.println(4.015*100); System.out.p...
2018-12-09 18:54:10
1404
原创 JAVA学习笔记之JDBC基础知识
JDBC全称:Java DataBase Connectivity (java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成package com.imooc.jdbc.demo1;import java.sql.Connection;import java.sql.DriverManager...
2018-11-21 00:04:19
319
原创 源码安装LNMP环境--PHP篇
PHP安装教程PHP版本:7.2.10资源下载:http://php.net/downloads.php一、 安装依赖yum -y install php-mcrypt yum -y install libmcrypt-devel yum -y install libxml2 yum -y install libxml2-devel yum -y install opens...
2018-11-18 23:48:53
325
原创 判断文件或目录是否有写的权限
参考:https://blog.youkuaiyun.com/u014649204/article/details/241143831、在windows中,当文件只有只读属性时,is_writeable()函数才返回false,当返回true时,该文件不一定是可写的。如果是目录,在目录中新建文件并通过打开文件来判断; 如果是文件,可以通过打开文件(fopen),来测试文件是否可写。2、在Unix中...
2018-11-16 23:37:16
3767
原创 源码安装LNMP环境--Nginx篇
Nginx版本:1.15.3资源下载:http://nginx.org/en/download.html一、 安装依赖yum -y install automake yum -y install autoconf yum -y install libtool yum -y install libxml2-devel yum -y install libxslt-devel ...
2018-11-15 22:37:54
324
原创 源码安装LNMP环境--虚拟内存篇
虚拟内存设置教程在安装MYSQL的过程中可能会出现如下错误:cc: internal compiler error: Killed (program cc1)Please submit a full bug report,with preprocessed source if appropriate.See <http://bugzilla.redhat.com/bugzill...
2018-10-28 08:02:44
630
原创 源码安装LNMP环境--MariaDB篇
MariaDB安装教程MariaDB版本:10.3.9资源下载:https://downloads.mariadb.org一、安装前准备卸载系统自带mariadb-libsrpm -qa|grep mariadb-libsrpm -e mariadb-libs-5.5.52-1.el7.x86_64 --nodeps此处的mariadb-libs-5.5.52-1.el7.x...
2018-10-28 00:27:23
690
原创 源码安装LNMP环境--序章
搭建LNMP环境一般是先安装Mysql/MariaDB, 再安装Nginx, 最后才是安装PHP## 搭建环境版本信息Linux:Centos 7.4.1708Nginx:1.15.3PHP:7.2.10Mariadb:10.3.9## 软件下载地址来源+ [Nginx](http://nginx.org/en/download.html)+ [PHP](http://ph...
2018-10-28 00:25:29
280
原创 详解POST与GET
参考资料:http://www.w3school.com.cn/tags/html_ref_httpmethods.aspPOST和GET同属于HTTP请求的两种方法。A、GET是从服务器获取数据,POST是向服务器提交数据B、与POST相比,GET的安全性较差,因为GET的请求参数是放在URL上的,而POST则是放在body里面C、由于GET的请求参数是放在URL上的,所以相比P...
2018-10-28 00:15:34
367
原创 解决PHP CURL POST 传递数据过大返回空值问题
问题:最近用PHP CURL POST请求一个接口的时候,发现返回一个空,打印日志也是空。问了接口提供方,接口提供方说我们这边连接到他们的服务器后,马上又断开了,并没有POST数据过去。最奇怪的是,只有个别数据会这样子,也就是说同样的数据结构传递,只是传递的值不同,有的访问正常,有的则是返回空值。 通过curl_error打印错误信息显示:empty replay from server。...
2018-07-19 21:32:30
7145
原创 【笔记】Linux下搭建git服务器
前言:最近学习如何使用git,所以在此对搭建git服务器的过程做个记录。本文内容参考自:1.https://www.cnblogs.com/dee0912/p/5815267.html2.https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000搭建环境:服务器 CentOS7.4 + gi...
2018-07-02 20:43:29
5187
1
原创 微信小程序登录态实现与维护
官方登录流程图:官方说明:小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器。开发者服务器以code换取 用户唯一标识openid 和 会话密钥session_key。 3.之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。接下来将以ThinkPHP3.2框架结合小程序讲解以上流程的简单实现。服务端...
2018-06-02 22:00:52
10501
原创 微信小程序的userInfoReadyCallback相关解释
关于微信小程序quickstart项目中的userInfoReadyCallback,大体可以总结以下三点:1.this.userInfoReadyCallback,这个方法是在page.onload中定义的。判断page.onload 中是否定义了this.userInfoReadyCallback2.如果定义了,则说明page.onload比当前方法运行的早(page已经完成初始化),app的...
2018-05-28 23:48:18
8417
3
原创 Linux下搭建FTP服务器教程
一、基本安装1.运行以下命令安装 vsftpd。yum install -y vsftpd2.运行以下命令打开及查看etc/vsftpdcd /etc/vsftpdls说明:/etc/vsftpd/vsftpd.conf 是核心配置文件。/etc/vsftpd/ftpusers 是黑名单文件,此文件里的用户不允许访问 FTP 服务器。/etc/vsftpd/user_list 是白名单文件,是...
2018-05-10 23:18:49
82923
10
原创 阿里云-LNMP环境搭建超详细教程03
三、安装php语言环境由于Centos7自带安装的php是5.4版本的 若想升级5.6可参考:https://blog.youkuaiyun.com/wplblog/article/details/521058881.首先,用户执行如下命令,安装php及其常用扩展包。若缺少扩展包,可能会导致php安装或运行失败。注意:如下命令不能换行,若换行,或导致扩展包或php安装失败!yum -y install php...
2018-04-29 16:31:56
1708
原创 阿里云-LNMP环境搭建超详细教程02
二、安装MariaDB(MySQL)从CentOS 7.0发布以来,yum源中开始使用MariaDB来代替MySQL的安装。即使你输入的是yum install -y mysql , 显示的也是MariaDB的安装内容。MariaDB 与 MySQL 区别 具体请参考:https://www.cnblogs.com/zhanglingfei/p/6010723.html若实在想安装MySQL请参考...
2018-04-29 08:43:42
1780
原创 阿里云-LNMP环境搭建超详细教程01
本教程参考自:https://edu.aliyun.com/lab/courses/14107e607fe742a88a60d1148d7b405c/detail?spm=5176.11105637.0.0.33G0gR很久没写博客了,最近购买了阿里云服务器,所以在此对搭建LNMP环境的搭建过程做个笔记。本次搭建环境:Linux:Centos7.4 Nginx:1.12.2Mysql /Maria...
2018-04-29 08:41:38
2084
原创 intval() 与 floatval() 解析字符串---笔记
$a = '2e3';echo intval($a); //2echo "<br/>";echo floatval($a); //2000官方解释:It seems intval is interpreting valid numeric strings differently between PHP 5.6 and 7.0 on one hand, and PHP 7.1 on...
2018-03-06 22:06:10
2584
原创 Linux安装Rdies和PHP Rdies 扩展02
开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/phpredis/phpredis/releases。1.1 下载:$ wget https://github.com/phpredis/phpredis/ar...
2018-03-04 18:42:43
605
原创 Linux安装Rdies和PHP Rdies 扩展01
之前也写过一篇在window环境下安装Rdies 现在来写写在Linux环境下安装Rdies总的来说,我在安装Redis还是挺顺利的,基本没遇到什么问题。但是在安装PHP Rdies 扩展就花了我好久,更无语的是,直到问题最后解决了我也不知道问题出现的原因....一、安装Redis$ wget http://download.redis.io/releases/redis-2.8.17.tar.g...
2018-03-04 17:29:30
621
原创 echo 逗号(,)和点号(.)的区别
之前在用echo输出多个字符串的时候一般都是用点号(.),后来才发现其实用逗号(,)更好。原因:使用逗号比点号运行效率更高分析:1.点号(.) 是字符串连接符,逗号( ,) 是参数间隔符。2.用逗号会先计算各参数部分,然后再进行连接;3.而点号与各种符号在一起时,会存在优先级问题,导致可能先连接后计算的问题例子:<?php echo '1ab2' + 2; //输出'3'echo '&l...
2018-03-04 16:39:24
1995
1
原创 .htaccess重写URL 实现http自动跳转https
在安装完SSL证书后,如果想实现输入域名自动跳转到https,则需要用到.htaccess来重写url。因为我的服务器是Linux主机 所以下面提供的是Linux系统的方法。在网站根目录下新建.htaccess文件,然后在文件里面添加如下代码:RewriteEngine OnRewriteCond %{SERVER_PORT} 80RewriteRule
2018-02-05 22:19:07
7287
原创 解决layui弹窗下的下拉选择框被遮挡或显示不全问题
问题:在做后台的时候想要实现这样一个功能,点击弹出一个窗口,窗口是下拉选择框,给用户选择。用到了layui,但是却发现,弹窗虽然固定了高宽,但是里面的下拉框,在显示的时候却被弹窗挡住了,导致滚动条出现。如下图:后来发现只要是不用layui提供的下拉选择框,是不会出现被遮挡的问题的。但是我还就非要用了,怎么滴了吧...研究很久,怎么解决呢?
2018-02-01 19:23:02
54741
13
原创 关于thinkPHP3.2.3 Rbac.class.php的认证方式 --- 笔记
在用 tp3.2自带的Rbac权限类做后台系统的时候,发现权限的添加不能实时的反应出来。最后发现是在配置验证方式的时候选择了登录验证导致的。配置文件如下: 'ADMIN_AUTH_KEY' => 'superadmin', //超级管理员识别 'USER_AUTH_ON' => true, //是否需要认证 'USER_AUTH_TYP
2018-02-01 18:57:54
386
原创 静态属性与静态方法--笔记
<?phpclass test{ //定义属性 public static $mA = "这是静态属性"; public $A = "非静态属性"; //静态方法 public static function sfun() { echo self::$mA; //内部调用静态属性 //echo $
2018-01-27 09:56:25
447
原创 win7+Linux(centos 7.2)双系统--总结
心血来潮想搭建一下win7+Linux的双系统,看了半天的百度,终于开始尝试搭建。这里不做教程只做总结,总结一下搭建过程中我踩的坑QAQ一、首先是准备阶段:1.两个U盘 (一个用来装win7,一个用来装Linux)因为我本来就是win7,所以直接用一个U盘来刻录linux.iso的镜像就好了2.系统分区 分出大约50G的空间来装Linux系统
2018-01-26 20:32:04
763
原创 Redis在windows下安装过程+API限流
本文主要介绍如何在win10系统下安装Redis服务器 ;主要是我在用tp3.2做api的时候想试一试api限流怎么做,在网上搜到了很多的方式,其中一种就是用Redis,所有又跑过去研究了一下Redis,在此做个记录。api限流方式资料参考:1.http://blog.41ms.com/post/61.html2.https://www.cnblogs.com/softid
2018-01-23 12:08:02
490
原创 Rbac权限管理系统(tp3.2)
学习资料:百度云盘:链接: https://pan.baidu.com/s/1brbbBrD 密码: 2yz2
2018-01-22 09:37:31
700
转载 attr()和prop()的区别
精华:To retrieve and change DOM properties such as the checked, selected, or disabled state of form elements, use the .prop() method. 根据官方的建议:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用pr
2018-01-19 08:05:36
286
原创 phpMyadmin忘记登录密码怎么办?
不小心忘记了phpMyadmin的登录密码,试了几次都进不去,迫不得已上网寻求答案,在此做个记录。分三步。第一步:找到安装MYSQL目录下的my.ini文件。比如我的位置在:D:\wamp64\bin\mysql\mysql5.7.14找到图中位置并添加语句保存:skip_grant_tables 然后重启wamp第二步:打开cmd 进入到D:\wamp64\bin\
2018-01-15 16:54:21
13745
原创 Linux系统搭建SVN教程
前景提要:最近正在学习如何在Linux系统搭建SVN,在网上也找到了很多相关教程,但是我发现很多教程都是只讲了一半的,什么意思呢?我们一般都搭建SVN是为了做版本控制的,而网上的部分教程只讲了如何搭建svn仓库,却没有说如何自动部署代码到项目。为此我在这做个整合。1.安装svnyum -y install subversion1.1安装成功:1.2查看版本号,确认是否正确安装svnserve --v
2017-07-23 15:13:45
630
原创 tp3.2 select查询 踩坑
本以为用过tp3.2框架写过几个项目,自认为对于tp3.2的查询方式已经是比较熟悉和了解,但是在某次做项目中一个查询出了错,找了好久才找到了问题。先来看看问题 $value="test"; //查询1 $result=M('test')->where("value='$value'")->find(); if($result) {
2017-07-21 23:47:22
6317
原创 PHP中==和===的区别在哪?
话不多说,上代码$a=0;$b="test";if($a==$b){ echo "true";}else{ echo "false";}if($a===$b){ echo "true";}else{ echo "false";}上面两个判断分别返回true和false,或许很多人会说这不是很简单的判断吗?但是对于我来说却是个很神奇的结果。。。那么
2017-07-21 23:10:06
10327
2
原创 thinkphp 页面跳转不显示问题 data-ajax="false"
最近在学用thinkphp框架写个小项目时,发现这样一个问题:通过模板界面写登录表单form,submit提交之后,跳转到的界面是一片空白,当手动刷新地址栏时,会报出错误。 <!--将表单提交到当前module的insert方法。--> <form name="RegForm" method="post" action="__URL__/insert" > <div data-rol
2016-12-31 12:55:58
1853
原创 在PHP中判断一个变量是否为整数
在写PHP代码的时候遇到这样一个小问题:如何判断一个变量是否为整数,于是在网上找到了两个方法来解决,在此做一个小小的记录。方法1<?php $num=12; //返回right //$num=12.1 返回false if(is_int($num)){ echo "right"; }else{ echo "false"; }?>这
2016-12-31 11:11:17
39698
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人