简明现代魔法 -> 编程思想

防止刷票的一些方法介绍

要想完全杜绝刷票,基本只能靠人

在Web开发中,投票模块会经常出现。这样就使得防止刷票,成了至关重要的技术。以下是试验过或者网上找到的防止刷票方法: IP限制,这是使用的最多,也是最广泛,不可少的刷票限制。而且由于专题都没有用户模块,使得这个方法,几乎成了唯一可行的手段。该方式,通过获取访问游客的IP地址,来限制其在一段时间内所能使用的票数。

发布于 2011-08-01 分类:program

如何理解闭包这一概念

对闭包的一个简单深入的理解

首先,我觉得,一个概念,如果不理解也不影响使用的话,那么,就没必要去理解它、去学习它。闭包就是这样一个概念,你不理解它也能很好的用它。俺这两年写as3程序,是天天在和它打交道,甚至有过一个function套一个,一个方法中套了20多个function的极端例子,但从未深究过它是怎么实现的,它就像水和空气一样,我们不需要知道水是H2O,空气是氧气氮气二氧化碳等的混合物。

发布于 2011-07-20 分类:program

PHP框架与MVC的一些不足

基于视图驱动的HMVC是比较理想的MVC模式

目前主流的PHP框架设计模式均为MVC模式,比如yii或codeigniter,均是由控制器接收页面请求,并沟通模型与视图的交互。如果我们把网站整体看作一个矩阵,把网站接收用户请求并处理看作是网站的竖向,而把网站的每一个模块(比如文章模块,投票模块,论坛模块等)看作是网站的横向。

发布于 2011-07-17 分类:program

什么样的代码才称得上健壮

我们必须谨记的三个原则

不管是在面向过程时代,还是在面向对象时代,任何一个功能都是由若干函数协作来实现的。一个函数由输入、处理和输出组成。实现这个函数的代码段都假定了输入的参数已经满足了若干规则,在执行这个函数时,函数的代码会拿到输入的参数然后执行代理逻辑。下面我们就来看一个函数的代码。

发布于 2011-07-15 分类:program

谈谈编程语言对数据的友好度

系统需要建立在一定的数据格式基础上

目前,程序设计语言似乎进入了一个蓬勃发展的时期,Javascript、Perl、Python、Ruby、Groovy等一批较新的语言正越来越多地被熟悉和使用,而C++、C#、Java等主流语言也在不断地融入函数式和动态性特征。程序员的百宝箱中可供选择的宝贝是越来多了,而社区中关于语言间的比较和争论也更为热烈。

发布于 2011-06-28 分类:program

自动垃圾回收的算法实现思路

自动内存管理的策略,这就是自动垃圾回收机制

显式的内存管理的复杂性,而且还容易出错。因此我们需要一种自动内存管理的策略,这就是自动垃圾回收机制。既然是自动垃圾回收,那么平台肯定得采取一种方式发现垃圾,然后清除。这就是垃圾收集算法所关注的问题。垃圾收集算法的任务就是将活动的对象和已经死掉的对象分别出来,然后将死掉的对象的内存回收,而且为了更好的利用内存,有的算法还会对内存碎片进行压缩。

发布于 2011-05-27 分类:program

提升系统面向对象的抽象层次

问题的规模逐渐增大需要我们提高抽象的层次

有人问我如何构建一个比较好的类阶层次,如何使用面向对象进行设计,或者问为什么我看了那么多面向对象和设计模式的书一到使用的时候却总是写出面向过程的代码。每当我碰到这些问题的时候我总是回答,其实我也不知道。真的,其实我也不知道。虽然我总是张口闭口面向对象,总是看到一个问题后就谈这个有点XXX模式的影子。

发布于 2011-04-26 分类:program

面向对象编程中的聚合与耦合

简单理解聚合与耦合这两个概念

在面向对象的设计中,我们经常会听到或用到聚合、耦合的概念。面向对象的目标就是设计出高聚合、低耦合的程序。然而,究竟什么是聚合、什么是耦合,恐怕每个人都有自己的答案,换句话说,大多数人对聚合和耦合的概念是模糊的。小弟我今天就在此抛砖引玉,希望能给新入行的朋友和在校的学生一点帮助。

发布于 2011-03-16 分类:program

谈谈函数式编程的一些事情

这个古老的编程方法又再次焕发生机

在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。那么,接下来,就让我们回顾这个古老又现代的编程模型,让我们看看究竟是什么魔力将这个概念,将这个古老的概念,在21世纪的今天再次拉入了我们的视野。

发布于 2011-03-07 分类:program

改善程序代码质量的一些技巧

花时间读一下这篇文章能让你的代码更高质量

有很多理由都能说明为什么我们应该写出清晰、可读性好的程序。最重要的一点,程序你只写一次,但以后会无数次的阅读。当你第二天回头来看你的代码 时,你就要开始阅读它了。当你把代码拿给其他人看时,他必须阅读你的代码。因此,在编写时多花一点时间,你会在阅读它时节省大量的时间。

发布于 2011-01-16 分类:program

单例模式请不要滥用

单例模式或许会耗用更多的资源

说到SingleTon,我相信只要知道设计模式的,就知道SingleTon,也写过SingleTon,可谓是尽人皆知的设计模式了。就是这个尽人皆知的设计模式,却是被滥用的最厉害的设计模式,本篇就讨论一下关于SingleTon的滥用问题。首先GoF是站在一个纯OO的领域思考问题的,所以,很多其他领域的问题并没有考虑进来,然而实际编程者却不得不面对更多领域的问题。

发布于 2011-01-14 分类:program

Web请求中同步与异步的区别

介绍下ajax的数据传递模式

同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。

发布于 2010-12-15 分类:program

面试中关于字符串的一些问题

几道很值得参考的字符串问题

计算机笔试和面试最常考察的就是字符串的各种操作。字符串处理是我们程序员日常工作最常遇到的问题,能够体现程序员的基本功。下面我就最近一个月以来的各种笔试和面试遇到的有关字符串处理的题目和大家分享一下。

发布于 2010-11-08 分类:program

计算机是如何实现函数调用的

从汇编的角度看看函数调用的过程

有时候,我们需要深入了解编程语言的一些细节性问题,比如,编程语言结构--函数是如何实现的,函数的执行会是怎么样的一个过程。下面我们举一个例子,看看函数调用的时候,堆栈会发生怎么样的变化。

发布于 2010-10-16 分类:program

趣谈编程语言中的语言结构:函数

你曾经提到过你的函数的名字吗?

你有没有想过这样一件事情,你有一个函数,赋予它一个名字,那么你能不能够在的程序里面,提到它,提到它的的名字?我是说提到,不是去叫它,即通常所谓的调用。OK,如果你不明白我在说什么,那么让我试着说得更清楚一些。相声演员郭德纲,他有一个名字,他很擅长说相声。我们可以提到他的名字,但是我们并没有叫他到这里来。这就是我要说的。

发布于 2010-10-11 分类:program
 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们