分类目录归档:图片/文字

正在开发一个基于新浪云计算平台的网络便利贴应用

工作的流程是:

xpad客户端采用c#开发

xpad便利贴程序开机最小化启动,右下角显示ico程序图标

当双击右下角xpad图标启动便利贴程序,可以方便的进行记事、编辑操作

当记录结束时,点文件=》保存或是按下ctrl+s保存,或是每隔一段时间进行自动保存

xpad服务端采用新浪云计算平台 php开发

当xpad保存文档时,客户端能过类似web service方式与服务端通讯,提交数据。服务端则加密保存数据库中。

同样,当xpad点击打开文档时,自动从服务端读取已保存的文档日期及摘要,以供打开编辑

目前完成的工作:

xpad客户端界面及最小化右下角图标运行

把常用的原创框架移值到新浪云计算平台

主要的功能:

会员注册、客户端进行登陆、客户端操作便利贴、在web中进行便利贴的操作、开放api、准备开放手机端(android)

 

xpad.png

windows7 搭建android开发环境

下载安装jdk  android_sdk eclipse 这些都正常

但有一点,希望大家不要走弯路了,最后一步,新建avd虚拟机时,请不要在eclipse里进行新建,一定会出错。

需要在cmd里新建,并且注意指定路径,不指定avd路径也一样出错

命令是 本人android sdk安装在d盘

d:

cd android_sdk/tools

注意,先确定你要的版本,target是多少,本人的机器上target1为android 1.5

android create avd -n G3 -t 1 -p D:/g3

到这里,就正常了,折腾了一天了。

 

g3.png

Avira AntiVir(小红伞)今天正式发布简体中文版

http://www.avira.com/zh-cn/pages/index.php

让人期待已久的Avira AntiVir(小红伞)今天正式登陆中国啦,Avira AntiVir(小红伞)简体中文语言官方网站已上线!号称杀软鼻祖、德国质量的安全产品 Avira (小红伞)于3月30日在北京推出中文版杀毒软件,这标志着 Avira 正式进入中国市场。据称,诞生24年来 Avira 全球范围拥有1亿多忠诚用户,而在中国市场,Avira 被形象地称为小红伞。

免费版下载地址

http://www.free-av.com/

目前国内免费的中文杀软又增加了一款,以前用小红伞有几年,后来因为那个刺耳的报警音还有英文的界面改换avast!了。不过小红伞确实属于不错的产品,杀毒能力强,速度快!

很久没发过php代码了,今天发个支持file及memcache的缓存封装类

主要的作用就是就是简化缓存操作,类型分文件缓存和memcache内存级缓存两种,能过常量进行相关配置

通过cache()函数进行缓存操作

PHP代码
  1. <?php   
  2. //缓存存放类型   
  3. define(‘CACHETYPE’‘file’);   
  4. //memcache服务器地址   
  5. define(‘MEMCACHE_HOST’,‘localhost’);   
  6. //memcache服务器端口地址   
  7. define(‘MEMCACHE_PORT’,11211);   
  8. //文件类型缓存的话,设定存放位置   
  9. define(‘CACHE_PATH’,‘cache/’);   
  10.   
  11. function cache($name,$var=,$s=0)   
  12. {   
  13.     $c=new cache;   
  14.     $name=str_replace(‘ ‘,,substr($name,0,30)).‘_’.substr(md5($name),8,16);   
  15.     if(CACHETYPE==‘memcache’return $c->memcacheCache($name,$var,$s);   
  16.     else return $c->fileCache($name,$var,$s);   
  17.        
  18. }   
  19.   
  20. class cache   
  21. {   
  22.     function memcacheCacheRead($m,$name)   
  23.     {   
  24.         $return=$m->get($name);   
  25.         if(empty($return)) return false;   
  26.         else{   
  27.             return $return;   
  28.         }   
  29.     }   
  30.   
  31.     function memcacheCache($name,$var,$s)   
  32.     {   
  33.         $m=self::memcache();   
  34.         if(empty($var)){   
  35.             return self::memcacheCacheRead($m,$name);   
  36.         }else{   
  37.             $m->set($name,$var,0,$s);   
  38.             return self::memcacheCacheRead($m,$name);   
  39.         }   
  40.     }   
  41.   
  42.     function fileCache($name,$var,$s)   
  43.     {      
  44.         $filename=CACHE_PATH.$name.‘.php’;   
  45.         if(empty($var)){   
  46.             if(file_exists($filename)){   
  47.                 return self::readCache($filename);   
  48.             }else return false;   
  49.         }else{   
  50.             if($this->writeCache($filename,$var,$s)){   
  51.                 return self::readCache($filename);   
  52.             }else  
  53.                 throw new Exception(‘File cache write error!’);   
  54.         }   
  55.     }   
  56.   
  57.   
  58.     function writeCache($filename,$var,$s)   
  59.     {   
  60.         $var=array(‘var’=>$var,‘s’=>$s);   
  61.         $content=serialize($var);   
  62.         $content=‘<?php exit;?>’.$content;   
  63.         fclose(fopen($filename,‘w’));   
  64.         if(file_put_contents($filename,$content)){   
  65.             return true;   
  66.         }else{   
  67.             return false;   
  68.         }   
  69.     }   
  70.   
  71.     function readCache($filename)   
  72.     {   
  73.         $content=@file_get_contents($filename);   
  74.         $var=unserialize(str_replace(‘<?php exit;?>’,,$content));   
  75.         $mtime=filemtime($filename);   
  76.         if(time()-$mtime>=$var[‘s’]){   
  77.             @unlink($filename);   
  78.             return false;   
  79.         }else{   
  80.             return $var[‘var’];   
  81.         }   
  82.     }   
  83.   
  84.     function memcache()   
  85.     {   
  86.         $mem = new Memcache;   
  87.         $mem->connect(MEMCACHE_HOST,MEMCACHE_PORT) or die("Memcache could not connect");   
  88.         return $mem;   
  89.     }   
  90. }   
  91.   
  92. //演示   
  93.   
  94. if(!$name=cache("name")){   
  95.     $name=cache("name",‘test memcache’,20);   
  96. }   
  97. print_r($name);   
  98. ?>  

真正的微型家庭服务器,超级迷你!

现在已经在售了,有外壳版的才500多元,弄个放家里装个windows xp或是linux做远程,路由个弄个动态域名,放家里,然后用手机或是电脑远程控制,让它下下载、放放网站程序等。真酷!

BTplug是国内第一台插座式计算机(Plug Computer,也简称PC,呵呵),我们的愿景是让这样一个耗电、成本都极低的微型电脑为用户提供24小时不间断的、易用、易管理网络服务。

BTplug不是PC或笔记本电脑(包括上网本),它没有键盘、鼠标、显示器。象服务器一样,BTplug主要通过网络来远程管理。与市面上大多数带BT功能的NAS(网络附加存储管理器)相比,BTplug的硬件规格处于相对高端,而预计上市价格位于低端。软件方面,由于BTplug采用了兼容x86指令集的CPU,可以无障碍地运行绝大部分PC应用程序,windows、linux,甚至Google即将发布的网络操作系统Chrome,都可以根据您的喜好与讯盒结合。采用开放平台的BTplug将成为您实践DIY精神的最佳设备:不但PT高清下载不是问题,还可以随时随心所欲地添加各种应用。

BTplug可以用来做什么呢?它可以被家庭和中小企业用来做:

文件共享服务器(配合动态域名即可随处访问,做个家庭NAS也是小菜一碟)
下载服务器
网站服务器(做个50G的网站也没人跟你收费)
邮件服务器
….很多其他24小时应用,比如用做安全监控,甚至挂上外挂去开心网或QQ农场偷菜。用它做什么,只局限于你的想象力!!

BTplug的硬件规格:

– 约1GHz主频的CPU,支持应用最广的x86指令集
– 512M DDR2内存
– 2个USB2.0接口,PATA硬盘接口及串口、GPIO口
– 100M快速以太网接口

BTplug的体积很小,相当于移动硬盘大小,同时耗电不高于5W(不含外置存储),非常符合绿色、低碳的消费潮流。

1003141423e02094f35890cee6.jpg10031414212859378a2b8d642f.jpg100314142278281353e8ce4689.jpg

新浪云计算平台测试

过年时,得知sina开放 sae.sina.com.cn 第二次内测账号申请,就去申请了个,第二天就通过了。

前段时间比较忙,现在有些空,就下载了sdk研究了下,php+mysql的程序支持还是比较适合我的。

上传的一个index.php文件 http://ye55.sinaapp.com/

这是上传代码文件的软件

ee.png

下面是sae管理系统的主界面,第一感觉就是清爽,功能强大!

e1.png

最后,找个时间写个简单的程序,像相册或是新闻文章之类的放上去,也算给sae是做下内测了