文章目录

GPIO

仰望星空,脚踏实地~

进制与手指头

十进制是人类用的最多的,不论人种和时代,人们都尤其偏爱十进制。我猜这个原因是因为人都有十个手指头。事实上人们也使用过其他进制,玛雅人的六十进制,希腊的五进制和十二进制,进制是可以任选的,绝大多数都差不多,但是有一种进制却有着略微的优势。

二进制以及相关的四进制八进制十六进制,在某些方面显示出了相当的优势。众所周知二进制已经在计算机科学领域有了广泛的应用。这种进制逻辑最简单,最方便重复大量的运算。同时也太过重复也不适合人的使用,但是通过推广到八进制十六进制左右,就会方便使用了。

面向对象程序和关系型数据库 有更新!

关系型数据库中存在: 一对一 ,一对多,多对一,多对多 等多种常见关系。程序中的思想是面向对象的,所以程序和数据库对接的地方通常需要使用中间层。太厚的中间层如各种 ORM ,使用方便,但是调整细节困难重重;不用中间层,操作jdbc 过于复杂。所以 Java 这里出现了半自动的工具,比如 Mybatis 。我尝试制作一个更方便的工具,但是困在了 1+N 问题。

Groovy 和 Java 的不同之处 有更新!

这些都是官方提供的 http://www.groovy-lang.org/differences.html

Groovy 尽量的让 Java 开发者能够自然的使用,我们追随的原则是:对于有 Java 背景的开发者开始 Groovy 的学习时,不必感到太过惊讶。

[酷]Java 8系列之重新认识HashMap 有更新!

原文地址 https://zhuanlan.zhihu.com/p/21673805

Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap。

由一个简单交易过程想到的区块链交易缺陷

最近重拾对区块链的关注,似乎有好些新东西在搞,但是很多地方我没想清楚。

假如说有一笔交易: 甲有一件物品,乙想购买,甲通过快递将物品发给乙,乙支付给甲费用。 对甲来说,害怕发了货拿不到钱,或者拿到是假钱。 对乙来说,害怕花了钱拿不到货,或者是假货。

从入门到xx系列

闲来无事,受网上流传的《从入门到xx系列》启发,修改了七款搞笑的 T恤设计。

None

None

None

None

None

关于事件总线的进一步思考 有更新!

最近比较空,做全栈工程师论坛的时候之前构思的事件库正好得用,而且有个同事也对这个库感兴趣,所以打算抽点时间把这个库做出来。同时在做的过程中更加理清了思路。

等做完这一套,就相当于重新定义了一套大型分布式互联网应用程序编写方法。前台相当于是静态文件,通过 js 和后台交互(主要用 websocket ,兼容方法也可以用 ajax),不同的是url 对后台没有意义,通信全部都是基于事件的(前台的 url 可以通过 pushState 模拟,获得更好的用户体验)。整个这一套脱开了 java 的基于 servlet 的这一套 web 开发方法,成为更便捷的分布式应用编写方案。

关于事件机制的一些想法

假期 coding 中,有个需要使用事件机制的地方,但是看了几个 java 的事件机制库,感觉都好大好难用。我很疑问为什么要定义那么多的事件类型,好麻烦,难道就不能像 javascript 中那样用个字符串就定义一个事件。

pegdown 怎样自定义标签

这两天正在改写一个论坛系统,后台markdown转换使用 pegdown ,但是 pegdown 转的 code 比前台转的 code 外层少一层 pre 标签。查文档说是支持自定义标签的。

学编程到底是学什么

编程这么多年了,C 语言,Java ,JavaScript,Python,看了多少多少的编程语言。虽然我没胆说精通了哪一个,但是我觉得学习这些语言都值了,每个都是那么有特色,个个都不同。要我自己想,给我多长时间我都是想不出来的,对于这样的东西我都很佩服。

iframe 跨域问题

因为 club 域名没法在阿里云备案(听说有的地方可以备案了@2015),但是我又非常想用我的 club 域名,最后用 iframe 暂时解决了这个问题。

最直接的方法就是把服务器放在国外,但是这个抽风的网络环境真的很影响心情。

读 Werkzeug 源码 抽出一个 Python 交互器 有更新!

Werkzeug 中有一个方便查找问题的 Python 命令交互器,我想把他单独拿出来.一方面做一个网页版的 Python 交互器,也可以进而封装成基于http协议的远程 Python 脚本调用包.想着是放到 SAE 上,然后就可以很方便的使用 SAE 的计算资源和其他特有资源.

读 ShadowSocks 源码 有更新!

ShadowSocks 是一个基于 socket 加密通信的管道软件,用途也很多.但因为其数据完全加密\密码也不需要同步\支持DNS协议等特性,成为一代翻墙利器。为了学习 Python,我阅读了 Shadowsocks 的源码,代码总量让我震惊的少。

SQLAlchemy 学习 有更新!

Python 的数据库 ORM (Object Relational Mapper)有很多, django 下自带一个,但是模块联系比较紧密,无法拆分. PonyORM 用法简单灵活,是个人项目的好选择. SQLAlchemy 也是被广泛使用的权威框架. 目前的版本的 0.9 , 官网 中文资料较少,英文资料蛮清晰的,也有 PDF.

SQL 练习题

SQL 的想法和一般的编程语言想法不太一样。写简单的 sql 容易,写复杂点的 sql 脑子不清楚。而且 sql 还很难维护。还没有找到正确的学习 sql 的方法。入门的的书是 《sql 必知必会》,知识点应该都覆盖了,感觉内容有点老。关于 sql 优化的部分还没有考虑。

使用django框架

近期开始学习django的使用,做一个类似Hexo的博客系统是第一个任务。虽然感觉已经入门了但是距做一个应用的程度还有距离。所以打算先做一个基于django的静态网站,这个奇怪的东东将被部署在SAE上,只有那里才需要这种奇怪的方式,我可以在这个系统运行的时候一步一步的完善它,所以这也不完全是一个糟糕的主意。

基本排序算法-python 有更新!

基本排序方法如果用 python 写,逻辑看起来是非常清晰的。算法说明可以参考:

None

比用 java 当时想的少一步赋值,因为里面的 for 循环就是为了找出后半部分的最小值,当时老老实实找出了最小值,实际上只需要拿到索引值就可以了。

node.js 加密

如果不是密码专家,任何时候都不应该自己写加密算法,何况是 node.js 。node 内置了加密相关的库,是用

hash 用于数据的不可逆加密。

调用方法:

algorithm 可选 'sha1', 'md5', 'sha256', 'sha512'

别人家的书架

1

javascript 的没落

虽然现在 javascript 的发展如火如荼,但是不过是正好站在封口上的猪罢了。开发者不可能永远忍受这样的语法,前端工业化也不允许这种拖慢效率的开发语言。我们需要更快,更快。

js 最大的问题,开发者难受,不管有多少个理由, javascript 的异步回调不符合人类的思维习惯,层层闭包实非我愿。是的,我们码农可以去适应,但是也不可否认这样不舒服。这就带来了开发效率低,且容易出错。这就已经致命了。所以才会出现 CoffeeScript TypeScript 等变体。但都没有彻底解决问题。ECMAScript 本身也在寻求解决,ES6 中的class let 等可以极大的解决问题,ES7 中的 async/await 望眼欲穿。但是“糖”来的太慢了,等到浏览器中普及不知何年何月了。而且不停的加糖只会让这门基础设计很简单的语言将会搅成一团乱麻。