Archive for the 'My Works' Category

羊与车问题计算机模拟

先推荐一下Mathematica,这个东西擅长数学运算,速度快结果精确,在许多情况下可以取代程序设计语言,比如这次我要解决的问题--羊与车问题

题目描述(来自Matrix67的博客)

在一个游戏中有三个门,只有一个门后面有车,另外两个门后面是羊.你想要车,但你不知道哪一个门后面有车.主持人让你随便选了一个门.比如说,你选择了1号门.但你还不知道你是否选到了车.然后主持人打开了另一扇门,比如3号.你清楚地看到3号门后面是一只羊.现在主持人给你一个改变主意的机会.请问你是否会换选成2号门?

嗯,概率问题永远是计算机的强项...借此贴抛砖引玉,希望大家提供更多Mathematica的入门案例


(* Simulation for Problem Monty Hall Dilemma *)
simTimes = 1000000;
got = 0;
For [ i = 0, i < simTimes, i++,
 (* Door No. of Car *)
 car = RandomInteger[{1, 3}];
 (* Player's Choice *)
 choice = RandomInteger[{1, 3}];
 (* If they're the same
   it means that if player changed his or her mind
   he or she will lose the game *)
 If[car != choice, got++];
 ]
N[got/simTimes, 5]

网络电阻的等效电阻求解软件

本人的一个原创小作品,希望能够帮助到各位学习物理竞赛的看官... 

没什么可说的,引一下我写的项目简介和说明吧

本项目是2008年科技创新大赛参赛项目

项目: 网络电阻求解
版本: v2.0 Beta
类型: 教学
语言: Java/Flash/AS
授权: 保留所有权利(因竞赛原因)
简介: 你是否曾因网络电阻的求解而困扰?或者你是否曾经辛辛苦苦解出一道题却不知道其正确性?本作品便是帮助你解决这一问题的好帮手.输入任何一个网络电阻,一秒钟之后答案便显示在屏幕上.
使用说明:
首先确认已经安装JDK最新版(神奇的原因,不能用JRE而必须是JDK,who can help me?)
运行rnsolver2.exe可打开主程序
数据格式
(如果你认为这样太麻烦,请运行数据生成器兼电路图设计程序GUI,参照说明生成数据)
第1行: 一个整数N,表示电阻的个数
第2行: 两个整数,表示网络的两个端点
第3...N+2行: 三个整数,表示一电阻两端点结点编号和阻值
所有数据必须是整数
样例数据(平衡的惠斯通电桥):
5
1 4
1 2 4
1 3 3
2 4 8
3 4 6
2 3 9

下载: 点击这里进入下载页面.

痛苦的抉择:DevWorks v1 延期

本来, 我已经完成了 DevWorks 的内核和大多数周边模块, 仅剩后台没有完成. 我以为, DevWorks v1.0 近在咫尺.

可是, 我在写后台和完善内核的时候, 发现了一系列的问题. 问题的矛头直指 DevWorks 的根基 - DevWorks 内核类 (DevWorks Core Class)

具体的问题说大也不大, 说小也不小.(没有兴趣可以略过)

根据现代面向对象编程的原则, DevWorks 没有使用任何全局变量. 因此, 您在代码中找不到 global 关键字.

因此, 我将 DevWorks 的全部原本应直接写出的代码放进了 DevWorks 内核类. 我想, DevWorks 作为一个对象, 应该是一个类.

但我发现我错了. 因为前面提到的原因, 我无法在对象中引用 DevWorks 类的成员 - 例如数据库连接.

我采用了类似于 IPB 的解决方案, 为每一个类安排一个特殊的属性devworks,作为主对象的一个指针(准确地说是引用).

于是一个愚蠢的事情发生了: 无论是什么类(library里的类除外),都清一色地拥有一个叫做 devworks 的属性

我们不禁要问, 这难道就符合面向对象编程的原则吗?

PHP 已经提供了解决之道 - 静态类.静态类就是为只存在一个副本的对象而设计的. 这不正是 DevWorks 内核类需要的吗?

但毕竟木已成舟, DevWorks 已经写好了几百 KB 的代码,如果要修改实在很麻烦.

我辗转反侧, 计划在 DevWorks v2 改写架构

但 DevWorks 的性质决定了, 这样做良心上说不通. 这样为 DevWorks v1 所付出的不就白费了吗?

因此, 我决定, 改写内核的架构 - 将 DevWorks 内核类换成静态类.

牵一发而动全身, 这样一个行为导致的后果非常严重. 大部分代码需要修改.

不过不用太担心, 上面说的虽然有些严重, 但那是对我而言. DevWorks 的设计理念和基本架构没有变, 变化的仅仅是内核的架构.

从此可以告别愚蠢的 public $devworks; 了!

因此, DevWorks 预计发布时间延期到四月份.

另: 如果可能, 我希望 DevWorks 能够参加 2009 或 2010 年的 Google Summer of Code.

DevWorks 开发人员: HeavenFox

DevWorks 后台设计方案

本方案将是 DevWorks v1.0.0 的后台设计方案.

您可以在

http://labs.heavenfox.org/Projects/DevWorks/ACP/

看到本设计方案

再也不能理解 WordPress 的哲学了

以前(似乎是2.1),WordPress把链接的分类和日志的分类给合并了.

我为此尽力修改了当时用的Freshy主题

现在,WordPress 加上了标签功能

可我没有想到,现在WordPress居然把标签和分类给弄到一块了(好像叫做分类学)

我觉得实在是不可理喻......

也许是我的抽象思维还没有到达一定高度?

DevWorks M1 已经完成!

我们很高兴宣布, DevWorks 的第一个可以运行版本已经完成!

这个版本是 DevWorks 开发过程的一块里程碑,因为在这个版本中,DevWorks 的内核已经完成.这意味着从今以后该项目的结构不会有大的变化.

因为管理面板没有完成,所以我们还不能发布这个版本.开发者可以通过 SVN 获得这一版本. 版本号是 25.

因为这个版本没有完成,您在安装后需要执行一些数据库查询才能运行.查询如下 (如果您更改了前缀,请在下面做出同样修改)

Continue reading 'DevWorks M1 已经完成!'

Too many projects to do...

刚刚规划了一个新项目

自然...也会作为DevWorks的子项目(以后所有的PHP项目基本都会是DevWorks的子项目)

如果DevWorks开发顺利的话,该项目会在Art.Exb之前开发

项目名暂定OpenJudge,"圈"内人一看就能知道是什么东西

Art.Exb 项目简介

Art.Exb Banner - coming soon in april

也许你需要一个地方展示你的作品;

也许你希望分享你的回忆;

也许你希望分享你的图片收藏...

那么,Art.Exb就是为你设计的!

Continue reading 'Art.Exb 项目简介'

DevWorks 及其子项目广告

DevWorks Banner - coming soon in march
Envelope Banner - coming soon in april
Art.Exb Banner - coming soon in april

(顺便来个知识竞赛:在Art.Exb的广告中,总共有五幅外国名画.它们分别是什么呢?)

答案:从左到右依次是:《自由引导人民》《蒙娜丽莎》《星夜》《拾穗》《格尔尼卡》

新项目介绍

DevWorks Banner - coming soon in march 

前言

开发Envelope的时候,我做了无数伟大的设想.例如,高度可制定的模块系统,功能强大的后台,等等.
但我发现,这样似乎已经远远超出了一个博客所能做的事情
于是,我有了一个更加大胆的设想,开发一套开发框架

DevWorks

这套开发框架被定名为DevWorks
虽然名字很像IBM的DeveloperWorks,但他们绝非同一性质的东西
DevWorks的目的就是让任何一个没有太多PHP基础的人快速做出他们想要的东西.

DevWorks不是什么

DevWorks不是代码库.诚然,DevWorks拥有大量实用的类--例如DOM,例如RSS.但我开发DevWorks的目的是让制作一个个人站点的速度更加快,模块的重用更加容易.
DevWorks不是MVC或者其他类似东西.尽管DevWorks有很多来自MVC的灵感,但您不要将DevWorks看成CakePHP类似的东西.

DevWorks提供什么

DevWorks为您新建一个网站提供一切基础设施:模板系统,RSS系统,后台系统...您不需要撰写太多重复的东西.
同时,我梦想着建立一个大型开发者网络,每个人写好的功能可以自由共享.
嗯,DevWorks的主要灵感来自与Eclipse.

什么时候面世

恐怕还要再等等...我正在为这个东西尽全部努力

如何了解开发进程

该项目host在SourceForge(其实我很喜欢Google Code,但可怜那100M空间...)
您可以在http://www.sourceforge.net/projects/devworks访问该项目的首页
您可以查看传说中的...SVN仓库
我用SVN,而不是CVS~

我想了解更多信息

欢迎联系我~
您可以在我刚刚更新过的实验室labs.heavenfox.org获得支持

Envelope

Envelope将作为该项目的组成部分同时开发.