<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[拭血的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lsg9012</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lsg9012]]></copyright><item><title><![CDATA[关于编译安装提示No package ** found时可能需配置pkg-config]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/106117895</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/106117895</guid><author>lsg9012</author><pubDate>Thu, 14 May 2020 13:46:13 +0800</pubDate><description><![CDATA[在编译安装时，可能出现：


No package '**' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables OPENSSL_CFLAGS
and OPENSSL_LIBS to avoid the need to]]></description><category></category></item><item><title><![CDATA[MySQL各种关联查询的底层算法最终归为一种]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/103723783</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/103723783</guid><author>lsg9012</author><pubDate>Thu, 26 Dec 2019 23:14:16 +0800</pubDate><description><![CDATA[MySQL的普通联接、内联接、外联接、左联接、右联接、自然联接……，算法层的处理，到最终只有一种联接——普通联接。

先简单的描述一下常用联接：

1. 普通联接


SELECT * FROM T1, T2 WHERE T1.id=T2.id AND T1.id=1

很多文章也说这是 INNER JOIN 的简写，但 MySQL 文档中并未如此说，只是说在无联合条件下是语义相同的，内联接表达...]]></description><category></category></item><item><title><![CDATA[python日期与时间戳的各种转换]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/86546345</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/86546345</guid><author>lsg9012</author><pubDate>Fri, 18 Jan 2019 20:55:03 +0800</pubDate><description><![CDATA[官方文档的示例中没有我们习惯的日期格式，查了很多博客转换日期和时间戳也都是大概的能得到结果的方式，常将 datetime 和 time 两个模块混用，个人觉得时间格式化不应该这么麻烦，还得用两个模块来支持？故而翻遍了源码，总结以下常用的几种日期和时间戳的转换方式。
以下主要有三个元素（时间字符串，格式，Unix时间戳），可将时间字符串转为另一种时间格式，或将时间字符串转为时间戳，或将时间戳转为时间...]]></description><category></category></item><item><title><![CDATA[PHP cURL模拟登录HTTPS无验证码的WebServices]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/78983941</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/78983941</guid><author>lsg9012</author><pubDate>Fri, 05 Jan 2018 18:08:43 +0800</pubDate><description><![CDATA[近期使用PHP的SoapClient调用.net的WebServices始终行不通，然而又没有对方技术人员支持的情况，尝试着 WSDL 模式和 non-WSDL 模式都无果，在 new SoapClient时直接会报错，在网上找了一个服务是可以正常调用的，说明运行环境正常：

$wsdlUrl = "http://www.webxml.com.cn/WebServices/IpAddressS]]></description><category></category></item><item><title><![CDATA[说说Yaf Plugins的使用]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/78933363</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/78933363</guid><author>lsg9012</author><pubDate>Fri, 29 Dec 2017 17:20:44 +0800</pubDate><description><![CDATA[关于Yaf Plugins的介绍资料都比较简单，下面说说使用的实例。在 Bootstrap 中注册插件来实现验证登录、多Module的Layout、SEO TDK设置、Rewrite等操作]]></description><category></category></item><item><title><![CDATA[使用Swiper库实现从右向左排列的列表块]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/78627745</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/78627745</guid><author>lsg9012</author><pubDate>Fri, 24 Nov 2017 20:06:33 +0800</pubDate><description><![CDATA[改变Swiper JS库提供的demo方式(170-slides-per-column.html)，从右向左排列表，然后从左向右滑动查看。提供的demo是从左向右排列的，如果使用float那都排在一行，到了宽度边界自动这行，这不是想要的结果，所以利用Swiper 4.0.6库现有的方式可以快速实现。首先需要将Swiper库的源码做个小小的改动(大致在1300行)，不影响升级，但升级后没有改的话只是回到从左向右排...]]></description><category></category></item><item><title><![CDATA[字符串自带有效期的验证]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/78258044</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/78258044</guid><author>lsg9012</author><pubDate>Tue, 17 Oct 2017 10:55:01 +0800</pubDate><description><![CDATA[字符串自带有效期的验证，通过 md5 加密后的字符串本身不具有效期限，而且值是恒定的。想要每次获取的值不一样而且能通过验证，就需要时间戳或随机数的参与，详见代码和注释...]]></description><category></category></item><item><title><![CDATA[自定义简单的JS模板遍历]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/78099573</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/78099573</guid><author>lsg9012</author><pubDate>Tue, 26 Sep 2017 16:12:22 +0800</pubDate><description><![CDATA[将Ajax返回来的数据拼成HTML字符串以往常用“ += ”拼接而成，当字符串较长时不方便阅览和修改，想通过模板遍历的方式实现而又不愿为此引入模板引擎JS库，所以自己写了个简单的方法将数据和模板分离。
模板中将变量使用同一前缀加变量名的方式替换，遍历时使用 replace 正则匹配替换成返回的数据]]></description><category></category></item><item><title><![CDATA[在Yaf框架开发的项目中使用Yii的方式处理URL链接]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/78045459</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/78045459</guid><author>lsg9012</author><pubDate>Wed, 20 Sep 2017 21:02:03 +0800</pubDate><description><![CDATA[在早起的项目开发中都是先正常开发使用动态地址访问，接近完成时才对链接rewrite处理，这样会有一个坑，那么多页面那么多的链接一个个按照rewrite规则去改真是受够了。自使用Yii框架后这些问题就很容易解决，在控制器中使用 $this->createUrl() 处理也可以覆写父方法重定处理URL方式。

最近使用Yaf开发的项目，于项目启动时就已对URL链接作了规划，使用Yii的方式处理。]]></description><category></category></item><item><title><![CDATA[Chrome Extension notifications【谷歌浏览器扩展之弹窗通知】]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/77723301</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/77723301</guid><author>lsg9012</author><pubDate>Mon, 04 Sep 2017 10:37:39 +0800</pubDate><description><![CDATA[使用 chrome.notifications API 须先配置 manifest 文件中的 permissions ：
"permissions": [
	"notifications",
	"downloads",
	"storage"
]
调用示例：
chrome.notifications.getPermissionLevel(function(level){
	if( level]]></description><category></category></item><item><title><![CDATA[Chrome Extension Ajax & downloads【谷歌浏览器扩展之Ajax和下载】]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/77720952</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/77720952</guid><author>lsg9012</author><pubDate>Wed, 30 Aug 2017 19:49:42 +0800</pubDate><description><![CDATA[在扩展内使用 Ajax 可引入 jQuery 库。
        下载使用 chrome.downloads API，此 API 只能在 background 中使用，content_scripts 中使用会报错。所以在 content_scripts 中获取到要下载的资源后，通过消息（chrome.runtime.sendMessage() API）发送给 background 进行下载。]]></description><category></category></item><item><title><![CDATA[Chrome Extension options_page & storage【谷歌浏览器扩展之选项页和storage】]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/77720714</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/77720714</guid><author>lsg9012</author><pubDate>Wed, 30 Aug 2017 19:13:18 +0800</pubDate><description><![CDATA[使用 chrome.storage.local API 存储 options_page 页的配置信息，须在 manifes 文件里配置 options_page 和 permissions，页面已禁止内嵌的 js 和 css（style标签），须引入文件方可。
"options_page": "options.html",
"permissions": [
	"storage"
]

浏览器]]></description><category></category></item><item><title><![CDATA[Chrome Extension sendMessage & sendRequest【谷歌浏览器扩展之消息通信】]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/77718471</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/77718471</guid><author>lsg9012</author><pubDate>Wed, 30 Aug 2017 18:35:08 +0800</pubDate><description><![CDATA[嗯，标题不是翻译。
        简言 content_scripts 在浏览的网页中运行（注入），background & options_page 在应用里运行，但 content_scripts 可与应用通信，窗体的交互参考前面提供的文档或官方的图和介绍这里不赘述。


       前后台消息通信，刚开始接触时使用一些文档中提供的方法用不了。前后台的发送、接收消息的方式不同，长连]]></description><category></category></item><item><title><![CDATA[Chrome Extension manifest【谷歌浏览器扩展之配置】]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/77717327</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/77717327</guid><author>lsg9012</author><pubDate>Wed, 30 Aug 2017 16:30:38 +0800</pubDate><description><![CDATA[写了几个谷歌浏览器扩展，帮我省了不少较重复性的工作，由于不常写扩展导致每次写的时候都要去翻文档，故将大致流程记录下来以便后期快速完工，文档上有的流程不赘述。
这次使用一键保存当前页所有图片的例子，最初的思路：

1. 开启则在浏览器右侧浮动小图标，点击展示小窗口
2. 选项页（localStorage），设置获取图片的最低宽或高，400、600、800、1000等值，保存方式：另存为、替换、]]></description><category></category></item><item><title><![CDATA[将Excel中的图片URL地址转成图片文件]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/77162976</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/77162976</guid><author>lsg9012</author><pubDate>Mon, 14 Aug 2017 16:29:26 +0800</pubDate><description><![CDATA[前阵子从数据库中导出数据给业务，但是图片是个URL，业务需要在 Excel 中直接显示图片，因此在网上爬了很多VB脚本尝试修改，最终将Excel中的图片URL转换成了图片。
VB脚本 LoadImage.bas ：
' charset GB2312 . Excel 中的图片链接转为图片文件

Attribute VB_Name = "LoadImage加载图片"
Sub LoadImage()]]></description><category></category></item><item><title><![CDATA[拭血长短句手札【2013-2017】微信公众号 shixuemp]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/74076592</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/74076592</guid><author>lsg9012</author><pubDate>Sat, 01 Jul 2017 20:26:06 +0800</pubDate><description><![CDATA[满纸荒唐言，一把辛酸泪
—— 曹雪芹


选自2013年后至2017年的大部分记录计55文，述浮生之飘零



2017

遇杯水别五道营胡同喧市古巷试苦茶，白日急归顷刻斜枯枝向云开一束，风摇老树霜打鸦二〇一七年一二月三一日*
 遇友杯水于五道营十月卅日登虎峪登临虎峪见伏龙，冰铺愁涧潜水淙逸兴凭风踏云去，信步闲游行无跫二〇一七年一二月一七日*
 与友至居庸关误入三岔口村上阳]]></description><category></category></item><item><title><![CDATA[Apache开启伪静态后接受不到URL问号后的参数，静态资源无法访问]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/51671464</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/51671464</guid><author>lsg9012</author><pubDate>Tue, 14 Jun 2016 14:42:43 +0800</pubDate><description><![CDATA[基于Windows和Apache，使用 Yaf 框架（自带路由）开发时 Apache 开启了伪静态导致无法加载静态资源、接收不到参数，原因是问号后的参数被当着整串字符串了（有些日子了，应该是这个原因）无法解析参数，解决方法：RewriteCond %{QUERY_STRING} ^(.*)$   RewriteRule  ^/(.*)  /index.php?$1 [L,QSA]]]></description><category></category></item><item><title><![CDATA[Windows安装Nginx并支持PHP]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/49026309</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/49026309</guid><author>lsg9012</author><pubDate>Sat, 10 Oct 2015 17:18:07 +0800</pubDate><description><![CDATA[在 Windows 系统下安装 Nginx 并且支持 PHP，为方便本地开发，不再切换到测试机或虚拟机中。


一、Nginx下载安装

nginx.org 下载一个 Nginx Stable version，解压到指定目录即可


http://nginx.org/download/nginx-1.8.0.zip
二、修改配置文件

配置文件：conf/nginx.conf]]></description><category></category></item><item><title><![CDATA[Iphone设置http代理使用Fiddle抓包]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/46710663</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/46710663</guid><author>lsg9012</author><pubDate>Wed, 01 Jul 2015 15:38:46 +0800</pubDate><description><![CDATA[今天使用Fiddle抓取Iphone应用程序请求网络的数据，遇到了设置HTTP代理后访问不了网络了的问题，故记录一下设置方法。
首先，设置Fiddle，将Tools -> Connections 下的 Allow remote computers to connect 勾上：




将手机连接上Wifi 设置，点击已连接的wifi进入详细设置，设置HTTP代理：


服务器设置]]></description><category></category></item><item><title><![CDATA[将BBCode代码解析成HTML]]></title><link>https://blog.youkuaiyun.com/lsg9012/article/details/43307049</link><guid>https://blog.youkuaiyun.com/lsg9012/article/details/43307049</guid><author>lsg9012</author><pubDate>Fri, 30 Jan 2015 14:47:39 +0800</pubDate><description><![CDATA[前两周写了将 smilies 转换成正常图片，本想贴一下BBCode的解析，然后今天看到了有 Bulletin Board Code 解析成HTML的扩展]]></description><category></category></item></channel></rss>