魏长东

weichangdong

本站的几个特色功能

平时逛别的一些大牛的技术博客,看到比较好的效果,就“拿来主义”,用到这个小小站里面了。有这么几个特色。

1. 浏览文章时,用鼠标选中文字的时候,可以分享到【腾讯和新浪微博】。

2.上传图片,加了【图片水印】。

3. 实现了文章可以【加精华】。

4. 加了支付宝的【捐赠】功能。

5. 加了文章【置顶】功能。

【特别说明】以上实现的功能都是基于新浪SAE的环境。因为SAE 不再赠送免费的云豆给【中级云开发者】了,所以就吧网站被迫签到redhat的openshift。 本站的原本地址是wcd-wcd1986.rhcloud.com  所以一些功能给切掉了。比如图片之前传到SAE的仓库,现在通过sdk传到了【七牛】。

【再次说明】因为本站通过了备案,所以再一次迁移到了【阿里云的云虚拟主机】上。图片还是存在【七牛】上,用了cdn加速。

欲知效果如何,且看图片展示。

»»阅读全文

Tags: 封狼居胥

好久没来了

最近在做一个新项目,比较忙,所以很少光顾我这个荒芜之地了。

最近在做的项目,我大胆滴使用了openresty,虽然好多地方需要自己去塘坑(其实也不尽然,网上还是可以找到有用的零星资料),感觉lua用起来还是听顺手了。这次也用了不少库。

主要实现的功能有,数据库mysql的两种操作方式,ngx下的和cmd下lua的,redis的两种操作方式,ngx和cmd下的lua。api接口当然是使用ngx了,自己还做了命令行的工具,就需要另一种非ngx的操作方式。这次接口多数都是redis操作,对redis更加熟悉了,真是个好东西。

图片视频的上传,aws的preupload(现在lua实现的有点问题,就用golang实现了),批量上传,已经文字和图片一起提交的方式,uuid的ngx和lua两种方式。aes加密,fb登录,微信支付已经对应的验证,google的支付验证,马上要做paypal的支付。这不仅在技术上是挑战,在业务上也是之前没有涉及到的,所以这个项目对自己的技术和业务应该有很大的提升。

还有邮件的发送,lua的coroutine的应用(虽然对这一块还很生疏),访问频率的限制,发现ngx做访问限制这一块真的很方便,虽然别的语言结合redis也很好实现,但是ngx实现这个真的很简单。

最近又在学习go语言,发现go语言是大势所趋,所以也赶赶时髦。现在php,lua两种语言都可以作为擅长的开发 语言了,估计go也快了。不想在去学别的什么新语言了,就吧php,lua,go掌握好,应该够用了。当然有时间可以搞搞c语言,因为lua好多地方用到了c语言,无论是ffi还是编译出来的so文件。

libgd.so.2: cannot open shared object

安装完后,执行命令的时候出现:error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

解决办法如下:

1.在/etc/ld.so.conf中加一行/usr/local/lib,

 2.然后运行/sbin/ldconfig,文件解决,没有报错了~~

lua 验证码

copy fron 阿里云栖(记录备用)

 

安装gd,GD版本:gd-2.0.33

yum install -y libjpeg-devel libpng-devel freetype-devel fontconfig-devel libXpm-devel

$ wget http://www.boutell.com/gd/http/gd-2.0.33.tar.gz
$ tar zvxf gd-2.0.33.tar.gz
$ cd gd-2.0.33
$ ./configure
$ make && make install

»»阅读全文

php array_multisort

<?php
$uploaded_img_files=[];
$uploaded_img_files[] = [
                            'full_name' => '3.jpg',
                            'extension' => 'jpg',
                            'file_name' => '3',
                            ];
$uploaded_img_files[] = [
                            'full_name' => '1.jpg',
                            'extension' => 'jpg',
                            'file_name' => '1',
                            ];
$uploaded_img_files[] = [
                            'full_name' => '2.jpg',
                            'extension' => 'jpg',
                            'file_name' => '2',
                            ];
                            
        
        $uploaded_img_files[] = [
                            'full_name' => '7.jpg',
                            'extension' => 'jpg',
                            'file_name' => '7',
                            ];   



//array_multisort ( $uploaded_img_files [ "file_name" ],  SORT_NUMERIC ,  SORT_DESC );


          foreach ($uploaded_img_files as $key => $v) {
            $need_sort[$key] = $v['file_name'];
          }          
          array_multisort ( $need_sort , SORT_NUMERIC, SORT_ASC , $uploaded_img_files );     
             
                          //  print_r($uploaded_img_files);
                 
$str = 'http://sanguofengyun.i.wcd.com/sticker/6_149742815654.png,
http://sanguofengyun.i.wcd.com/sticker/5_149742815683.png,
http://sanguofengyun.i.wcd.com/sticker/4_149742815730.png,
http://sanguofengyun.i.wcd.com/sticker/3_149742815853.png,
http://sanguofengyun.i.wcd.com/sticker/2_149742815889.png,
http://sanguofengyun.i.wcd.com/sticker/1_149742815996.png';
          
          $wcd = explode(',',$str);
          $need_sort=[];
     foreach ($wcd as $key => $v) {
        $tmp = explode('/',$v);
        $tmp = array_pop($tmp);
        $seq_name = explode('_',$tmp)[0];
        
            $need_sort[$key] = $seq_name;
          }          
          array_multisort ( $need_sort , SORT_NUMERIC, SORT_ASC , $wcd ); 
          print_r($wcd);                    

无缘日本

公司团建去日本5日游,要办护照,当时没有居住证材料,主要是自己当时没用心,想着去不去无所谓,但是真当大家都去了,心里还是空荡荡的。虽然护照已经办下来了,但是不知道何时能出鞘。

发了条微博:

无缘日本,无心上班。

心似脱缰野马脚下无东西,意如无根浮萍前方没左右。

都说塞翁失马焉知非福,会有怎样的福呢?????

ThinkPHP运算符与mysql运算符 对照表

ThinkPHP运算符 与 SQL运算符 对照表
TP运算符	SQL运算符	例子	实际查询条件
eq	=	$map['id'] = array('eq',100);	等效于:$map['id'] = 100;
neq	!=	$map['id'] = array('neq',100);	id != 100
gt	>	$map['id'] = array('gt',100);	id > 100
egt	>=	$map['id'] = array('egt',100);	id >= 100
lt	<	$map['id'] = array('lt',100);	id < 100
elt	<=	$map['id'] = array('elt',100);	id <= 100
like	like	$map<'username'> = array('like','Admin%');	username like 'Admin%'
between	between and	$map['id'] = array('between','1,8');	id BETWEEN 1 AND 8
not between	not between and	$map['id'] = array('not between','1,8');	id NOT BETWEEN 1 AND 8
in	in	$map['id'] = array('in','1,5,8');	id in(1,5,8)
not in	not in	$map['id'] = array('not in','1,5,8');	id not in(1,5,8)
and(默认)	and	$map['id'] = array(array('gt',1),array('lt',10));	(id > 1) AND (id < 10)
or	or	$map['id'] = array(array('gt',3),array('lt',10), 'or');	(id > 3) OR (id < 10)
xor(异或)	xor	两个输入中只有一个是true时,结果为true,否则为false,例子略。	1 xor 1 = 0
exp	综合表达式	$map['id'] = array('exp','in(1,3,8)');	$map['id'] = array('in','1,3,8')

端阳佳节

百无聊赖,打开pad随便写几句。

昨天生病了,发现自己现在真是轻易不生病,一病病死人啊,不过来的快也去得快,但是来的时候让人难以招架啊。

今天给家里打电话了,随口说了让我妹妹来北京帮yy带小柠檬,结果我妈说,现在孩子大了,一个人还带不过来,yy听了很生气,其实我也老大不高兴,带娃真的很累,不知道那个年代我是怎么被带大的,难道很容易么?最近我和yy都吃坏肚子,大人不吃饭,小孩还得吃奶。

哎,有时候觉得很累,没个人帮衬,全凭自己,别人都爷爷奶奶,姥姥姥爷的,希望我的娃将来不会像我一样,一切从零开始,一切靠自己奋斗。

layui

很不错的一套前端框架。laydate 是其中一个时间插件,很好用。