- 浏览: 328972 次
- 性别:
- 来自: 南太平洋
最新评论
-
yhxf_ie:
Ace Jump和IdeaVim,您都是如何安装的啊?在int ...
IDEA Intellij小技巧和插件 -
xiduoli:
这里没有看懂。我对着设置了一下。 然后查了一下 setting ...
IdeaVim插件使用技巧 -
kutekute:
分享快乐,谢啦
推荐一个颇好用的Scala REPL脚本控制台 -
lord_is_layuping:
“很难找到这样的两种语言(Pascal和Lisp),它们能如 ...
SICP读书笔记(2)——扉页,序 -
793059909:
kidneyball 写道793059909 写道下载页面打不 ...
推荐一个颇好用的Scala REPL脚本控制台
文章列表
上一篇 :分形绘图简介(二) Apophysis 7X登场
前面已经了解了Apophysis的随机生成分形图的功能。下面来看看如果要自己动手绘制一幅分形图,过程是怎样的。同样,暂时不要去关注分形算法,先按照操作教程感受一下绘画过程。
为了便于描述,这一节先了解一下常用的绘图操作界面。(如果你喜欢自己摸索界面的话,也可以直接开始作画)
Editor面板
前面已经说过,在主界面按F4键(或者按快捷栏的Editor按钮)就会弹出Editor面板。现在来详细看看这个面板上有些什么。
首先是快捷工具栏
按钮从左到右分别是:
New Flame : 新建一个空白的图案
New Trans ...
前一篇: 分形绘图简介(一) 什么是分形绘图
首先隆重推介一下 分形艺术网 ( http://www.fxysw.com/ ),上面有不少绘制分形图的软件、教程和示例。我也是通过这个网站才知道了Apophysis 7X这款软件。
Apophysis 7X简介
Apophysis 7X是一款用dephi写的开源分形图软件 ( http://sourceforge.net/projects/apophysis7x/ )。它是Apophysis的改进版 ( http://apophysis.org/ ),适用于在win7下运行。它使用了一种叫“分形火焰算法”(Fractal Flame Algo ...
圣诞长假,把玩了一下分形绘图。我的初衷是想找点简单好玩漂亮的东西,以后用来哄骗小女儿学习数学和计算机。于是我找到了Kojo,一个用Scala来模拟Logo语言的小玩具,让我想起了小时候玩分形绘图的零星记忆。然后在网上东 ...
一个搜集java源代码的scala程序
- 博客分类:
- 工具脚本
jboss的源代码目录太零碎了,写了一个Scala脚本,搜索多个源目录,把java文件按包名路径复制到统一目录下。方便调试时绑定源码。
package net.danieldeng.sourceextractor
import scala.io.Source
import java.io._;
import org.apache.commons.io.FileUtils
object SourceExtractor {
val PackagePattern = """^\s*package\s+(.+?)\s*;\s*$"" ...
一个通用的TreeIterator
- 博客分类:
- 算法
因工作需要,写了一个通用的树迭代器。主体逻辑参考了AOM (www.operamasks.org)的ComponentIterator,作了以下改进:
1. 接受任意节点类型(泛型参数)
2. 加入了一个stack来跟踪parent (节点无需提供getParent)
3. 加入了一个函数接口来过滤子树
主类:
public abstract class TreeIterator<Node> implements Iterator<Node>
{
private Node root;
private Node current;
private Node ...
package net.daniel.test;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
...
1. 利用Server模式快速启动emacs
Emacs启动比较慢,使用Server模式可以解决这个问题。启动一个Emacs实例后,可以用M-x server-start命令进入Server模式,然后保留此实例不关闭。此后,可以用“emacesclientw <文件名>”启动emacs,则这次 ...
1. 为了用得顺手,需要把Caps Lock键设为Ctrl。Caps Lock功能则设到右手的Context Menu键上或Win键上。可使用KeyTweak工具来帮助改键,不嫌麻烦的话也可直接改注册表。
2. M-x按得不顺手(位置太近反而不好按),可以用ESC-X来代替,或者 ...
这几天都住在七天,开发计划暂停。翻看了一下 local.joelonsoftware.com上的台译文章。简单归类整理一下:
1. 程序员修养
* 你絕對不應該做的事
要点:不要轻易把遗留代码推倒重来。
* 每個軟體開發者都絕對一定要會的Unicode及字元集必備知識(沒有藉口!)
要点:如题。
* 別讓架構太空人嚇到你
要点:地球很危险,你还是回火星吧。
* 邊開火邊移動
要点:立刻行动,避免打断。
* 抽象滲漏法則
要点:所有重大的抽象机制在某种程序上都是有漏洞的。
* 程式設計領域的帕麥爾斯頓勳爵
要点:优秀的程序员必须了解抽象层下面的东西。
2. 产品策略
最近计划把玩一下RoR,Django,Lift几个轻量级Web框架,打算统一使用Emacs来开发。今天在Win7下搭好了Emacs for Rails环境,记录一下搭建步骤。
1. 下载安装初始环境:
* Ruby 192和Rails 3.0.5,在 http://rubyonrails.org/download 直接搞定。
注意 ...
一份介绍动态语言和函数式编程的内训PPT。主要是介绍一些函数式语言和类型系统的入门知识,旨在引起同事们对函数式编程和动态语言的性趣。
在2011年的BlackHat DC 2011大会上Ryan Barnett给出了一段关于XSS的示例javascript代码:
($=[$=[]][(__=!$+$)[_=-~-~-~$]+({}+$)[_/_]+($$=($_=!''+$)[_/_]+$_[+$])])()[__[_/_]+__[_+~$]+$_[_]+$$](_/_)
这是一段完全合法的javascript代码,效果相当于alert(1)。它可以在大部分浏览器上运行。(虽然目前我测试过手头的浏览器都能运行,但理论上不能保证所有浏览器都能正确运行,原因见下文)
这段代码的好处(对于黑客)是,它不包含任何字符或数字 ...
Sec1.1.2 命名和环境
介绍第一种特殊形式:define,也就是把名字与计算对象进行绑定。需要注意的是,在Lisp中,在同一个作用域中不能使用define对同一个名字重复绑定。在DrRacket中执行
(define s 2)
(define s 3)
会出错:
引用
module: duplicate definition for identifier in: s
也就是说,在Lisp中,define的作用非常纯粹。它所定义的变量(原文中就称为variable,但要注意与其他开发语言所说的可以多次赋值的变量不同)不负责跟踪状态的改变,而是专门为结构复杂或含义不清的计算对象提 ...
Sec 1.1 程序设计的基本元素
“这样,当我们描述一个语言时,就需要特别注意这种语言所提供的,将简单认识组合形成复杂认识的方法。每一种强有力的都为此提供了三种机制:
1. 基本表达形式 : 用于表示语言所关心的最简单的个体。
2. 组合的方式: 通过它们能从简单的元素出发构造出复合的元素。
3. 抽象的方法: 通过它们可以为复合元素命名,并将其看作单元来操作。
……
通俗来说,数据是一种我们希望去操作的“东西”,而过程是关于如何操作数据的规则的描述。这样,任何强有力的程序设计语言都必须能表述基本的数据和基本的过程,还需要提供对过程和数据进行组合和抽象的方法。”
以上三点,是如何从机制上 ...
目录
SICP的前三章是考察任何一个开发体系(例如程序设计语言、开发组件、设计模式、开发框架)所必须了解的最最基本的三个方面。接触任何一个新的开发体系时,应该按部就班地搞清楚其“构造过程抽象”的方式、“构造 ...