只显示主题贴
函数的副作用及其他
Pure Function、Impure Function、副作用、Referential Transparent
纯函数(Pure Function)是这样一种函数——输入输出数据流全是显式(Explicit)的。
显式(Explicit)的意思是,函数与外界交换数据只有一个唯一渠道——参数和返回值;函数从函数外部接受的所有输入信息都通过参数传递到该函数内部;函数输出到函数外部的所有信息都通过返回值传递到该函数外部。
如果一个函数通过隐式(Implicit)方式,从外界获取数据,或者向外部输出数据,那么,该函数就不是Pure Function,叫作Impure Func ...
- 进入论坛 综合技术 版
线程同步
作者 : buaawhl
我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(Thread)。
线程(Thread)是一份独立运行的程序,有自己专用的运行栈。线程有可能和其他线程共享一些资源,比如,内存,文件,数据库等。
当多个线程同时读写同一份共享资源的时候,可能会引起冲突。这时候,我们需要引入线程“同步”机制,即各位线程之间要有个先来后到,不能一窝蜂挤上去抢作一团。
同步这个词是从英文synchronize(使同时发生)翻译过来的。我也不明白为什么要用这个很容易引起误解的词。既然大家都这么用,咱们也就只好这么将就。
线程同步的真实意思和字面意思 ...
- 进入论坛 综合技术 版
ErLang语法提要
ErLang中的标点符号
ErLang语法中充满了一些约定。大写字母开头的名字(比如Address),表示一个变量,包括参数、局部变量等;小写字母开头的单词(比如ok),表示一个常量,叫做atom(原子的意思),包括常量名、函数名、模块名等。
ErLang的注释用%开头。ErLang用下划线“_”表示任意变量,类似于Java的switch语法里面的default选项。
ErLang脱胎于Prolog,不过,我觉得,ErLang语法和Haskell语法比较象,都是采用 -> 定义函数。
ErLang语句中的标点符号用法很象文章的标点符号。
整个函数定义结束用一个句号“.” ...
- 进入论坛 综合技术 版
学如逆水行舟,不进则退。
半年多来,居无常所,没有稳定的上网环境,这次抽空上来一看,又有好多陌生的名词漫天飞舞了。
落伍退化得很厉害。不过,我还能温故而知新,炒炒冷饭,写写基本的内容AOP。怀旧一番。
AOP = Proxy Pattern + Method Reflection + Aspect DSL + 自动代码生成
Declarative Programming & DSL
Aspect Oriented Programming(面向方面编程,简称AOP)是一种Declarative Programming(声明式编程)。
Declarative Programming(声明式编 ...
- 进入论坛 综合技术 版
字符串编码(charset, encoding/decoding)问题原理
编码问题很重要,关于编码问题的文章也很多。我本来没有兴趣重复这个主题。
一个朋友问我有没有比较好的编码介绍文章。我记得以前看过几篇很不错的,但是当时搜索到的时候,就比较费劲,一时想不起来。于是,我就说,我攒一篇好了。
---------------------------------------
编码无处不在。Database, file, editor, IDE, compiler, browser。
代码(比如java, jsp, asp, php, python, ruby etc)里面的字符串比较麻烦,涉 ...
- 进入论坛 综合技术 版
http://jrc.dev.java.net
ajoo项目批准了。
想参与的去java.net上申请一个账号吧。告诉ajoo,可以把你加进去。
cvs:
host: cvs.dev.java.net
repository: /cvs
module: /jrc
项目的缘起可以看这里。
http://forum.javaeye.com/viewtopic.php?p=132021#132021
项目总共分3部分。
1. jrc的组合子部分,可以生成AST。
checked out code。看到这部分ajoo已经做了。Relation,
这部分就是SQL的语法元素组合子。ajoo称之为 ...
- 进入论坛 Java 版
程序员主编霍泰稳,找到庄表伟,要找个人写介绍Cache的文章。
庄表伟推荐了我。前几天讨论Cache,正好可以写个总结。
于是,我就写了一篇。由于错漏在所难免,先发出来,和大家一起讨论,求得指正。
-----------------
Cache Insight
前言
首先,介绍一下我(作者)自己使用Cache的背景,以便读者更清楚地了解我下面要讲述哪些内容。
我主要是一个Cache实现者,而不是使用者。为了给一些ORM(比如JPA实现)提供Cache支持,我需要包装其它的Open Source Cache,并考察它们的特性。
我对这些Open Source Cache的一些工作原理,了解 ...
- 进入论坛 Java 版
关于Cache部分,写了一篇
http://forum.javaeye.com/viewtopic.php?t=21631
下面写开发JPA Cache 的感受。
firebody 是一个信仰坚定,水平很高的 TDDer。
很荣幸加入他的JPA团队。让我体验了TDD,集成测试。
对TDD, test,我的看法是这样,由于目前,测试远远没有达到应该重视的程度,现阶段无论怎么强调都是不过分的。
同样,对于已经TDD已经强调够了的人们来说,也应该考虑超越TDD,而不是满足于现状。
JPA是一个相当大的项目。firebody控制的相当好。TDD功不可没。
需求分析,问题分解,to do lis ...
- 进入论坛 软件开发和项目管理 版
1. Remote Cache
Remote Cache 是对应于Local Cache来说的。
Key or Value 需要序列化,需要内部网络通信。
Remote Cache 可分为 中心Cache,和Cluster Cache。
Cluster Cache的一个要点是,只是remove的时候,传播 invalidate事件。
这样只需要在 update 的时候,进行传播。
好处是,读取的时候,比起中心cache,就少了一布内部网络通信。
坏处是,命中率比memcache低,因为memory是分开的。update多的时候,需要传播 remove/invalidate事件。
2. ...
- 进入论坛 Java 版
Web显示层技术评估
名词界定
显示层的意思就是Presentation Layer,也翻译成表现层、展现层、展示层。
本文讨论的范围只包括采用HTML Template的显示层技术,不包括Echo,GWT(google web toolkit)等根据代码产生HTML的工具。
本文主要讨论Server Side (针对Java Language)的显示层技术,然后进一步讨论Browser Side(Ajax)的显示层技术(一个典型的Ajax应用也分为Model, View, Controller – Data, HTML/CSS, JavaScript)。注意,本文关于Ajax的讨论只有很少一 ...
- 进入论坛 Java 版
- 浏览: 585666 次
- 性别:

- 来自: china

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
网上银行的安全操作设计探 ...
有道理,不知道建设银行的UKey有啥用?
-- by sjz209 -
网上银行的安全操作设计探 ...
有道理,不知道建设银行的UKey有啥用?
-- by sjz209 -
网上银行的安全操作设计探 ...
1、据了解,动态口令采用的就是楼主说的第2种机制,所以动态口令发生器会有一个容错 ...
-- by jxb8901 -
谁说搞技术的没有幽默感?
yyliuliang 写道部门老大宣布放一年长假,大伙欢呼雀跃,连作三个俯卧撑表 ...
-- by hongfei3 -
谁说搞技术的没有幽默感?
幸存者 写道为什么我觉得不好笑?是因为我没有幽默感么? bingoo
-- by roger






评论排行榜