静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴人,敬君子方显有德,怕小人不算无能,退一步天高地阔,让三分心平气和,欲进步需思退步,若着手先虑放手,如得意不宜重往,凡做事应有余步。持黄金为珍贵,知安乐方值千金,事临头三思为妙,怒上心忍让最高。切勿贪意外之财,知足者人心常乐。若能以此去处事,一生安乐任逍遥。

linux中开启了allow_url_fopen仍然无法使用file_get_contents获取url内容

作者:大鹏 发布于:2013-7-16 19:40 Tuesday 分类:Unix & Linux
标签: php linux lnmp

file_get_contents函数多用来于来采集远程服务器上的内容,但使用file_get_contents函数之前我们在php.ini中是必须把allow_url_fopen开启才行。

问题描述

fopen(),file_get_contents(),getimagesize() 等都不能正常获得网络上的内容,具体表现为凡参数是URL的,一律返回空值

如果是windows可找开

allow_url_fopen开启

如果是否linux中可以

重新编译PHP,去掉–with-curlwrapper 参数——编译前记得先执行 make clean。


评论(0) 引用(0) 浏览(89341)

ubuntu通过adb shell 连接android手机问题解决办法

作者:大鹏 发布于:2013-7-13 11:00 Saturday 分类:Unix & Linux
标签: android ubuntu

在ubuntu,打adb shell后出现insufficient permissions for device错误

解决办法:用root权限:

    sudo -s  
    ./adb kill-server  
    ./adb devices 



评论(0) 引用(0) 浏览(104636)

Mustache.js语法

作者:大鹏 发布于:2013-7-6 1:11 Saturday 分类:JavaScript与HTML
标签: javascript

1.简单的变量调换:{{name}}


var data = { "name": "Willy" };

Mustache.render("{{name}} is awesome.",data);

返回成果 Willy is awesome.


2.若是变量含有html的代码的,例如:<br>、<tr>等等而不想转义可以在用{{&name}}


var data = {
           "name" : "<br>Willy<br>"
        };
        var output = Mustache.render("{{&name}} is awesome.", data);
        console.log(output);

阅读全文>>


评论(0) 引用(0) 浏览(131429)

javascript URL解析

作者:大鹏 发布于:2013-6-18 23:13 Tuesday 分类:JavaScript与HTML
标签: javascript

/**
*@param {string} url 完整的URL地址
*@returns {object} 自定义的对象
*@description 用法示例:var myURL = parseURL('http://abc.com:8080/dir/index.html?id=255&m=hello#top');
myURL.file='index.html'
myURL.hash= 'top'
myURL.host= 'abc.com'
myURL.query= '?id=255&m=hello'
myURL.params= Object = { id: 255, m: hello }
myURL.path= '/dir/index.html'
myURL.segments= Array = ['dir', 'index.html']
myURL.port= '8080'
myURL.protocol= 'http'
myURL.source= 'http://abc.com:8080/dir/index.html?id=255&m=hello#top'
*/ 
function parseURL(url) {
	var a =  document.createElement('a');
	a.href = url;
	return {
		source: url,
		protocol: a.protocol.replace(':',''),
		host: a.hostname,
		port: a.port,
		query: a.search,
		params: (function(){
			var ret = {},
			seg = a.search.replace(/^\?/,'').split('&'),
			len = seg.length, i = 0, s;
			for (;i<len;i++) {
				if (!seg[i]) { continue; }
				s = seg[i].split('=');
				ret[s[0]] = s[1];
			}
			return ret;
		})(),
		file: (a.pathname.match(/\/([^\/?#]+)$/i) || [,''])[1],
		hash: a.hash.replace('#',''),
		path: a.pathname.replace(/^([^\/])/,'/$1'),
		relative: (a.href.match(/tps?:\/\/[^\/]+(.+)/) || [,''])[1],
		segments: a.pathname.replace(/^\//,'').split('/')
	};
}


评论(0) 引用(0) 浏览(212379)

PHP的垃圾回收机制及session的销毁原理

作者:大鹏 发布于:2013-1-7 0:07 Monday 分类:PHP&MySql
标签: php

虽然自己也是PHP的学习者,但之前还真没怎么了解PHP内部的垃圾回收流程,只是在我们的代码中用了 unset,null,mysql_close,__destruct等等一些函数去释放对象防止内存溢出而已,所以上网GG下,找到了以下一些说明,作 下记录“PHP可以自动进行内存管理,清除不再需要的对象。PHP使用了引用计数(reference counting)这种单纯的垃圾回收(garbage collection)机制。每个对象都内含一个引用计数器,每个reference连接到对象,计数器加1。当reference离开生存空间或被设为 NULL,计数器减1。当某个对象的引用计数器为零时,PHP知道你将不再需要使用这个对象,释放其所占的内存空间。”

每一种计算机语言都有自己的自动垃圾回收机制,让程序员不必过分关心程序内存分配,php也不例外,但是在面向对象编程(OOP)编程中,有些对象需要显式的销毁;防止程序执行内存溢出。

阅读全文>>


评论(0) 引用(0) 浏览(424895)

office 相关文件读取整理

作者:大鹏 发布于:2013-1-4 14:07 Friday 分类:Asp.Net 2.0
标签: excel adodb

在用ODBC读取DPF、Excel(2003/2007)、txt,db等文件时,存在各种问题。

如用VFP读取DPF文件时,32位系统是正常读取,但是在64位系统下,程序如果采用64位,则不能正常读取。

读取Excel文件时,如果采用Microsoft.Jet.OLEDB 方式,还要在程序中区分Excel2007 和Excel2010等方式,十分麻烦。

在网上找了下,找到Microsoft Access Database Engine 驱动,他可以方便的读取dpf,excel,access,txt 等文件,而且在64位系统下也能正常运行。

Excel 文件读取

string driver = "{Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)}";
string strConn = string.Format("DRIVER={1};DBQ={0};", filePath, driver);
OdbcConnection conn = new OdbcConnection(strConn);

上面的代码可以正常运行在32/64位机器上。

DPF 文件读取

string connStr = "Driver={Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)};DBQ=" + dir;
OdbcConnection conn = new OdbcConnection(connStr);

上面的代码可以正常运行在32/64位机器上。

采用这两种驱动方式需要安装Microsoft Access Database Engine。

 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?id=13255


评论(0) 引用(0) 浏览(2814)

新浪微博API升级到2.0了

作者:大鹏 发布于:2012-12-25 0:50 Tuesday 分类:PHP&MySql
标签: API

新浪微博API升级到2.0了,之前1.0的OAUTH已经无法使用,修改了一下登录的接入代码:

include_once( 'saetv2.ex.class.php' );

$o = new SaeTOAuthV2( WB_AKEY , WB_SKEY );
$o->set_debug( DEBUG_MODE );

// 生成state并存入SESSION,以供CALLBACK时验证使用
$state = uniqid( 'weibo_', true);
$_SESSION['weibo_state'] = $state;

$code_url = $o->getAuthorizeURL( WB_CALLBACK_URL , 'code', $state );

 

获取登录用户信息的代码:

include_once( 'saetv2.ex.class.php' );
$c = new SaeTClientV2( WB_AKEY , WB_SKEY , $_SESSION['token']['access_token'] );
$c->set_debug( DEBUG_MODE );
$ms  = $c->home_timeline(); // done
//var_dump($ms);
$uid_get = $c->get_uid();
$uid = $uid_get['uid'];
$user_message = $c->show_user_by_id( $uid);//根据ID获取用户等基本信息
var_dump($user_message);
?>


评论(0) 引用(0) 浏览(216780)

Google Plus竟然变身成为论坛了

作者:大鹏 发布于:2012-12-21 17:31 Friday 分类:网络资源

今天上Google Plus后竟然发现之前的google plus竟然变成论坛的形式了。

 

点击查看原图


评论(0) 引用(0) 浏览(75543)

SNMP获取Cisco设备信息

作者:大鹏 发布于:2012-8-31 9:52 Friday 分类:个人收藏
标签: snmp cisco

以下是一些通过OID获取Cisco交换机信息的范例,可以参考一下

具体的名字和OID对应,可以在这个网站查询

http://tools.cisco.com/Support/SNMP/do/BrowseOID.do?objectInput=ifOperStatus&translate=Translate&submitValue=SUBMIT&submitClicked=true

 

# 获取端口Index

snmpwalk -v 2c -c Pub_PCon9-CT 192.168.232.25 1.3.6.1.2.1.2.2.1.1

 

# 获取端口列表及其描述

snmpwalk -v 2c -c Pub_PCon9-CT 192.168.232.25 1.3.6.1.2.1.2.2.1.2

 

# 获取端口Mac地址

snmpwalk -v 2c -c Pub_PCon9-CT 192.168.232.25 1.3.6.1.2.1.2.2.1.6

阅读全文>>


评论(0) 引用(0) 浏览(65715)

php 5.4.5编译问题

作者:大鹏 发布于:2012-8-9 8:48 Thursday 分类:Unix & Linux
标签: php apache mysql linux

 以下是我编译php5.4.5的配置参数(环境:CentOS 6.3, MySql 5.5.25a, apache 2.4.2 所有版本都是目前最新的):

./configure --prefix=/usr/local/php5/ --with-config-file-path=/usr/local/php5/etc/ \
--with-apxs2=/usr/local/apache2/bin/apxs --with-mcrypt=/usr/local/libmcrypt/ \
--enable-soap --enable-mbstring=all --enable-sockets \
--with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd \
--with-libxml-dir=/usr/local/libxml2/ \
--with-gd --with-jpeg-dir=/usr/local/jpeg6/ --with-png-dir=/usr/local/libpng/ --with-freetype-dir=/usr/local/freetype/


阅读全文>>


评论(0) 引用(0) 浏览(35158)

Log4net使用指南

作者:大鹏 发布于:2012-6-20 16:02 Wednesday 分类:Asp.Net 2.0
标签: log4net

      几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。

经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。

Log4net就是为这样一个目的设计的,用于.NET开发环境的日志记录包。

阅读全文>>


评论(0) 引用(0) 浏览(30801)

NetworkStream 读取数据不完整问题

作者:大鹏 发布于:2012-6-7 16:20 Thursday 分类:Asp.Net 2.0

今天写了个发送和读取http站点数据的程序,使用TcpClient的NetworkStream读取数据,但是经常性会出现读取数据不全的现象。单步调试时基本上每次都正常,但是实际应用时就会出现读取到的数据不完整。
弄了一天,还是没有找到更好的解决办法。
private void Forward(object obj)
        {
            int requestsize = 4096;
            string log = "";
            try
            {
                TcpClient client = (TcpClient)obj;
                NetworkStream s = client.GetStream();
                int i = 0;
                byte[] buff = new byte[requestsize];

                TcpClient server = new TcpClient("127.0.0.1", 8080);
                NetworkStream cs = server.GetStream();



                i = s.Read(buff, 0, buff.Length);
                cs.Write(buff, 0, i);
                log += "Request:" + Encoding.Default.GetString(buff, 0, i);

                buff = new byte[requestsize];
                i = cs.Read(buff, 0, buff.Length);
                s.Write(buff, 0, i);
                log += "\r\nResponse:" + Encoding.Default.GetString(buff, 0, i);

                cs.Close();
                //s.Close();

                server.Close();
                client.Close();
                Log(log);
            }
            catch (Exception ex)
            {
                Log("Forward", ex);
            }
        }


评论(0) 引用(0) 浏览(60207)

ChangeConflictException:Row not found or changed 找不到行或行已更改

作者:大鹏 发布于:2012-5-11 17:25 Friday 分类:Asp.Net 2.0
标签: linq

产生此异常,主要是Linq缓存数据和实际数据库数据不一致的情况造成。解决次问题的情况,主要有几种:

    1.比较简单的方法,不使用Linq提供的SubmitChanges()方式提交更改,而直接执行SQL语句,例

      db.ExecuteCommand("Update [dbo].[LinqTest] SET Age=25 Where ID = @p0", 1);

    这样虽然比较方便,但是感觉又回到了直接写SQL的时代,毕竟Linq to SQL的目的,就是为了让我们看不见SQL,避免写复杂的SQL语句,而直接操作实体对象,这样也可以避免程序可读性差、不便于维护。所以除非万不得已,还是不太推荐使用此方法。

阅读全文>>


评论(0) 引用(0) 浏览(83026)

unix 常用系统信息命令

作者:大鹏 发布于:2012-4-18 13:55 Wednesday 分类:Unix & Linux
标签: unix shell command

pwd
输出工作目录。举例,在屏幕上显示我当前所在的目录


hostname
输出本地主机的名称(我正在使用的这一台机器)。使用netconf修改机器的名称(要求超级用户权限)


whoami
输出我的登录名称


id username
输出用户标识ID(UID)和其对应的用户组标识ID(GID),有效的ID(如果不同于真正的用户ID)和所属的其他用户组


date
输出操作系统的当前日期,时间和时区。如果要以ISO标准格式输出,我必须使用命令“date –Iseconds”。
我可以修改当前的日期和时间到2003-12-31 23:57,使用命令:date 123123572003。或者使用两个命令(比较容易理解和记住):


date –-set 2003-12-31
date –set 23:57:00

如果要重新设置硬件时钟(BIOS),可以使用命令setclock,要求超级用户权限。


time
侦测一个进程所需要的时间加上其他处理的时间的总和。不要和上面提到的date命令混淆。比如,我可以使用命令“time ls”来判断显示一个目录需要多长时间;或者我可以使用命令“time sleep 10”来测试time命令(睡眠10秒钟,什么也不做)。


clock
(两个命令中的一个)从计算机的硬件(由电池供应的实时的硬件时钟)获得日期/时间。你可以使用这个命令来设置硬件时钟,但是setclock可能简单一些(看前面的两个命令)。举例:“hwclock –systohc –utc”命令把系统时钟设置到硬件时钟(以UTC格式)。


who
显示登录在系统里的用户


w
显示登录在系统里的用户,检查他们正在做什么以及他们的处理器使用状况。属于常用的安全方面的命令。

阅读全文>>


评论(0) 引用(0) 浏览(27806)

在solaris下面发送ORACLE Alert信息邮件的脚本

作者:大鹏 发布于:2012-4-16 21:02 Monday 分类:Unix & Linux
标签: mail solaris send

Sun Solaris服务器安装了Oracle数据库,为了避免天天去服务器检查日志,可以写一个发送邮件的SHELL, 这样的话就可以通过crontab创建一个计划任务定时来发送Oracle日志文件到相关的DBA的邮件了。
#!/bin/ksh 
#----------------------------------------------------------------------- 
# PROGRAM:        CheckAlertLog.ksh 
# USAGE:          CheckAlertLog.ksh 
# FUNCTION:       Checks ORACLE Alert logs and pages in case of 
#                  any new errors. SID is Oracle database identifier. 
# CALLED BY:      cron 
#  
# CASCADE FILES:  $LIBDIR/pagers.txt $LIBDIR/dbinfo.txt $LIBDIR/oraErrCount_${SID} 
# AUTHOR          Rochael Zhang
# Date            Mon Apr  16 18:01:56 PDT 2012 
#----------------------------------------------------------------------- 

阅读全文>>


评论(0) 引用(0) 浏览(38839)

bshell学习资料

作者:大鹏 发布于:2012-4-16 11:55 Monday 分类:Unix & Linux
标签: unix shell

一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂!


建立一个脚本

  Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行)。
  如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi
  等来编写我们的shell程序。
  程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
  符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
  当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
  要使脚本可执行:
chmod +x filename
  然后,您可以通过输入: ./filename 来执行您的脚本。

阅读全文>>


评论(0) 引用(0) 浏览(28814)

梦回 BBS 时期的 Google 搜索

作者:大鹏 发布于:2012-4-16 8:24 Monday 分类:网络资源
标签: google

点击查看原图

如果你从上个世纪就开始上网,那么肯定会对BBS这个东西很有感情(我说的是传统意义上的Bulletin Board Systems,而非现在变形过来的论坛)。一位怀旧开发者Norbert Landsteiner就利用Javascript和HTML技术制作了这么一个复古的BBS形式的Google搜索首页,具备“收起不错”和搜索功能,所有界面都由彩色的ASCII代码描绘。


评论(0) 引用(0) 浏览(44125)

Sony 的 SmartWatch 在米国上市,150 美刀

作者:大鹏 发布于:2012-4-15 14:19 Sunday 分类:手机
标签: android sony

点击查看原图

Sony 今天宣布 SmartWatch,他们“Smart Extras(智能配件)”系列的首款产品,现已在其在想商店上架销售。SmartWatch 与你的 Android 智能手机通过蓝牙相连接,并托送文件、电子邮件以及电话通知等到你的手腕端,让你快速方便的掌握相关信息。SmartWatch 还带有 Facebook、Twitter、Gmail、天气小部件,然后还有音乐播放器,并且可以与很多最新的 Android 应用相兼容。Sony 称开发者还可以创建针对该产品 1.3 英寸 OLED 显示屏的 SmartWatch 专用应用。

SmartWatch 还防尘和防水,价格为 149.99 美刀,有粉红、白色、薄荷、灰色、蓝色腕带可选。这个产品的功能是否对得起它的价格还有待验证,不过相信 SmartWatch 对于一些用户来说是很有用处的,另外如果能吸引到开发者的话,那么它可能会变得更有用处。


评论(0) 引用(0) 浏览(49905)

一款基于 Android 的专业电子乐器 Miselu Neiro Keyboard

作者:大鹏 发布于:2012-3-29 13:47 Thursday 分类:手机
标签: android

点击查看原图

有很多专业的电子音乐设备都是基于 Apple(苹果)的 Mac 或者 iOS 设备的,不过现在 Android 也延向这一领域了。Retronyms 公司推出了一款基于 Android 的电子键盘乐器 Miselu Neiro,它不仅基于 Android 还结合了专业音乐制作应用。

这款产品带有 25 个琴键以及一个显示器,可以运行专门的应用并通过键盘来演奏。Retronyms 之前是一家 iOS 应用开发商,他们给 iOS 设备带来了一些专业的应用,儿现在他们也准备采用 Android 系统,应该会给 Android 用户也带来很多独特的产品。

这款键盘乐器带有两个 MIDI 端口,两个 USB 接口,一个 HDMI 端口,音频输入/输出 RCA 以及一个 SD 卡插槽,你可以插入任意标准的 MIDI 键盘或者带有 MIDI 输出的合成器以及电子琴等。该产品将采用 Yamaha(雅马哈)的 NSX-1 音频芯片,可以给用户带来逼真和精细的声音。后面有一个宣传视频,有兴趣的读者可以看看。

继续观看视频:


评论(0) 引用(0) 浏览(89137)

Audio Evolution DAW for Android 发布

作者:大鹏 发布于:2012-3-29 13:32 Thursday 分类:手机
标签: android

Audio Evolution Mobile for Android 发布!这是一款融合多轨音频与非线性编辑、混音、实时效果等功能的应用的 Android 应用,可在 Android 手机和平板上使用(需要满足配置要求,分辨率 800×480 或更高)。可以单独使用也可以与 AE5 for Windows/OSX 组合使用!

点击查看原图

阅读全文>>


评论(0) 引用(0) 浏览(48508)