Archive for the ‘ Coding ’ Category

[转载]学程式设计的人不能不看的好文章

转载自: http://www.vcroad.net/ (枣子原创 wutao8@263.net)


看了下面的这篇文章,深有感触,枣子碰到的问题也是我们大多数程式设计师的通病,也许我们大多数人都只是在做一些比较小型的软件,对软件运行的效率不在乎,就算对速度和效率在乎的也可能是一些在数据库操作方面的。大家看完了,也许会有很多感想,但这只是我同意枣子的个人观点。

做为一名大四的学生,我面试过不少的单位,有成功的也有失败的,但是对我来说所有的失败在某种意义上都是一种成功,特别是我下面写的这些,写这篇文章的时候,我已经签了南京的一家软件公司,但是想起今年 2 月 21 日我面试苏州台湾的IT公司的经历联想到我们现在学习程式设计的一些情况我真的深有感触,这次面试使我深深的体会到了失败但也收获了很多。

我要说的将分成三部分:

  1. 是我面试的具体经过
  2. 是由面试想到的
  3. 现今我应该做的

当然这些话很大程度上是我个人的意见,不可能完全得到大家的赞同,所以在某些观点上如果哪位朋友觉得跟我的有很大出入,请不要介意,也不要对我攻击,就当我没有说过,欢迎和我联系共同探讨这些问题!
Read more

PHP 的图表绘制模组

[转载]软件工程师缩短工时

转载自: CNet


微软软件设计工程师Adam Barr最近常和家人共用晚餐。但以前可不是如此。90年代末期,Barr忙于工作,往往无法准时下班,和妻子小孩共用晚餐,那时每周平均工作50至60小时,若碰到截止日期逼近,加班更是家常便饭,有时甚至一连数周每周工作70小时。

现在Barr固定早上8:30上班,5点下班。他说:“对这种朝九晚五的上班模式,微软已能睁只眼闭只眼,不跟员工计较。以前绝非如此。”

Barr能更常和家人一起享用晚餐,凸显软件界工作形态出现变化:越来越多员工不再超时卖命工作。根据美国劳工部的统计,软件出版界员工(多半是电脑专家)去年平均每周工作36.4小时,低于2001年的41.4小时。

原因之一可能是靠达康(dot.com)致富的诱因大幅褪色,再者是工程师愿意更用心经营工作之外的生活。当然软件公司渐渐学会如何提升专案管理的效率也 是其一。其实一些软件业者坦言,员工日以继夜超时工作反而有损产能。Atlantic System Guild的顾问Tom DeMarco说:“经常加班的公司,往往浪费许多正规上班时间。正常上下班之所以优于加班,在于工作产能高。”

Read more

Flash Bar Code 1.0 - Flash 条码产生器 *

档案下载

这是一个简单好用一维条码产生器,使用 Flash 设计而成,程式使用的条码格式是 "EAN-13" ,前三码为国码 (台湾为471) + 四码厂商码 + 五码资料码 + 一码检查码,只要在设计网页时,将 "Code" 参数传给 "FBC10.swf" 就可以了。
Read more

[转载]数据库表单及字段命名规则实例

转载自: Neo’s Blog


今天大概把几种常见的数据库命名方式给整理了一下。

1.数据库表单(Table)名称:

单复数皆有人使用,如 products、product。

美国人命名比较喜欢依照口语习惯来用复数命名,知名的 OpenSource 软件像 phpBB、OSCommerce、In-Link、pLog 皆是以复数命名。而 Moveable Type 则是少数使用单数名命的软件,台湾人也是单数命名居多。

2.数据库字段名称:

使用 MySQL 的 Opensource 软件比常见整批性的加前缀(Prefix) 在字段里面,如 products 表单中的“产品名称”,可能就会命名为“products_name”而 Microsoft SQL Server 则是以纯字段名称居多,如产品名称就直接取叫“name”了。

前缀的命名有“语意导向”跟“实用导向”二种,所谓语意导向以口语的习惯来命名,像 products 是产品的集合(复数),里面的每个产品是单数,所以用产品名称为例就是“product_name”。

而实用导向常见的就是以表单名称做为前缀,如前例在 products 里的产品名称字段就会命名为“products_name”,如此做的好处是程式会非常清楚每个字段是从哪个表单抓出来的。但是缺点是在程式里面语意不清,看起来会很不习惯。

然而大部份的字段前缀字符还是以语意导向为主,若要使用实用导向,最好表单名称采用单数(如 Moveable Type),否则像 OSCommerce 的全员复数,感觉程式在用名字就很奇怪,如程式明明就是只抓一笔产品名称出来,看到 products_name 就觉的既不是复数,而且文法上也不通,意义上反而比较像 product’s name。

3.大小写:

Microsoft 的命名方式喜欢单字第一个字母大写,如 OrderDetail。而 MySQL 比较常见全部小写,单字中间加底线的命名方式,如 order_detal。这跟数据库的字符大小写敏感度默认值有关,MS SQL Server 默认是大小写不分,MySQL 则是大小写视为不同字段,所以统一小写比较不容易出错。

[转载]PHP 对于文件锁定的处理方式

转载自: 中文 PHP 资讯站


一般个人免费主页空间都不会提供mysql支援,就是提供也很苛刻,所以寻找也个良好的替代方案很重要哦!

PHP的文件处理功能很强大,所以可以用文件的存取来代替来!(要知道没有数据库的时候,什么都是用文件组织的哦!呵呵!),其中个资料项目用特殊符号分割,我采用的是"||",方便通过explode()函数读取单个记录

其实这里数据库的思想还是可以用到的!象数据库的索引!所以必须先做个索引文件!(这样说也并不正确)

Read more

如何建立与 Outlook 相容的 IMap 目录(PHP)

我们公司的邮件服务器是用 IMap 协定来读取电子邮件 (因为 IMap 的邮件是放在服务器上,不怕用户的电脑中毒,就算用户的硬盘毁了,邮件也都还在),因为这个原因,所以我必须要找一个可以支援 IMap 的 Webmail。
Read more

如何建立与 Outlook 相容的 IMap 目录(Perl)

原因

请参考这一篇

Read more

如何得知输入的字串是否为 UTF-8 编码 (PHP)

使用下列函数,如果传回值为 true,表示输入的字串为 UTF-8 编码:

// Returns true if $string is valid UTF-8 and false otherwise.
function is_utf8($string) {
    return preg_match('%^(?:
        [\x09\x0A\x0D\x20-\x7E]             # ASCII
        | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
        | \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
        | \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
        | \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}         # planes 4-15
        | \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
    )*$%xs', $string);
}

参考网页

 

如何得知输入的字串是否为 UTF-8 编码 (Perl)

使用下列函数,如果传回值为 1,表示输入的字串为 UTF-8 编码:

#Returns 1 if $text is valid UTF-8 and 0 otherwise.
sub is_utf8 {
    my $text = shift;
    if( $text =~ m/^(
        [\x09\x0A\x0D\x20-\x7E]             # ASCII
        | [\xC2-\xDF][\x80-\xBF]            # non-overlong 2-byte
        | \xE0[\xA0-\xBF][\x80-\xBF]        # excluding overlongs
        | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
        | \xED[\x80-\x9F][\x80-\xBF]        # excluding surrogates
        | \xF0[\x90-\xBF][\x80-\xBF]{2}     # planes 1-3
        | [\xF1-\xF3][\x80-\xBF]{3}         # planes 4-15
        | \xF4[\x80-\x8F][\x80-\xBF]{2}     # plane 16
    )*$/x ){
        return 1;
    }
    else{
        return 0;
    }
} #sub is_utf8

参考网页

return top