自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

free361的博客

醉着的马不由缰

  • 博客(33)
  • 资源 (6)
  • 收藏
  • 关注

原创 mysql8group by 与left join一起使用时,出现最后一条主表数据在join表对应数据丢失

这个sql语句正常不应该加group by,但是我理解在一一对应的情况下加group by不应该影响结果。machine_type_id存在的情况下其他数据都可以获取到title,只有最后一个没有拿到。经测试如果将其他null的值改为19,则这个值就拿到title了,下一个值会拿不到。如果将order by改为其他字段,则所有数据都正常。如果不用group by则正常。目前还没有思路,不知道什么问题...

2020-06-24 13:27:38 2493

原创 基于同音字的验证码

文字识别技术让传统汉字验证码不堪一击,突发奇想做了一个完全使用同音字的验证码。虽然避免不了被识别的命运,但是增加了识别复杂度和识别成本。demo地址:http://www.free361.com/demo.php?id=6class ChineseCaptcha{ public $pinyin = array(); //自动转换为指定字符集

2016-12-22 14:17:33 2256

原创 canvas汉字验证码

将原本在服务器端生成的验证码图形移动到浏览器端demo地址:http://www.free361.com/demo.php?id=5captcha.jsfunction canvasApp(_msg_str,callback_fun){ function canvasSupport(){ return Modernizr.canvas;

2016-12-22 14:09:57 626

原创 canvas几何证明:任意五角星顶点和相邻点组成的5个圆的交点共圆

已知:在任意五角星p1,p2,p3,p4,p5中,△p1,p6,p10、△p4,p7,p6、△p2,p8,p7、△p5,p9,p8和△p3,p10,p9各自的外接圆顺次相交的交点分别为p11,p12,p13,p14,p15。求证:p11,p12,p13,p14,p15五点共圆demo地址:http://www.free361.com/demo.php?id=4

2016-12-22 13:23:00 1792

原创 canvas圆周相对运动

demo地址 http://www.free361.com/demo.php?id=3圆周运动body{padding:0;margin:0;overflow: hidden;}#cas{display: block;}img{width:0;height:0; display:none;}window.addEventListener("load",event

2016-12-22 11:30:51 359

原创 canvas 笛卡尔心

demo地址:http://www.free361.com/demo.php?id=2笛卡尔心body{padding:0;margin:0;overflow: hidden;}#cas{display: block;}img{width:0;height:0; display:none;}window.addEventListener("load",e

2016-12-22 11:24:07 535

原创 canvas画蛋检测

需求:端午节搞一个画蛋的微信游戏,照虚线画好后判定谁最像,画的越好分数越高。分析:canvas可以实现画蛋,用透明度0的两条线按标准鸡蛋的内径和外径分别画两个椭圆,使用isPointInPath方法可以判断点是否落在某个路径中,因为手绘鸡蛋的线条有粗细,所以要设定落在画板上线条的宽度,在指定宽度内落在内圆与外圆中线中间的就算成功的。每移动一下都记录成功和失败的点,最后计算成功率。为了防止某些怪

2016-12-22 10:24:30 556

原创 centos-6 0006487: CPU#0 stuck for 67s

去年服务器挂掉,去机房看。满屏就是这个提示0006487: CPU#0 stuck for 67s重启可以进不到系统,加载差不多就开始不断打印这个错误。忙活了几个小时,百度毛都没搜到。后来还是翻墙google上找到的。原来是centos内核bug,冷启动即可。之前为省事,一直重启试的。https://bugs.centos.org/view.php?id=6487

2016-12-21 15:20:21 6566

转载 vi中ctrl+s无响应后如何退出

vi操作中经常习惯性ctrl+s保存,此时会进入类似锁屏状态,任何键失灵据说这是linux一个古老的快捷键解锁方式 ctrl+q

2016-12-21 14:52:52 2835

原创 mysql索引排序

在建立索引时有时要考虑的排序字段,将排序字段加入索引也可以缩小搜索范围explain select * from table_name where skin_id=4 order menu_order desc上图可见,对应没有索引的sql,按menu_order 倒序,使用到了filesort。filesort非常影响效率,在数据量不大的情况下会使用内存排序,将查询结果导入内存,

2016-12-21 14:01:18 799

原创 mysql忽略索引的例子

有时某字段明明设置了索引,sql也用到该字段做条件,但最终却没有使用索引。上图,cid为索引,选择性为59explain select * from table_name where cid=142上图显示,可用索引cid,但实际索引null。这是mysql查询优化器决定的,因为基数太小,只有59条。这种情况下如果使用索引,相当于多引入了一个表,

2016-12-21 13:54:46 918

原创 96秒sql语句优化

select c.*,max(cb.last_follow_time) as last_follow_time,cb.create_time as block_create_time from c_block cb left join customer c on c.id=cb.customer_id where cb.staff_id=76 and cb.give_up_time is null

2016-12-21 13:16:40 251

原创 30秒优化到0.01秒

在一次慢查询检查中发现一条超过30秒的语句,当时详细记录了优化过程,在此分享我的优化过程//原始查询语句select s.time,m.uid,m.cid,m.content_id,c.table_name,c.pid,f.content_code,m.set_date from h_slave as s left join h_master as m on m.id = s.rm_id

2016-12-21 10:55:44 337

原创 mysql延迟关联

所谓延迟关联,就是本来通过一个比较耗时的条件搜索到全部数据的sql,分解为先通过该条件搜索到对应id,再用id内联原表取得所有字段值例1:使用延迟关联方式,比直接搜索快一倍多select * from house_rent where c_datetime>'2013-06-08' and title like "%宣庆街%"(共 25 行, 查询花费 0.1435 秒)id   se

2016-12-21 10:18:49 795 1

原创 mysql随机排序

需求:首页热门栏目需要随机显示几条信息方案1:order by rand(),全表扫描SELECT SQL_NO_CACHE * FROM `house_rent` order by rand() limit 10(共 1 行, 查询花费 0.1069秒)explain SELECT * FROM `house_rent` order by rand() limit 1id    se

2016-12-21 10:03:39 22302

原创 mysql前缀索引

当要索引字段长度较长,不利于放入索引时,使用前缀索引。可以为索引字段指定长度,即在该字段前n个字符上生成索引。那么具体取多少个字符做索引?1.计算该字段选择性 = a2.分别计算该字段取n个字符的选择性3.当n与a接近,或n增大对a影响较小时,记得到最优的n实例:表house_rent,title字段没有索引,使用选择性计算方法计算前缀个数//查询分析

2016-12-20 17:17:01 383

原创 php致命错误的异常捕获

使用register_shutdown_function函数绑定捕获函数使用error_get_last函数捕获当前错误信息register_shutdown_function("errorCheck");function errorCheck(){ $error=error_get_last(); // print_r("");// print_r($e

2016-12-20 16:17:38 5920

原创 抽奖概率算法

需求1.指定时间:一天2.固定奖品个数 :103.希望概率根据实际情况变化,不要太快抽完,也不要到结束也没人抽到4.每人抽一次分析1.剩余时间越少,概率应该越高,这要保证前期不会太快,基数/剩余时间2.剩余奖品越少,概率应该低,奖品越少越应该控制不要太快抽完,降低概率可以做到这点,基数*剩余奖品3.参加人数越多,概率应该越低,人的基数增加,降低概率可以保证抽

2016-12-20 13:32:42 5956

原创 太公分肉算法

/** *太公分肉算法 * 算法名由来:几年前网上一个兄弟的帖子,当时写了需求和简单的想法,但是没有求出结果。太公是南方的称谓,意思就是几个孙子去爷爷家,然后爷爷要分肉,但是肉的大小切的不一样,想要每个孙子分的个数一样,而且重量也尽可能一样。 * 期望:两个个数相同的数组,要重新分配为两份(个数一样),要求两份数组的和尽可能相近 * 原理:1.合并数组,因为要重新合并,原数组顺序没

2016-12-19 15:42:01 396

原创 smarty的局部缓存

方案1:insert标签php端函数function insert_mytime(){return "abc";}smarty的include是引入模板,会使用缓存。而insert是调用一段程序,可能根据程序动态读取内容,而且不会使用缓存。方案2:blockname标签....

2016-12-19 15:17:14 548

原创 smarty 字符串连接替换cat,replace

需求:如果有关键词,则将关键词套红显示cat 字符串连接regex_replate 正则替换 "|cat:$keyword|cat:""}>

2016-12-19 14:44:26 2611

转载 smarty 判断奇偶

...

2016-12-19 14:17:05 1055

转载 dos删除系统服务

查看命令sc删除某服务sc delete "服务名" 服务名称可以到 计算机管理-服务 中查看

2016-12-19 13:29:49 828

转载 dos 通过ip获取局域网电脑mac

在底层的网络通信中,两个节点想要相互通信,必须先要知道源与目标的MAC地址。为了让系统能快速地找到一个远程节点的MAC地址,每一个本地的内核都保存有一个即时的查询表 (称为ARP缓存)。ARP中有影射远程主机的IP地址到其对应的MAC地址的一个列表。地址解析协议(ARP)缓存是一个常驻内存的数据结构,其中的内容是由本地系统的内核来管理和维护的。默认的情况下,ARP缓存中保留有最近十分钟本地系统与之

2016-12-19 13:23:50 1274

转载 dos 追踪网关

tracert www.baidu.comTracing route to www.a.shifen.com [61.135.169.121]over a maximum of 30 hops: 1 * * * Request timed out. 2 6 ms 1 ms 1 ms 125.211.86.149

2016-12-19 13:21:05 960

转载 localhot 与 127.0.0.1 的区别

localhost 不经网卡传输!不受网络防火墙和网卡相关的的限制。127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。本机IP 也是通过网卡传输的,依赖网卡,并受到网络防火墙和网卡相关的限制。 但是本机IP与127.0.0.1的区别是: 127.0.0.1 只能通过本机访问,而本机IP通过本机访问也能通过外部访问。在配置服务器时可以用

2016-12-19 11:02:41 821

原创 apache日志直接存库

mysql建表CREATE TABLE IF NOT EXISTS `apachelog` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(100) COLLATE utf8_bin DEFAULT NULL, `status` varchar(100) COLLATE utf8_bin DEFAULT NULL

2016-12-19 10:39:27 228

原创 客户端伪造代理服务器ip进行sql注入

前几天同事发现网站访问异常慢,经过排查,发现mysql亚历山大。果断查看日志,发现大量这样的查看# Query_time: 5.019276  Lock_time: 0.000066 Rows_sent: 0  Rows_examined: 1SET timestamp=1477759063;update wa_search_record SET keyword_length= '

2016-12-16 16:30:24 2758

原创 php mysql ip地址转换

mysql中经常需要ip地址字段,如何设计字段才能称得上是品学兼优的好设计?下面分析几种设计模式方案1:varchar(15)-varchar(255)大部分新手只要是字符串字段,不管什么类型,全部varchar(255)。有些考虑深一步用varchar(15),其实15跟255在这里没有区别,因为ip地址是15个字符,mysql实际保存时一定会先存15个字符,后面还会跟一个长度字符。所以

2016-12-16 15:23:04 433

原创 php curl 在不读取完整图片的情况下获取图片大小

此事的起因是同事做微信投票,遇到一个问题。从微信服务器下载用户头像时极卡,平均在1分钟左右。图片才十几k而已。当时用的是file_get_contents函数,我分析有可能是微信头像的地址没有图片格式或者服务器的问题,导致file_get_contents不知道什么时候结束。所以用curl改造了一个方法,先通过头信息获取图片大小,然后用file_get_contents指定获取字节。事实证明可行,速度极快,而且图片完整。

2016-12-16 14:41:59 3365

原创 php array_map,for,foreach性能测试

array_map是php自带的使用回调函数的数组批处理函数,看到这类函数的结构我就怀疑其处理效率。做了个小测试

2016-12-16 14:03:16 4579

原创 php递归提取质因子

//$n整数//$a要除的质子function getSing($n,$a=2,$out = array()){ if ($n==1) { return false; }elseif ($n%$a == 0) { //余数是0表示整除,则$a为质因子 $out[$a] = empty($out[$a])?1:++$out[$a];

2016-12-16 13:28:45 450

原创 php递归、尾递归计算阶乘

c语言有尾递归之说,可以立即释放内存,效率也比递归要高。之前使用php做了测试,测试结果显示尾递归在php中并没有效果。

2016-12-16 09:43:14 2577

IP地址10进制表述互转1.3

自动识别输入的是ip地址描述还是10进制值,双击列表中的选项可复制到剪切板

2015-12-30

IP地址10进制表述互转1.2

自动识别输入的是ip地址描述还是10进制值,双击列表中的选项可复制到剪切板

2015-12-30

IP地址10进制表述互转

自动识别输入的是ip地址描述还是10进制值,双击列表中的选项可复制到剪切板

2015-12-29

rgbhex拾色器1.3

不是简单的拾色器,可以抓取屏幕上颜色,按ctrl键保存到临时列表中。列表可保存多个颜色,单击列表可查看颜色效果并转换成hex,hsv,Lab,cmyk,双击可复制到剪切板。可设置快捷键。抓取的颜色会保存到安装目录bak.txt。 备注:cmyk、Lab转换值与ps不完全一致 修复之前版本几个bug

2015-12-11

rgbhex拾色器1.2.1

不是简单的拾色器,可以抓取屏幕上颜色,按ctrl键保存到临时列表中。列表可保存多个颜色,单击列表可查看颜色效果并转换成hex,hsv,Lab,cmyk,双击可复制到剪切板。可设置快捷键。抓取的颜色会保存到安装目录bak.txt。 备注:cmyk、Lab转换值与ps不完全一致

2015-12-11

rgbhex拾色器

不是简单的拾色器,可以抓取屏幕上颜色,按ctrl键保存到临时列表中。列表可保存多个颜色,单击列表可查看颜色效果并转换成hex,hsv,Lab,cmyk,双击可复制到剪切板。可设置快捷键。抓取的颜色会保存到安装目录bak.txt。 备注:cmyk、Lab转换值与ps不完全一致

2015-12-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除