分类目录归档:Share(分享)

CMS使用技巧

Win7实现两台电脑共享无线上网

今天整理房间时,发现一个非常古老的笔记本-日立大白。准备拿出来安装个CentOS玩玩。因为笔记本年代久远,不支持U盘引导。只能刻盘安装。好在还有备货,说干就干,因为只支持CD光驱,只能下载Minimal ISO。

安装很顺利,十几分钟搞定(对于那个年代的老古董来说已经非常不错了)。成功启动,只有文本模式。狂晕。。。。现在都是WIFI时代了,路由器在客厅,房间里没有埋线。Minimal ISO安装啥都需要联网下载。。。

现在官方下载地址只有DVD和CD,CD没有多个光盘的镜像。没有网络。除了开机关机啥都没法干啊。。。 继续阅读

NW.js初体验 – 实现本博客的客户端

最新发现了个神器,NW.js(http://nwjs.io),可以使用 html 开发桌面版APP,使用了webkit内核。没猜错,因为是webkit,它当然是跨平台的。

可能有人会喷这有什么卵用,如果集成了nodejs的环境呢,试想一下,它支持上万种npm库,这个他已经实现了。

又有人来喷这么牛X,怎么没见人用呢?那是因为你没有关注而已,PC版本微信、微信web开发者工具 都是使用它开发的。

有优点也有缺点,缺点就是 体积太过于庞大,随便写个hello world都近百兆。

查阅他的资料,不到几分钟,就完成了一个小程序 – 本博客的PC客户端。源码已经打包成 zip文件(www.miaoqiyuan.cn/products/nwjs-blog.zip),使用时 先下载 nw-js后,使用 nw nwjsapp.zip 即可启动。 继续阅读

通过 UserAgent 判断是否在我们自己的安卓APP中

之前 写过一篇 根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中 (http://www.miaoqiyuan.cn/p/useragent-in-where),那篇文章能通过 UserAgent 判断出 是否在微信、浏览器或者其他APP中,如果需要判断是否在我们自己开发的APP中,就无能为力了。

WebView 提供了 setUserAgentString,可以任意修改 UserAgent。我们只需要在 UserAgent 中增加 自定义的 字符串,就可以在网页中通过JS判断是否在我们自己的APP内。

MainActivity.java 的代码如下: 继续阅读

猫七数据加密、解密类

在很多场合,特别重要的要加密传输。使用成熟的加密算法是一个不错的选择,但是~ 有些算法这个语言支持而另一种语言不支持。或者直接要安装某某组件,实在是太烦琐了,为了方便以后使用,自己抽空写了一个。 继续阅读

发布一款虚拟实用工具

1、开始/运行,输入sendto,回车。打开sendto文件夹。

2、到http://www.miaoqiyuan.cn/products/vhost-del-sendto.rar下载工具包,并解压到Sendto目录下。到此环境搭配完毕,关闭即可。

3、找到邪恶的文件,比如com1.test.asp,右击,选择发送到,删除邪恶文件就可以了。如果是目录,选择删除邪恶目录。

Tornado web server

Tornado web server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件,著名的 Friendfeed 网站就是使用它搭建的。

Tornado 跟其他主流的Web服务器框架(主要是Python框架)不同是采用epoll非阻塞IO,响应快速,可处理数千并发连接,特别适用用于实时的Web服务。

要使用它,必须按照以下套件:

1)Python(建议使用Python 2.5 / Python 2.6)
2)Simplejson(建议使用simplejson 2.0.9)
3)cURL(建议使用curl 7.19.7或以上版本)
4)Pycurl(建议使用pycurl 7.16.2.1)
5)Tornado Web Server(这才是主角,版本就照官網上最新的安裝吧)

一个最简单的服务:

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        self.write("Hello, world")

application = tornado.web.Application([
    (r"/", MainHandler),
])

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.instance().start()