Archive for ‘ 三月, 2005

Hinet ADSL 方案及相關服務

光纖網路

Hinet ADSL 方案

市內電話

3G 及行動電話

其它數據服務

相關服務

[轉載]資料庫表單及欄位命名規則實例

轉載自: 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 編輯器算是以後設計網頁的趨勢...

    比較推薦的有:

    還不錯的有:

    功能較陽春的:

    很不錯,但要錢的有:

    參考網頁

    [轉載]PHP 對於文件鎖定的處理方式

    轉載自: 中文 PHP 資訊站


    一般個人免費主頁空間都不會提供mysql支援,就是提供也很苛刻,所以尋找也個良好的替代方案很重要哦!

    PHP的文件處理功能很強大,所以可以用文件的存取來代替來!(要知道沒有資料庫的時候,什麼都是用文件組織的哦!呵呵!),其中個資料項目用特殊符號分割,我採用的是"||",方便通過explode()函數讀取單個記錄

    其實這裏資料庫的思想還是可以用到的!象資料庫的索引!所以必須先做個索引文件!(這樣說也並不正確)

    Read more

    PowerMenu 1.51 - 實用的視窗輔助程式 *

    檔案下載

    很實用的小程式,不用安裝就可以執行,執行之後,在任何視窗的標題列按滑鼠右鍵,就可以有「設定透明度」、「設定優先權」、「最上層顯示」、「縮小到系統列 (Tray)」這些功能。

    偽.蝦米 - 一個不用安裝的嘸蝦米輸入法

    檔案下載

    幾乎所有蝦米族都會面臨的的一個問題就是,嘸蝦米中文輸入法並未內建於任何版本的 Windows,而且其為一付費軟體,故大部份的單位通常不會特別購買其版權安裝,所以一般公用電腦皆找不到嘸蝦米輸入法可以使用。

    用慣一個輸入法的人,要臨時改變成另一種輸入法是很綁手綁腳的。所以平常可能乾脆帶著嘸蝦米的安裝檔,然後到要使用的電腦上安裝。但當公用電腦升級成 2000,甚至是 XP 時,由於通常不會開給使用者「系統管理員(administrator)」的權限,因此連想安裝都沒有權限。

    因此,我想寫一個與系統無關,只是一般執行檔層級的嘸蝦米輸入法。這樣,只要是在可以執行檔案的電腦上,都可以執行這個程式並輸入文字。

    Read more

    Microsoft Office Viewer 2003

    Office Viewer 2003

    去年底出的版本, 沒有安裝或不想安裝 Microsoft Office 的人,這些是好工具:

    其它

    1. Office 2007/2010 相容性套件
      讓 Office 2003 的用戶可以使用 Office 2007/2010 的新檔案格式開啟、編輯與儲存文件、活頁簿與簡報。
    2. Office 2003 簡繁轉換增益集

     參考網頁

    return top