大量阅读
为了掌握全局的把控力,泛读是必须的。 阅读范围必须包含所有感兴趣的领域,以及影响深远的大事件。互联网时代,一切运转都是广泛联系的,目前看来毫无关系的两个东西将来或许就是新兴的交叉学科,所以阅读一切感兴趣的东西。
仰望星空,脚踏实地~
为了掌握全局的把控力,泛读是必须的。 阅读范围必须包含所有感兴趣的领域,以及影响深远的大事件。互联网时代,一切运转都是广泛联系的,目前看来毫无关系的两个东西将来或许就是新兴的交叉学科,所以阅读一切感兴趣的东西。
Golang 也有多年了,docker都火起来了,当初决定选择第二语言的时候,由于考虑到:
并没有把 Golang 列入选择的列表,而是走了 Python 的路线. Python 入门确实挺容易,但是实际上看到高阶的部分也是挺麻烦的,目前也是陷入了一个瓶颈期.此时,又拿起了 Golang 的书.
腾讯发布WebQQ新版本,创意无限、界面清新、布局合理,是又一款非常好的网络应用。本次升级较之前的WebQQ2.0有了很大的改变。现在看起来完全不像是WebQQ,更像WebOS。既基于腾 讯原来的软件优势,又打破常规思路,体现发展的大方针,布局云操作系统,虽然入局不是最早,但是很有潜力。
每一个 Servlet 程序都实现了
servlet 容器要做的工作: - 当要请求的 servlet 没有加载时加载它,然后调用一次 init 方法。 - 针对每个 request 请求,生成 Redquset 和 Response 对象。 - 调用该 servlet 的service 方法。 - 关闭时调用 destroy 方法,然后卸载类。
按照 HTTP 协议
客户端发送: 方法 - URI - 协议/版本 请求头 请求内容
服务端返回: 协议/版本 - 状态码 - 状态描述 响应头 响应内容
可以通过
在这篇文章中,我将会写一段创建一个死锁情景的代码,然后再讨论解决这种情况下的解决方案。编写多线程程序的时候避免编写不正确的代码导致死锁总是一个挑战。
死锁就是这么一种情景,多于两个线程都各自占有着不同的资源锁,同时又都等在别的线程释放资源才能完成自己的工作,于是就产生了死锁。
实践表明,利用GoAgent翻墙是目前最稳定的一种免费翻墙方法。使用方法已经在网上转载泛滥了。
逃离虚拟主机、逃离apache、逃离php、逃离WordPress,逃离熟悉的一切...
近来出现了许多以Github、DropBox、GoogleDriver、Evernote等为存储空间,以Markdown为书写格式的云博客。存储空间我不在乎,文章采用MarkDown的书写方式真是让人觉得回归本质啊~ WordPress也有Markdown插件,但是靠插件能解决问题么?完全不是一个味道啊。
用MarkDown书写博客的模式是定了,实现的方式可以有很多,但是都不甚满意。基于 Node.js 的Hexo 成为博客系统的最佳选择。
WordPress日志转Markdown还是有点麻烦的,试了GitHub上的wp2md,中途会中断,格式还是很乱。还有Farbox上的在线工具,格式还可以,只能分段转换。地址是:http://wp2md.farbox.com
别了Apache
Shell
apt-get remove apache*
WordPress虽说是一种简单的建博方案,但是由于插件众多,开发者良莠不齐等等原因,偶尔还是出现各种冲突错误。基于这种原因我们可以做一个本地的服务器。自己的电脑完全可以作为本地测试之用,但是难免影响平时的使用和娱乐,于是我们需要在虚拟机里安装一个系统作为服务器。
之前一直用相对简单的单片机,写的是裸机程序,同时也是由于是学习阶段,所以固化了一种思想——所有东西都要自己做,所有东西都必须搞搞清除。现在更换到ARM9的平台上工作,工作模式变成了多人协作,维护一个不知道多少人维护了多少年的程序,瞬间就感觉不适应了,大的代码量一下子在都不知到从哪里看起。之前也有学习MFC的编程,层层API的结构和C++面向对象的思想,对编程风格影响深刻。其实不需要每个地方都看的,高度结构化的代码,只需要知道下层提供了什么,上层又需要什么,就可以了。适应新的思想之后,觉得以前需要不断查看寄存器手册来写的代码,简直就是浪费青春。或许我自己写的更高效更简洁,但是大多数时候是没有必要的。我要停止重新发明轮子的过程,更多的思考功能实现
排序算法是最基本的算法之一,是许多人开始学习算法的启蒙,对理解计算机软件编写有很好的帮助。大致可分为:插入排序、交换排序、选择排序和其他排序。
为了方便测试,先做了几个工具函数。
用 C/C++ 通过 CGI 接口是可以用来做网页的,在Apache下已经实现过。现在换成 Nginx 只能用FastCGI接口,稍有区别。CGI接口下,每次访问会重新开一个进程,而FastCGI会把程序编程服务,永不退出,每次访问执行一遍,效率会好一些,怎么处理并发似乎比较麻烦,我还不懂。先尝试一下。
我把直接建立在物理层之上的一层协议叫做链路层。理论上不管你用的是什么通信协议和加密协议,在链路层看来都是0和1。根据物理层情况的不同,某些情形下链路层很容易直接暴露出来,比如说485通信方式。我只需要在485线路上搭上示波器就能情容易的观察到所有的数据。这种特性可能导致某些精心设计的加密协议毫无用武之地
公司给买了Beaglebone Black的开发板,打算以后转移到Cortex-A8平台上来,让我先做一些准备工作。近来单板计算机是很火喽,但是拿到手还是很惊讶这么小的东西已经达到一般PC的能力了。
面向对象的语言中,即使类型被转换,对象还是按照自己的真实类型调用方法。
C++ 类型定义: ```cc class Base{
public: virtual void say(void)=0; };
要想为linux 2.6.x 内核构造驱动模块,必须首先在自己的系统中配置并构造好内核树。跟之前的linux内核版本不同,先前的模块编写只需要有一套内核的头文件就够了,但是因为2.6内核的模块要和内核源代码树中的目标文件连接,通过这种方式可以得到一个更加健壮的模块装载器,但也需要这些目标文件存在于内核目录树中。
根据小马哥提供的电路,仿制了一款Jlink,可以实现SWD协议方式的调试和下载程序。目前检测非常稳定,可以直接在线升级程序,可以在KEIL 4.60 以后的版本中正常使用。(部分老式盗版Jlink在KEIL 4.60 以后的版本中被识别为克隆版本,程序会自动关闭,需要手动修改SN码可以解决)
决定制作一个逻辑笔,非常简单的东西,但是可以带来方便。首先看看别人怎么做的:有用门电路的,有用555的,还有各种MCU的。逻辑是:被测电压大于VCC电压的50%,认为是1;被测电压小于VCC的10%,认为是负;其余状态为悬空。重点是输入阻抗无穷大。考虑到手边的东西,决定使用运放的方案,制作原理图如下:
当仅使用SWD方式调试,也就是只用到两个引脚(SWDIO和SWCLK)时,其余的Jtag口可以配置为GPIO模式。这总是对的,也一直用了这么久了,没出过问题。但是在 KEIL4.54 版本时,这个引脚的电平就跟坏了一样???
制作这么个东西,主要是验证几个电路,最后还能得到一个很好的工具。