WebDev
[PY]复杂情况(GAE)下Django的模板搜寻顺序自定义
嘛,作为下定决心学习新技术系列,正式开始折腾Django了,作为不放到网上跑会死星人放和不折腾会死星人,以及没钱买VPS穷鳖星人果断选择了在GAE上搭Django环境来玩,多亏python系和google系的众多Geek,让我有很多已有的open-source的project可以引用(后附清单)
因为引用的东西很多,所以目录管理成了很重要的一个问题,模板目录是一个比较复杂的问题,因为众多ap[......]
[PHP]微博用分割消息代码(避免分割URL等语素
给自己的推特机器人用的代码,避免分割URL、@、#,另外会在后面表明消息总条数和当前编号,另外由于多数客户端都是新的在前面,所以逆向输出以方便阅读
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | public function tweet($msg) { $msg = trim($msg); if(($len = mb_strlen($msg))>130) { if($len > 1200) gx::throw_('tooooo long msg x_x'); $nonbreak = '%((?:@[a-zA-Z0-9_\-]+)|(?:#[\S]+)|(?:https?://[\w\s\.]+(?:/\S*)?))%'; $units = preg_split($nonbreak, $msg,-1, PREG_SPLIT_DELIM_CAPTURE); $msgs = array(); $buffer = ''; while($u=array_shift($units)) { if(mb_strlen($buffer)+mb_strlen($u) > 120) { if(preg_match($nonbreak, $u)) {//this unit is non-break! $msgs[] = $buffer; $buffer = $u; continue; } //break words $buffer .= $u; while(mb_strlen($buffer)>120) { $msgs[] = mb_substr($buffer,0,120); $buffer = mb_substr($buffer,120); } } else {//not too long yet, wait for next unit $buffer .= $u; } } $now = $all = count($msgs); $objs = array(); while($m = array_pop($msgs)) {//output in reversed order $objs[] = $this->tweet($m."($now/$all)"); $now--; } return $objs; } list($code, $response) = $this->request('1/statuses/update.json', 'POST', array( 'status' => $msg )); if ($code == 200) { return json_decode($response); } else { gx::throw_(htmlentities($response), $code); } } |
[PHP]QueryPath中的编码问题
其实发现QueryPath这个神奇的类库已经是几年前的事情了,QueryPath是一个PHP的DOM操作类库,仿jQuery风格。最近终于有机会来实战一把,却遇到了万恶的编码问题,根据API文档用convert_to_encoding来控制编码却一直失败(源码是UTF-8的),拿起了传说中的霰弹枪一顿乱打之后,还是在PHP官网的手册评论里面找到了答案,嗯,来一段代码或许更清楚一些
410c2ec[......]
真·SWF图片幻灯(JS-ActionScript通信)
图片幻灯是一个异常古老而经典的Flash应用,然而实际应用时发现网上找的多数幻灯效果都停留在上个世纪的水平,所谓的JS+SWF不过是document.write罢了
正好在项目里要用图片幻灯,也思考了一下,Flash的唯一长处在于显示图片切换效果的时候更加流畅、自然,但在灵活性上输JS无数条大街,于是自己动手写了个SWF图片幻灯,非常简单,对外接口只有2个:一个JS回调方法loadImage[......]
userscript开发笔记:contentEval解决访问全局JS变量/资源问题
嗯,整了一个userscript 玩玩,过程中发现UserScript访问页面中定义的JS变量(比如说jQuery的美刀$) 在不同环境(FF+GreaseMonkey/Chrome原生/Chrome+不同的userscript管理扩展)下有各种稀奇古怪的问题,FF的GreaseMonkey里的unsafeWindow丑陋又不靠谱,Chrome原生干脆不支持unsafeWindow,Chrome的一些插件尝试了支持unsafeWindow但即不靠谱,还要多装一个东西……
搜索了一下找到一个很好的解决方案,在这里记录一下
[......]
拿自己写的框架给自己的WP外面套了一层缓存
于是响应时间……

话说wordpress的代码真渣啊……充满了全局变量,各种命名污染,虽然有统一入口文件,但其他地方要调用之实在是没什么可能性(从函数内也就是没有全局scope的地方)……于是只好用CURL来读了= =
PS:我自己的PHP框架,名字叫Galaxy ,现在处于0.1左右的状态正在烦恼怎么写数据库这块……
标签
McFog’s Bot
- mcfog_bot: 主人@mcfog 在#Bangumi 看过 ep.4 Put flesh -輪郭-(http://t.co/Wuq91wut) Another(http://t.co/FTrqNeIo)
- mcfog_bot: 主人@mcfog 在#Bangumi 看过 ep.5 恋愛禁止令(http://t.co/kwUehkE6) アクエリオンEVOL(http://t.co/fn60m9QW)
- mcfog_bot: 主人@mcfog 在#Bangumi 看过 ep.4 部長の選択(http://t.co/lvffUIpo) 新テニスの王子様(http://t.co/5mQVa1mf)
- mcfog_bot: 主人@mcfog 在#Bangumi 将 Meteora(http://t.co/7mFpW1z6) 加为了好友
- mcfog_bot: 主人@mcfog 在#Bangumi 看过 ep.4 女王陛下の恩賞(http://t.co/rhzuIqfn) ゼロの使い魔F(http://t.co/LUx1jwx9)