Archive for ‘ 2005

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

转载自: 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

Hinet ADSL 方案及相关服务

光纤网络

Hinet ADSL 方案

市内电话

3G 及移动电话

其它数据服务

相关服务

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

转载自: 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 则是大小写视为不同字段,所以统一小写比较不容易出错。

将 Samba 升级成 3.0.13

为什么要将 Samba 升级成 3.0.13 呢? 唉…还不是为了 Unicode。原本的 2.2.7 版本,我再怎么设定,都无法显示 Unicode 字符。所以本来在 Windows 里显示得好好的 Unicode 档名,放到 Samba 里就破功了! 我想,这个问题应该是很难让人接受的吧?!

而最后结论就是,升级成 3.0.13 就搞定了。

Read more

安装 Samba 服务器 *

Samba 这个套件的功用,可以让你把 Linux 服务器变成 Windows 里的“网络上的芳邻”中的一台电脑,提供档案服务器的服务,即使在没有网域管理(Domain)的局域网路环境中,也可以提供比 Windows 网络上的芳邻更多的权限控管。

本教学只介绍两种常用的配置方式:

  • 开放式的设定
  • 需要身份验证的设定
  • 安装好 Samba 套件之后,就可以开始进行设定了。

    安装 Samba

  • 使用 Apt 安装 Samba 套件:
  • apt-get install samba
  • 启用 Samba 服务:
  • service smb start
    尔后如果有修改 Samba 的设定,只要输入下列指令重新加载即可:
    service smb reload

    开放式的设定

    开放式的意思,就是不用任何身份验证,就可以存取提供 Samba 服务的服务器。以下的范例,是设定局域网路里的任何用户都可存取服务器,并分享 [/tmp] 里的档案:

  • 编辑 /etc/samba/smb.conf,设定如下:
  • [global]
    #欲加入的群组名称
    workgroup = WORKGROUP
    #在“网络上的芳邻”显示的电脑名称,如果不设定,就会以目前的 HostName 去掉网域名称显示。
    netbios name = FileServer
    #服务器的注解
    server string = Samba 档案服务器
    #设定哪些电脑可以存取服务器(以空白隔开)
    hosts allow = 192.168.1.0/255.255.255.0 127.0.0.1
    #显示繁体中文
    client code page = 950
    #身份验证的方式
    security = share
    
    #分享 [/tmp]
    [tmp]
      path = /tmp
      comment = 档案暂存区
      public = yes
      writable = yes
      create mode = 0666
      directory mode = 0777
  • 重新启动 Samba 服务:
  • service smb restart

    需要身份验证的设定

    如果你希望用户要连到服务器时,必须先输入帐号、密码才可以进入,并且可以存取自己的家目录及 [/tmp],请依照下列设定:

  • 编辑 /etc/samba/smb.conf,设定如下:
  • [global]
    #欲加入的群组名称
    workgroup = WORKGROUP
    #在“网络上的芳邻”显示的电脑名称,如果不设定,就会以目前的 HostName 去掉网域名称显示。
    netbios name = FileServer
    #服务器的注解
    server string = Samba 档案服务器
    #设定哪些电脑可以存取服务器(以空白隔开)
    hosts allow = 192.168.1.0/255.255.255.0 127.0.0.1
    #显示繁体中文
    client code page = 950
    #身份验证的方式
    security = user
    #将密码加密传输
    encrypt passwords = yes
    #指定密码档位置
    smb passwd file = /etc/samba/smbpasswd
    
    #让用户可以存取自己的家目录
    [homes]
      comment = 个人资料夹
      public = no
      browseable = no
      valid users = %S
      writable = yes
      create mode = 0600
      directory mode = 0700
    
    #分享 [/tmp]
    [tmp]
      path = /tmp
      comment = 档案暂存区
      public = no
      writable = yes
      create mode = 0666
      directory mode = 0777
  • 建立 Samba 的密码档,并转换用户到这个密码档:
  • cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
    chmod 600 /etc/samba/smbpasswd
    chown root.root /etc/samba/smbpasswd
  • 重新启动 Samba 服务:
  • service smb restart
  • 你必须要再设定用户的密码才可以存取:
  • smbpasswd UserName

    其它有用的参数

    以下介绍其它有用的参数,这些参数必须放在宣告的分享资源的区段下:

  • public = yes|no
  • 设定针对 Guest 是否“显示”该分享项目。
  • browseable = yes|no
  • 设定是否“显示”分享项目。
  • valid users = 用户列表
  • 允许“检视”该分享项目的用户,可输入“用户名称”或“@群组名称”,如有多个项目,请用“,”分隔。
  • invalid users = 用户列表
  • 不允许“检视”该分享项目的用户,可输入“用户名称”或“@群组名称”,如有多个项目,请用“,”分隔。
  • read only = yes|no
  • 是否唯读。
  • writable = yes|no
  • 是否可以写入。
  • write list = 用户列表
  • 允许“写入”该分享项目的用户,可输入“用户名称”或“@群组名称”,如有多个项目,请用“,”分隔。
  • create mode = 权限
  • 建立档案时默认的权限。
  • directory mode = 权限
  • 建立目录时默认的权限。
  • force user = 用户名称
  • 建立档案或目录时默认的用户。
  • force group = 群组名称
  • 建立档案或目录时默认的群组。

    Samba 的变量

  • %S: 取代目前的“资源名称”,所谓的“资源名称”就是在 [ ] 里面的内容。
  • ex: valid users = %S
  • %U: 代表目前登入的使用者的使用者名称。
  • %m: 代表 Client 端的 NetBIOS 名称。
  • %g: 代表登入的使用者的群组名称。
  • %M: 代表 Client 端的 Internet 主机名称,就是 HOSTNAME。
  • %L: 代表 SAMBA 主机的 NetBIOS 名称。
  • %h: 代表目前这部 SAMBA 主机的 HOSTNAME。
  • %H: 代表使用者的家目录。
  • %I: 代表 Client 端的 IP。
  • %T: 代表目前的日期与时间。
  • 新增 Samba 用户

    关于 Samba 上的用户帐号,有一些规则要说明:

  • Samba 上的用户帐号必须是已存在于 Linux 系统的帐号。
  • Linux 系统与 Samba 用户的密码是不同的,它们有各自的密码档。
  • Samba 的密码档位于 /etc/samba/smbpasswd。
  • 因此,如果你要新增 Samba 用户,你就必须先在 Linux 系统增加一个本机用户,新增本机用户之后,再输入下列指令将用户的帐号及密码加入至 Samba 的密码档:

    smbpasswd -a UserName

    以后如果只是要变更该用户的密码,只要输入:

    smbpasswd UserName

    用户自行变更密码

    原本 Samba 有提供一个 Swat 套件,就是 Samba 的网页管理接口,不过,我觉得似乎不太够用(给管理者用还可以)。如果我希望用户可以自行变更 Linux 系统的密码,并同步变更 Samba 的密码,那就要试试 ChangePassword 套件:

  • 从本站下载 ChangePassword 套件至 [/tmp]
  • cd /tmp
    wget http://www.vixual.net/download/source/ChangePassword/changepassword-0.9.tar.gz
    tar -xzvf changepassword-0.9.tar.gz
    cd changepassword-0.9
    ./configure --enable-cgidir=/var/www/cgi-bin --enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd
    请注意,上面(第 5 行)的 “/var/www/cgi-bin” 请改为你的网站的 cgi-bin 路径。
  • 然后继续下列步骤:
  • make
    make install

    这样就安装完成了,以后你就可以到 “http://host.example.com/cgi-bin/changepassword.cgi” 同步变更 Linux 系统及 Samba 的密码。

    网页管理接口

    这个套件(Swat)其实不是那么必要(尤其是有了上面的 ChangePassword 套件之后),但仍然列出安装步骤给大家参考:

  • 安装 Samba-Swat 套件:
  • apt-get install samba-swat
  • 编辑 /etc/xinetd.d/swat,搜寻:
  • disable = yes
    改成:
    disable = no
    继续搜寻:
    only_from = 127.0.0.1
    改成允许连线的位址:
    only_from = 192.168.1.0/24
  • 重新启动 Xinetd:
  • service xinetd restart
  • 从浏览器输入连线位址:
  • http://host.example.com:901/

    参考网页

  • Samba: User and Group Based Controls
  • Samba Documentation
  • 鸟哥的 Linux 私房菜
  • 网管专区
  • Samba 设定
  • 架设 linux 网站,如何收费?

    今天有一位朋友问我“帮人家架设 Linux 服务器,以及转移电子信箱该如何收费”相关的问题,我上网去找了一下,从 Google 的讨论群组看到这一则讨论: 架设 linux 网站,如何收费?,里面有一段话,让我深感认同,这段话就是…

    奉劝各位,千万别给公众如下的印像:

    • Linux 很容易 (no! 它比许多人想像的专业多了!)
    • Linux 很便宜 (no! 专业服务是一分钱一分活的!)

    一些给网站使用的 WYSIWYG 的编辑器

    网页上的 WYSIWYG 编辑器算是以后设计网页的趋势...

    比较推荐的有:

    还不错的有:

    功能较阳春的:

    很不错,但要钱的有:

    参考网页

    return top