<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tingyuanss的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tingyuanss</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tingyuanss]]></copyright><item><title><![CDATA[ubuntu 14.04 安装jekyll]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/60755913</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/60755913</guid><author>tingyuanss</author><pubDate>Tue, 07 Mar 2017 10:52:24 +0800</pubDate><description><![CDATA[由于Ubuntu上ruby的包一直没有更新，apt-get install ruby的版本是1.9，而jekyll需要2.0版本以上的支持, 不能用apt-get 安装。下面是rvm安装jekyll步骤.
install rvmgpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0]]></description><category></category></item><item><title><![CDATA[nodejs webapi单元测试]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/53788486</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/53788486</guid><author>tingyuanss</author><pubDate>Wed, 21 Dec 2016 18:01:31 +0800</pubDate><description><![CDATA[目录目录packages
1 mocha
2 supertest
3 istanbul
demo
1 code
2 run test1. packages1.1 mocha最广泛使用的js测试框架npm install -g mocha
或者只在项目的开发环境下安装
npm install --save-dev mocha1.2 supertesthttp代理服务引擎,用来模拟http请求测试nod]]></description><category></category></item><item><title><![CDATA[express 接口异常错误不影响其他接口,正常返回数据]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/53487050</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/53487050</guid><author>tingyuanss</author><pubDate>Tue, 06 Dec 2016 15:03:40 +0800</pubDate><description><![CDATA[express 接口异常错误,server不退出，正常返回数据只需在最外层的app.js加一中间件app.use((err, req, res, next) => { 
  console.log(err);
  return res.json({'status':-1, 'result':err.stack})
});
这样任意一接口代码等异常，都会返回json{
    'status': -1]]></description><category></category></item><item><title><![CDATA[nodejs excel导入导出]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/53097904</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/53097904</guid><author>tingyuanss</author><pubDate>Wed, 09 Nov 2016 11:33:59 +0800</pubDate><description><![CDATA[nodejs excel导入导出
用excel-export包导出
1安装excel-export
2自定义exportExcel函数封装
3业务使用
excel导入
1需要安装的包
2前端代码示例
3后端代码示例nodejs excel导入导出用excel-export包导出1.1安装excel-exportnpm install --save excel-export1.2自定义exportEx]]></description><category></category></item><item><title><![CDATA[为了使用phpthreads,在Ubuntu上重新编译php源码和phpthread源码]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/50543384</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/50543384</guid><author>tingyuanss</author><pubDate>Tue, 19 Jan 2016 16:58:03 +0800</pubDate><description><![CDATA[傻瓜式apt-get 安装的php不支持phpthreads,搜索好久得到的答案是：使用源码编译安装。
下面开始：
1.下载php源码和phpthread源码,然后解压. 使用的php版本是5.6.12,phpthreads版本是2.0.9


cd
/usr/local/src

wget
http://uk1.php.net/get/php-5.6.12.tar.gz/fro]]></description><category></category></item><item><title><![CDATA[ubuntu crontab详细介绍]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/47314427</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/47314427</guid><author>tingyuanss</author><pubDate>Thu, 06 Aug 2015 11:56:30 +0800</pubDate><description><![CDATA[基本格式 : 
*　　*　　*　　*　　*　　command 
分　时　日　月　周　命令 
第1列表示分钟1～59 每分钟用*或者 */1表示 
第2列表示小时1～23（0表示0点） 
第3列表示日期1～31 
第4列表示月份1～12 
第5列标识号星期0～6（0表示星期天） 
第6列要运行的命令 
crontab文件的一些例子： 
30 21 * * * /usr/local]]></description><category></category></item><item><title><![CDATA[Python内存管理机制]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46811877</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46811877</guid><author>tingyuanss</author><pubDate>Thu, 09 Jul 2015 08:22:28 +0800</pubDate><description><![CDATA[Python引入了一个机制：引用计数。
python内部使用引用计数，来保持追踪内存中的对象，Python内部记录了对象有多少个引用，即引用计数，当对象被创建时就创建了一个引用计数，当对象不再需要时，这个对象的引用计数为0时，它被垃圾回收。
总结一下对象会在一下情况下引用计数加1：
1.对象被创建：x=4
2.另外的别人被创建：y=x
3.被作为参数传递给函数：foo(x)
4.作为容]]></description><category></category></item><item><title><![CDATA[ExtJS 简单的gridpanel]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46804159</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46804159</guid><author>tingyuanss</author><pubDate>Wed, 08 Jul 2015 15:38:53 +0800</pubDate><description><![CDATA[数据源users.json
{
	"users": [{
		"firstName": 'xu', 
		"lastName":'yawen',
		"age": 24,
		"eyeColor": 'black'
		},{
		"firstName": 'zhang', 
		"lastName":'wei',
		"age": 24,
		"eyeColor": 'black'
		},{]]></description><category></category></item><item><title><![CDATA[ExtJs 实现combo前台分页]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46803985</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46803985</guid><author>tingyuanss</author><pubDate>Wed, 08 Jul 2015 15:36:01 +0800</pubDate><description><![CDATA[如果不想在后台处理分页，一般做法是用ajax请求数据然后保存在本地内存，Ext提供了内存分页的方法，Ext.ux.data.PagingMemoryProxy。
Ext版本是4.2.1，ext-4.2.1/examples/ux/data/PagingMemoryProxy.js提供了pagingmemory(内存分页)，我们需要引入这个文件。
数据文件1.txt
[
	['value1',]]></description><category></category></item><item><title><![CDATA[mysql备份远程数据库到本地]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46784779</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46784779</guid><author>tingyuanss</author><pubDate>Tue, 07 Jul 2015 09:12:27 +0800</pubDate><description><![CDATA[1、创建保存备份文件的目录:/home/mysql_data
sudo mkdir mysql_data2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh
touch mysql_databak.sh#创建文件
sudo vi mysql_databak.sh#编辑文件3、代码如下
#!/bin/sh
DUMP=/usr/bin/mysqldump]]></description><category></category></item><item><title><![CDATA[JS实现多个div块之间相互拖放，调换位置]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46710089</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46710089</guid><author>tingyuanss</author><pubDate>Wed, 01 Jul 2015 14:47:10 +0800</pubDate><description><![CDATA[#div1, #div2
{float:left; width:100px; height:35px; margin:10px;padding:10px;border:1px solid #aaaaaa;}


function allowDrop(ev)
{
ev.preventDefault();
}

var srcdiv = null;
function drag(ev,divdom)
{]]></description><category></category></item><item><title><![CDATA[十大要避免的Ext JS开发方法]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46533205</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46533205</guid><author>tingyuanss</author><pubDate>Wed, 17 Jun 2015 14:09:59 +0800</pubDate><description><![CDATA[原文地址：http://www.sencha.com/blog/top-10-ext-js-development-practices-to-avoid/

作者：Sean Lanktree
Sean is an Ext JS Professional Services Lead at CNX Corporation.





在CNX，尽管大多数的Ext JS开发工作需要从0]]></description><category></category></item><item><title><![CDATA[Ext.Ajax.request 用法参数介绍]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46514563</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46514563</guid><author>tingyuanss</author><pubDate>Tue, 16 Jun 2015 09:54:53 +0800</pubDate><description><![CDATA[Ext.Ajax.request 中success failure

success参数表示响应成功后的回调函数。
failure参数表示响应失败后的回调函数。
注意，这里的响应失败并不是指数据库操作之类的业务性失败，而是指HTTP返回404或500错误，请不要把HTTP响应错误与业务错误混淆在一起。
Ext.Ajax.request({    
       url:'findbyi]]></description><category></category></item><item><title><![CDATA[在Ext JS 5应用程序中如何使用路由]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46500241</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46500241</guid><author>tingyuanss</author><pubDate>Mon, 15 Jun 2015 09:33:58 +0800</pubDate><description><![CDATA[简介

Ext JS 5是一个重要的发布版本，它提供了许多新特性来创建丰富的、企业级的Web应用程序。MVVM和双向数据绑定为开发人员承担了大量的繁重工作。在Ext JS 5种，另一个新特性就是路由，它可以在控制器内轻松的管理历史记录。前进和后退按钮是每个浏览器都会拥有的公共用户接口，现在，使用Ext JS 5在单页面应用程序中处理导航变得相当简单了。


Ext JS 5路由

在]]></description><category></category></item><item><title><![CDATA[flask使用渲染模板]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46423699</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46423699</guid><author>tingyuanss</author><pubDate>Tue, 09 Jun 2015 10:53:20 +0800</pubDate><description><![CDATA[使用渲染模板的好处是：将业务逻辑（访问数据库..），和表现逻辑(浏览器看到的html)分离开来，易于维护。
默认情况下：Flask在程序文件加中的templates子文件夹中寻找模板。
demo（请先确认你已经安抓了flask以及flask所依赖的库，安装教程见前面的文章）：
mkdir jinja2template
cd jinja2template
mkdir templates]]></description><category></category></item><item><title><![CDATA[java xml文件解析]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46414265</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46414265</guid><author>tingyuanss</author><pubDate>Mon, 08 Jun 2015 16:17:25 +0800</pubDate><description><![CDATA[==========================================
xml文件
＜?xml version="1.0" encoding="GB2312"?＞ 
＜RESULT＞ 
＜VALUE＞ 
　　 ＜NO＞A1234＜/NO＞ 
　　 ＜ADDR＞四川省XX县XX镇XX路X段XX号＜/ADDR＞ 
＜/VALUE＞ 
＜VALUE＞ 
　　 ＜NO＞B1]]></description><category></category></item><item><title><![CDATA[gae 部署基于flask的web服务器]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46412455</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46412455</guid><author>tingyuanss</author><pubDate>Mon, 08 Jun 2015 15:24:13 +0800</pubDate><description><![CDATA[google appengine是Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台，目前支持的语言有Java、Python、PHP和Go等，相当于免费的云主机（不用花钱就可以部署自己的网站，网站的域名是一个谷歌提供的二级域名），类似的目前国内有新浪的SAE，腾讯也有一个，阿里也有一个，百度也有一个。
在开发之前，你得安装google app engine，下载地址 http]]></description><category></category></item><item><title><![CDATA[Ubuntu 安装flask框架]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46377557</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46377557</guid><author>tingyuanss</author><pubDate>Fri, 05 Jun 2015 16:05:03 +0800</pubDate><description><![CDATA[网上搜索命令，发现：easy_install Flask安装失败,具体原因就不得而知（可能被墙了）。


1.安装virtualenv，为每一个pyhton应用都“安装”一个独立的python环境；
sudo apt-get install python-virtualenv 或 sudo easy_install 
virtualenv
2.为你的应用创建一个目录：
mkdir m]]></description><category></category></item><item><title><![CDATA[JSON 之JAVA 解析]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46326361</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46326361</guid><author>tingyuanss</author><pubDate>Tue, 02 Jun 2015 11:36:36 +0800</pubDate><description><![CDATA[一、   JSON （JavaScript Object Notation）一种简单的数据格式，比xml更轻巧。
 Json建构于两种结构：
     1、“名称/值”对的集合（A collection of name/value pairs）。不同的语言中，它被理解为对象（object），纪录（record），结构（struct），字典（dictionary），哈希表（hash table）]]></description><category></category></item><item><title><![CDATA[android广播注册简单用法]]></title><link>https://blog.youkuaiyun.com/tingyuanss/article/details/46300161</link><guid>https://blog.youkuaiyun.com/tingyuanss/article/details/46300161</guid><author>tingyuanss</author><pubDate>Mon, 01 Jun 2015 09:56:37 +0800</pubDate><description><![CDATA[注册广播有两种方法：动态注册（在代码中注册），静态注册（AndroiMainfest.xml）。
实现注册你需要指明：要监听什么广播，和监听之后要做什么动作（自定义广播重写onReceive）。


举一个监听网络变化的例子
要监听的广播是："android.net.conn.CONNECTIVITY_CHANGE"
收到此广播之后我们要发一个通知（Toast）

1.动态注册：]]></description><category></category></item></channel></rss>