Cliff 的笔记

记录一些心得和思考

libdmclient 代码阅读

libdmclient 是oma-dm的客户端库,基于syncml rtk库封装,后者源出自syncml.org,但现在打不开。libdmclient里面充斥着大量的指针强制转换,且缺少文档。虽然代码量不大,但阅读起来比较繁琐。 libdmclient里面包含了一个test的例子,从这个例子里可以看到libdmclie…

2016 年 11 月 22 日

互联网免费资源整理

最近忙着翻译RCS文档,没空做什么正事,只是抽空整理了一下网站。这里把现在发现的一些网上的值得用的免费资源列一下: 国内访问速度不错的: netlify.com: 现在(2017)的首选。适合放静态站。jekyll/hexo等等都支持。源码可以放github。 Coding.net:适合放源码和静态站(jekyll优…

2016 年 11 月 17 日

Gitbook 写文章的注意事项

最近用gitbook在翻译某技术文档,记录一点注意事项。 如果用github账户登录,则无法用git从gitbook直接下载书籍源码,原因不明,但似乎是因为git命令行无法做oauth认证(怀疑可以用github的token来处理,未尝试)。同样,无法git push。但可以用本地编辑器的sync来push。 …

2016 年 10 月 19 日

使用 bing 每日壁纸做网站背景

前几天放在git pages上的主页太慢,主题又不是我特别喜欢的风格,再加上发现coding.net提供了同样功能的coding pages,于是准备重新做一个jekyll站。 找图的时候,突然想到,能不能用bing的每日壁纸做网站背景呢? 光靠coding pages/git pages,答案当然是否定的。要获取bi…

2016 年 09 月 20 日

关于消息队列

还是为了WebRTC的事情,研究了几天消息队列(Message Queue)。 消息队列,在这里是个专有名词,指的是一个独立的用于消息收发的服务。现成的消息队列服务器有ActiveMQ/RabbitMQ/ZeroMQ等等。其中RabbitMQ使用erlang语言实现,天生就能较好的支持并发。ActiveMQ用的是Jav…

2016 年 09 月 06 日

零成本的静态服务器

好吧,其实就是花了几天搞定了一个Github Pages页面而已。Github Pages的特点是: 免费 限制不多,包括 空间推荐限制1GB,其中单个文件限制100MB,50MB以上时就会收到警告 流量推荐限制每月100GB或100,000次点击 每小时提交推荐限制10次 可以服务静态网站或jekyll网站 …

2016 年 08 月 26 日

SpringBoot 应用开发

需要写一个基于SpringBoot的Web应用作为后续项目基础,这里记录一下。 应用目标:一个Web应用,使用H2做数据库(后续可以方便的替换),flywaydb做数据库版本管理,Spring Security做登录认证和授权。 准备工作:需要maven/h2/gradle等,下载安装完成后要加到path中,方便调用。…

2016 年 08 月 09 日

关于低成本信息系统组建的思考

把自己放在老板的位置上就可以发现,到处都是花钱的地方。虽然信息系统对于公司来说是很重要的基础设施,但公司初期是否可以以尽量低的成本来构建一个灵活可扩展的信息系统,是一个值得讨论的问题。 信息系统的定义在wiki或百度百科上均有,不再赘述。对于公司来说,信息系统应该是帮助公司管理和利用自身的信息的工具。通常来说,公司的业…

2016 年 06 月 16 日

几个 PC 传屏到 Android 方案

朋友的软件公司,客户要求提供一个PC(Windows)传屏到Android的解决方案。 一开始需求不明确,当然是VNC最省力。TightVNC的Windows版本源码可用,MultiVNC的Android版本源码可用。联调可以连上。唯一可惜的是MultiVNC的Discover功能不可用。不过这个功能只是用mDNS查…

2016 年 06 月 15 日

tightvnc 在 vs2015 下编译的问题

tightvnc是一个vncserver/viewer的开源实现,但原始工程是在vs2012下编译通过的,在vs2015中由于一些改动,导致无法编译通过。需要做如下修改: 编译问题,viewer-core中的RemoteViewerCore.cpp中,1206行,需要把const char改成char 链接问题,tv…

2016 年 06 月 08 日

策略路由设置

服务器有两个外网连接,eth0上的PPPOE是一个,wlan0是一个。从服务器出的时候默认走的ppp0,这个不用设置就好了。但从wlan0进来的入口就不通,于是学习了一下策略路由的配置,简单记录一下。 策略路由要处理本机的路由表,不是route -n看到的那种,而是在/etc/iproute2/rt_tables中可…

2015 年 11 月 18 日

Armbian on Cubietruck

折腾无止境,之前在Cubietruck上搞定了Cubian X1,虽然Cubian确实不错,但还是有几个缺点: 基于debian wheezy,有点过时 路由重启时,wlan0接口无法自动重连,原因不明 基于以上原因,我找到了armbian,基于debian jessie,够新。基本上Cubian X1的所有设置都…

2015 年 11 月 18 日

Cubian X1 on Cubietruck

Cubietruck是一个开发板,性能略优于Raspberry Pi。自13年入手以来,在我家作为服务器勤勤恳恳的工作了2年了。之前也有记录过笔记。近期准备重新发掘一下它的功能。记录一下从零开始的过程。 Cubieboard实际上是一个系列,我手上的是第三代产品。截止到现在(2015年底),第四代已经在售,第五代原型图…

2015 年 11 月 13 日

Funambol 的 SyncML 实现研究

工作要求要实现Firefox OS上的SyncML协议,找了一下居然没有现成的开源js实现。只好几方面下手,一边学习协议,一边尝试参考其他实现代码。这就找到了Funambol的实现。实际上Funambol的实现也有些年头没更新了,说明一直没人把这东西当回事。 首先是Server,下载地址在这里,Server运行倒是很简…

2015 年 07 月 31 日

软件项目开发和管理随手记

最近基于Easyrtc/Angular在搞一个Web即时通信软件,除了Angular也没研究啥,不值一写。不过关于软件项目开发和管理有一些零散的想法,随手记一下。 关于测试驱动 测试驱动的确是好东西,但为什么国内少有公司推动?我觉得原因其实很简单:看起来太贵了。 打个比方。如果一个软件依靠黑盒测试能做到80分,按照传统…

2015 年 05 月 08 日

怎么看 Spring4 的 Demo

前几天看到一篇文章,Web研发模式演变(链接已失效),对于前端后端的看法跟我最近的一些思考很搭。为了向全栈发展,借前几天做完了WebRTC前端的动力,打算再去看看后端。当然是熟悉的Java,熟悉的Spring。一看吓了一跳,Spring现在完全不是以前的Spring了,所有的Demo一概看不懂。那么几行代码,完成那么多…

2015 年 02 月 04 日

WebRTC 怎么用

背景就不多说了,无非是程序员的无聊吐槽,大家用手指头想想也知道是怎么回事。 问:WebRTC是什么? 答:是浏览器实现的一套用于p2p连接的接口。 看到主谓宾了吧。WebRTC是......接口(也可以说是标准啦)。所以不要以为它是架构,或者是工具库(当然它包含native接口库),或者是什么万能灵药。 问:WebRT…

2015 年 01 月 11 日

次世代 HTML5 应用应该怎么写

最近一段时间,由于工作原因,研究了一下WebRTC,顺便搭了一个简单的demo。不过今天不想谈WebRTC,只想记录一下做这个demo的感受。 题外话,虽然以前做增值业务时写jsp出身,但那是十年前给手机写的网页,完全不需要javascript,再加上我对html和javascript一直持鄙视态度,自然也就没深入研究…

2015 年 01 月 10 日

闭源开源与其中庸之道

对技术企业,特别是国内的企业而言,选择闭源还是开源,可能根本不是一个选择。因为从来没有人有义务将自己的工作向大众公开,任人分析获取。公司是逐利而生,自己的东西都公开了,利润来源于哪里?这对每个企业的领导人都是放在第一位的问题。因此开源从来不会成为企业的首选。 然而,从近年来的一些例子来看,开源和闭源之间并非楚河汉界一般…

2014 年 12 月 03 日

OpenWRT 和 mwan3

家里路由器是Buffalo G450H,因为之前用的ColorBox系统的DDNS有点问题,所以今天来了兴致,刷了OpenWRT最新的BarrierBreaker版本。其他的配置都很明确,就是单线多拨费了点功夫,记录一下。 参考资料在这里。 概念上几个关键点是这样的: 需要装kmod-macvlan,修改启动脚本,在…

2014 年 11 月 01 日

Top