文章目录

GPIO

仰望星空,脚踏实地~

[酷]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 望眼欲穿。但是“糖”来的太慢了,等到浏览器中普及不知何年何月了。而且不停的加糖只会让这门基础设计很简单的语言将会搅成一团乱麻。

javascript 的崛起

最近用 js 纷纷杂杂的做了一些东西,一方面觉得觉得自己掌握的不够熟练,用的少;另一方面觉得“乱”,大家都在包模块,但是不统一,互相不能用,还是重复的工作。

但是 js 这门语言无疑是非常有想象空间的。虽然 js 的语法先天不足,而且现在好像越加越乱了。其实一门编程语言没必要搞的什么都有,太多的语法糖让人觉得纷乱复杂,其实只要能把东西做出来,用最简单的语法足够了,太过“魔幻”的方法我是不打算用的。就把 js 当作简单的表示逻辑的东西来用就好了。

比特币 有更新!

比特币是什么?

比特币(英语:Bitcoin,简写:BTC,货币符号:฿),是一种用开源的 P2P 技术的软件而产生的电子货币。虚拟货币“比特币”的概念最初由中本聪(Satoshi Nakamoto,可能化名)在 2009 年提出。现在比特币也指根据中本聪的思路设计发布的开源软件以及建构其上的整个 P2P 网络。

比特币是怎样的存在

钱,或者说是货币,本身就是一个抽象的概念。这个概念曾经使用过的形体:羊、贝壳、金、银、纸币,现在又要变成电子的符号。