SockIO PPT, the programmer's PPT!支持远程控制的html ppt开源了

Posted on 2016-08-02 12:49:33 | 6 comments | 2634℃ | Javascript

关于SockIO PPT

https://hisune.com/view/42/sockio-ppt-remote-control-html-ppt

Online demo

有句话叫做,不会写PPT的程序猿不是一个好美工,那么究竟怎么样才能做一个高逼格的PPT呢?

为了做一个公司内部的PPT,花了几个小时写了个简单的html版的PPT,那么他有什么特性呢?

特性

  • 简单,常用PPT展示功能实现,包括翻页、点击显示、提示器。嗯,代码也很简单
  • 快捷...

说一下nwjs开发中遇到的几个坑

Posted on 2016-05-07 19:44:45 | 0 comments | 2303℃ | Javascript

序言

最近人变懒了,很久没有更新博客了,决定趁周末来一发!

公司要开发一个PC跨平台工具,参考了electron、nwjs、有道hex。

其中,electron虽然成熟,已经开发出的成功产品也一大堆,包括微软的VSC,但他不支持xp,但开发的工具面向的使用对象是国内用户,所以排除;

有道hex很久没维护了,且开发出的成熟产品基本没有,也排除。

剩下就是nwjs了,其实nwjs几年前就使用过,当时名字还叫node-webkit,还开发过一个开发人员小工具:https://github.com/hisune/hisune-coder-tools,但这次使用nwjs还是遇到了一些坑,下面[我](https://hisun...

一个简单的websocket协议的客户端服务端nodejs实现

Posted on 2015-05-28 18:32:54 | 3 comments | 2711℃ | Javascript

协议内容

http://chenjianlong.gitbooks.io/rfc-6455-websocket-protocol-in-chinese/content/index.html

文档最重要,一开始,直接过一遍文档再说。

实现协议就以下几点:

  • 握手
  • 获取数据内容
  • 发送消息

关于握手

  • 服务端获取到Sec-WebSocket-Key
  • 将这个key与字符串258EAFA5-E914-47DA-95CA-C5AB0DC85B11相连
  • 对新的字符串通过sha1散列算法进行计算
  • base64编码
  • 写入"Sec-WebSocket-Accept"响应给客户端
  • 完成握手

// 获取响应string
exports.getHandshake = function(header)
{...

一个自用的基于node-webkit的web开发人员工具合集

Posted on 2014-11-23 15:45:39 | 0 comments | 2350℃ | Javascript

新版本:https://hisune.com/view/44/electron-hct

关于HCT

10月份的时候了解了一下nodejs和node-webkit,由于之前的开发工具都是用的放到自己网站上的工具,主机又是在香港,很多时候速度很慢,于是看到node-webkit的特性后想到用这个东西做一个本地版的web开发工具,现将其共享出来。

特性

Hisune Coder Tools支持的工具有:

  1. shadowsocks翻墙工具(核心代码来自shadowsocksui)
  2. json编辑器(核心代码来自json editor online)
  3. html+js+css实时编辑器(感谢jsfiddle)
  4. ip归属地、ping、trace查询
  5. md5、base64、unixtimest...

nodejs中执行系统命令立即输出结果的方法

Posted on 2014-10-17 16:35:29 | 2 comments | 4422℃ | Javascript

前言

最近开始学习nodejs,node真是一门神奇的语言,各种回调

在用node-webkit写应用的时候有写到这样一个小工具,调用系统的ping,tracert命令来调试网络。当时用的是exec来返回命令结果给前端,但他的stdout需要在整个命令执行完成后才返回,这样对tracert这种长时间才有最终返回结果的命令来说,用户体验简直差到极致,因为需要等exec返回stdout后才能往页面写内容。

解决

child_process.spawn(command, [args], [options])

最终解决了的这个问题。


var util  = require('util'),
    spawn = require('child_process').spawn,...
UP