对单子的求索
原文见 Bartosz Milewski 的系列博文。
如是我闻:
单子空空,力量无限
用之愈多,所得愈多
谈之愈多,知之愈少
——《单子之道》
这样说不知是否夸张,似乎每个懂得了单子的程序员都会写一篇关于它的文章(而且每一篇的开头都是:网络上已经有了许多单子指南,但是……)。原因是...
VA真·八方向行走
#===============================================================================
# 八方向行走
# by:铅笔描绘的思念
# 在Characters里添加八方向行走图(命名规范:在四方向上的基础上+_8D)
# 行走动画就为8方向的。否则就会原4方向的代替8方向的。
...
GM 脚本:修正 github
从某时起,Github 和 Linux 一样,开始有着越来越多的 bug 和让人不舒服的地方。本文所附的 GreaseMonkey 脚本修正以下问题:
项目首页默认下载文件格式是 zip 而不是 gzip。
新建项目后,从已有项目创建的提示命令使用 HTTPS 而不再是 SSH 协议。这直接导致 git 向用户询问用户名和密码,而不使用用户已经上传并确认的密...
既然gcc是用c语言写的,那么我们是怎么编译gcc的?
今天看到一则新闻,gcc新版本引入c++实现的patch
忽然想起来,既然gcc是用c语言写的,那么人们是如何编译gcc的?
其实,大学里宋健健老师的教导我还依稀记得啦= = 为了确保准确性,我特地去翻了一下wikipedia,编译用X语言写的X编译器有以下几种方法:
1.最简单的方法,已经有别人用Y语言写了X的编译器,那你用它编译一下就好了
...
模块计算语言的设计
一直以来,我都想开发一款类似Simulink的方框图计算软件。这种软件可以方便的对一些线性系统进行建模,从而分析出一个复杂系统对内和对外的输入输出以及调节机制。在Matlab之中,主要用于实现模型的都是一些固定功能的功能模块,当然,他也支持一种用户自定义的用Matlab语言进行编写的自由模块。Matlab设计的是Simulink模式,而对于我所设计的Realsim软件来说,我期待所有模...
Linux内存管理之地址映射
写在前面:由于地址映射涉及到各种寄存器的设置访问,Linux对于不同体系结构处理器的地址映射采用不同的方法,例如对于i386及后来的32位的Intel的处理器在页式映射时采用的是2级页表映射,而对于IA64的处理器则采用3级分页。对于其他类型的处理器,例如MK68000等其他许多处理器,在地址映射时则忽略了段式映射,只是因为Intel的X86系列需要兼容早期的段式映射,才在后来的设计中...
24Cxx 系列EEPROM程序
关于I2C 学习的时候介绍得最多的就是24C02 这里存储EEPROM了,但学的时候基本只是讲讲简单的I2C 的总线数据传输而已,即使先gooogle上搜索也绝大部分这这样的文章,很少有说到如何在实际情况中如何使用的程序。
24Cxx系列数据块存储时也是比较讲究的,
图为 几类不同容量的芯片的存储空间结构,24C16以下空间的大于8位后的寻址高位地址在片选地址...
python学习
案例法确实值得称赞,虽然是“笨办法”,一字不差,没有任何含糊,不过它确实有效,那么它就不笨。
因欲写个重命名的工具(其实之前有用shell写过),后来觉得代码相当ugly,想换个方式来实现它。尝试过perl, 无奈,熟悉正则表达式的我表示无力,太不人性了(也许我要被喷了,^_^),于是转向python,。之前有接触过,教材不对,学习方法不对,我还没入门就...
一个 Python 的 IDE
出差了很久,也就没有更新博客,残念。
/////////////////////////////分割线/////////////////////////////////////
今天看维基百科,看到 了 PyScripter这么个东东,一个 Python 的 IDE,用 Delphi 写的。
我是个喜欢收藏小工具的淫,尤其是好看的,显然我就被这界面给征服了。。。...
Vim攻略 <2> Basic Operations
好吧,其实<1>差不多写完了,只是我对自个儿的文笔非常不满意,所以等润色下再发
下面这张列表,是笔者使用vim editor时经常用回到的一些按键,可以说,这些已经涵盖了90%的日常使用
虽然是用英文写的,不过原作者一定肯定坚决是我~ 吐槽我的英语:evol128@gmail.com
[n]<key> means that t...
Cocoa 中的单例设计模式
static ShareManager *_shareManager = nil;
+ (ShareManager*)sharedManager
{
@synchronized(self) {
if (_shareManager == nil) {
[[self alloc] init]; // assignment no...
手动给Mac(苹果)电脑,添加Nat,共享Internet。
费了半天劲,算是搞定了。
废话不多说,直接看命令吧!(好吧,其实这个是系统启动项目脚本(在/Library/StartupItems里面))
#!/bin/sh
. /etc/rc.common
function enipfw() #添加防火墙规则
{
ipfw -f flush
ipfw add allow all from any t...
GM 脚本:桌面浏览器登录招商银行手机版,及 mitmproxy 的初次使用
招商银行网银需要控件,只支持 Windows 和 Mac。但是手机版不需要安装任何软件可直接登录。通过桌面浏览器访问https://mobile.cmbchina.com/MobileHtml/Login/LoginA.aspx可以看到登录界面,但登录时被拒绝,弹出警告「为了您的资产安全,请用手机访问手机银行!」。更改 UserAgent 失败。通过 Firebug 发现其 POST ...
Qt获取本机IP、主机名及当前时间
获取本机ip:
QString m_ip;
QHostInfo host = QHostInfo::fromName(QHostInfo::localHostName());
foreach (QHostAddress address, host.addresses());
m_ip = address.toString();
获取主机名:
...
Qt操作串口
以前写的串口通讯的工具,最近没事整理了一下记录下来。由于Qt没有实现关于串口操作的类,所以一般情况下可以自己写线程实现,也可以使用第三方类。这里使用第三方类。可以到网上去下载,也有关于这个第三方类的介绍。这里不多说了,在win下,主要就是下载这几个文件:qextserialbase.h,qextserialport.h,win_qextserialport.h,qextserial...