2012年11月22日 星期四

討論scrum的幾個問題?


討論scrum的幾個問題?


1.怎樣佈置團隊房間?
最好獨立,封閉,不受外界干擾,總之要使團隊感到舒服。
任務板:每日進行更新
設計板:用於團隊討論設計流程

2.團隊為何要坐在一起?
便於交流,交流很重要。
“一起”意味著:
•互相聽到:所有人都可以彼此交談,不必大聲喊,不必離開座位。
•互相看到:所有人都可以看到彼此,都能看到任務板——不用非得近到可以看清楚內容,但至少可以看到個大概。
•隔離:如果你們整個團隊突然站起來,自發形成一個激烈的設計討論,團隊外的任何人都不會被打擾到。反之亦然。

3.項目負責人要不要和團隊坐在一​​起?
最好不要坐在一起,但要坐在附近,當團隊又需要時能很快找到他,坐在一起很容易乾擾到團隊。
產品負責人應該離團隊很近,既方便團隊成員走過來討論問題,他也能隨時踱到任務板前面去。但是他不應該跟團隊坐在一​​起。為什麼?因為這樣他就無法控制自己不去關注具體細節,團隊也無法“凝結”成整體(即達到關係緊密、自組織、具有超高生產力的狀態)。

4.經理或其它能管理你們的管理者要不要和團隊坐在一​​起?
最好不要坐在一起。
我是這麼看的,如果你是Scrum教練(或許同時也是經理),就應該盡可能貼近團隊。但不久以後,就離開他們,讓他們凝聚在一起,自我管理。然後每隔一段時間(不要太頻繁),就去參加一次他們的sprint演示,看看任務板,聽聽晨會。如果發現有可以改進的地方,就把Scrum master拽出來指導他。但是不要在團隊面前這樣幹。另外,如果團隊足夠信任你,他們不會看見你就閉上嘴巴,那去參加他們的sprint回顧也是個好主意(參見“我們怎樣做sprint回顧”)。
對於運轉良好的Scrum團隊,只需要保證他們可以得到一切所需的東西,然後就可以任他們自由發揮了(除了sprint演示以外)。

2012年11月21日 星期三

效果比較好的開發模式–SCRUM

效果比較好的開發模式–SCRUM


Scrum是一種迭代式增量軟件開發過程,通常用於敏捷軟件開發。Scrum在英語的意思是橄欖球裡的爭球。雖然Scrum是為管理軟件開發項目而開發的,它同樣可以用於運行軟件維護團隊,或者作為計劃管理方法:Scrum of Scrums.
  Scrum的開發模式過程:
  1、將一個產品或項目的backlog分割成多個Sprint(衝刺階段) Backlog,這個Sprint Backlog是按人力物力決定
  2、然後每個Sprint的周期不要太長,一般以一、兩週為一個開發週期
  3、每啟動一個Sprint的時候,都要先開一個Sprint planning meeting,對該Sprint Backlog進行分配到個人,並預測時間(以小時計算)
  4、在Spring進行的周期內,每天早晨花費15分鐘左右的時間開一個Daily Scrum meeting
  5、在Spring完成的時候,要開一個Spring review meeting,並將成果演示給Product owner看
  6、最後團隊成員召開Sprint retrospective meeting,總結問題和經驗。
  7、這樣周而復始,按照同樣的步驟進行下一次Sprint.
  Scrum開發模式中的一些專業術語:
  1、backlog:可以預知的所有任務,包括功能性的和非功能性的所有任務。
  2、sprint:一次跌代開發的時間週期,一般最多以30天為一個週期.在這段時間內,開發團隊需要完成一個制定
     的backlog,並且最終成果是一個增量的,可以交付的產品。
  3、sprint backlog:一個sprint週期內所需要完成的任務。
  4、scrumMaster:負責監督整個Scrum進程,修訂計劃的一個團隊成員。
  5、time-box:一個用於開會時間段。比如每個daily scrum meeting的time-box為15分鐘。
  6、sprint planning meeting:在啟動每個sprint前召開。一般為一天時間(8小時)。該會議需要製定的任務
    是:產品Owner和團隊成員將backlog分解成小的功能模塊,決定在即將進行的sprint裡需要完成多少小功
    能模塊,確定好這個Product Backlog的任務優先級。另外,該會議還需詳細地討論如何能夠按照需求完成
    這些小功能模塊。制定的這些模塊的工作量以小時計算。
  7、Daily Scrum meeting:開發團隊成員召開,一般為15分鐘。每個開發成員需要向ScrumMaster匯報三個
    項目:今天完成了什麼?是否遇到了障礙?即將要做什麼?通過該會議,團隊成員可以相互了解項目進度。
  8、Sprint review meeting:在每個Sprint結束後,這個Team將這個Sprint的工作成果演示給Product Owner
    和其他相關的人員。一般該會議為4小時。
  9、Sprint retrospective meeting:對剛結束的Sprint進行總結。會議的參與人員為團隊開發的內部人員。一般該會議為3小時。

2012年11月16日 星期五

Synology SSH Setup for non root users

Refer link to :http://www.druhosting.com/content/synology-ssh-setup-non-root-users

Synology SSH Setup for non root users
Submitted by admin on Mon, 05/28/2012 - 13:30
As you may or may not know, I think Synology diskstation NAS's are the bomb. While they are often super easy to set up, one area that is more difficult is enabling SSH access for non root users. Why there isn't a script and a checkbox on the GUI I don't really know but this is one we have to do ourselves. Fortunately Bernhard Hensler at hensler.net has created a really great set of instructions that I am going to repost for you.

See his original article here: http://bernhard.hensler.net/2008/07/17/synology-enable-ssh-user-login-ot...

SSH can either be enabled using the latest firmware and a patch, or using the recent beta firmware which allows you enable and disable SSH from the web-based management interface. However, I was a little concerned about the default settings of SSHD, especially if one were to SSH over the internet and not just a local network. First, SSH protocol 1 is enabled which can be a security risk. Second, root login is permitted (which is understandable since regular users can’t seem to SSH in by default. Unfortunately, there are some caveats to disabling root login via SSH, which I discuss at the end of this post). Here are the steps I took to resolve the above issues (I assume you already have SSH working and can login as root or admin. Also, you should know how to use vi, or at least read this introduction):

1. Create a regular user from the web-based management interface if you have not done so already. Let’s say the username is frank.

2. Login as root via SSH.

3. Execute the following from the command line as root:

mkdir /volume1/users
mkdir /volume1/users/frank
cp /root/.profile /volume1/users/frank
chown -R frank:users /volume1/users/frank
vi /volume1/users/frank/.profile

Change the line that reads “HOME=/root” to “HOME=/volume1/users/frank”, then quit saving changes.

4. Execute the following from the command line as root:

cp -p /etc/passwd /etc/passwd.orig
vi /etc/passwd

Change frank’s home directory (entry before the last “:”)from “/nonexist” to “/volume1/users/frank”
and his shell (entry after the last “:”) from “/sbin/nologin” to “/bin/sh”, then quit saving changes.*

5. Make sure you can login as frank by executing the following from the command line as root:

su – frank
pwd
echo $HOME
exit

6. Execute the following from the command line as root:

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
vi /etc/ssh/sshd_config

Change the line “#Protocol 2,1″ to “Protocol 2″ and the line “#PermitRootLogin yes” to “PermitRootLogin no”, then quit saving changes (notice we removed the “#” from both lines).

You may also want to adjust the “LoginGraceTime” and “MaxAuthTries” settings, just be sure to remove the leading “#” from those lines.

7. Restart SSHD. If you are using the beta firmware you can disable then enable the service using the web-based management interface. If not, you may be able to use the disable SSH patch, then the enable SSH patch which may restart your NAS device (I have not tested this), or you can simply execute the following from the command line as root:

/usr/syno/etc.defaults/rc.d/S95sshd.sh restart

I have not personally tested the above command either, and it may end your SSH session if that is where you execute it from. Alternatively, you could temporarily enable Telnet, login as root to execute the command above, then log out and disable Telnet.

8. Test the changes. If you use “ssh -1 user@host” when connecting to your NAS device, you should get an error that reads something like “Protocol major versions differ: 1 vs. 2″. If you try to SSH in as root, it should prompt you for the password, but give you an error like “Permission denied, please try again.” even if you supply the correct password. Finally, you should be able to login via SSH as your regular user (i.e. frank).

*Please note, that if you change your regular user’s info (like password, etc.) using the web-based management interface, the information in /etc/passwd will revert back to the defaults, which will no longer let you login via SSH using that user. If this happens, don’t panic, you can always SSH in as admin (which should have the same password as root, but not the same privileges). Unfortunately, only root can execute the “su” command, so to allow your regular user to use SSH again you will have to temporarily enable Telnet, login as root, repeat step #4 above, logout and disable Telnet.

Telnet is also the only way to regain root command line access, which is required to edit “/etc/ssh/sshd_config”, should you want to restore root SSH logins at some point. Alternatively, one could install sudo to execute commands as root, but that is beyond the scope of this post.

Hope this helps anyone wanting to secure SSH access. I used information from the following posts to accomplish this:
how to rsync over ssh as an unprivileged user
how restart SSH server

2012年11月8日 星期四

~~電腦快速鍵使用方法~~


~~電腦快速鍵使用方法~~

一般鍵盤快速鍵

CTRL+C (複製)

CTRL+X (剪下)

CTRL+V (貼上)

CTRL+Z (復原)

DELETE (刪除)

SHIFT+DELETE (永久刪除所選項目,不再將此項目放入 [資源回收筒] 中)

拖曳某項目時同時按 CTRL (複製所選的項目)

拖曳某項目時同時按 CTRL+SHIFT (建立一個指向所選項目的快速鍵)

F2 鍵 (重新命名所選項目)

CTRL + 向右鍵 (將游標移到下一個字的開頭)

CTRL + 向左鍵 (將游標移到上一個字的開頭)

CTRL + 向下鍵 (將游標移到下一段的開頭)

CTRL + 向上鍵 (將游標移到上一段的開頭)

CTRL+SHIFT 再加上任何箭號 (反白一段文字)

SHIFT 再加上任何箭號 (在視窗中或桌面上選取多個項目,或是在文件中選取文字)

CTRL+A (全選)

F3 鍵 (搜尋檔案或資料夾)

ALT+ENTER (檢視所選項目的內容)

ALT+F4 (關閉使用中的項目,或結束使用中的程式)

ALT+ENTER (顯示所選物件的內容)

ALT + 空格鍵 (開啟使用中視窗的快速鍵功能表)

CTRL+F4 (在可讓您同時開啟多份文件的程式中關閉使用中的文件)

ALT+TAB (在開啟的項目之間做切換)

ALT+ESC (依開啟項目的順序之間輪流顯示項目)

F6 鍵 (在視窗中或桌面上的畫面元素之間循環移動)

F4 鍵 (在 [我的電腦] 或 [Windows 檔案總管] 中顯示 [網址] 列的清單)

SHIFT+F10 (顯示所選項目的快速鍵功能表)

ALT + 退格鍵 (顯示使用中視窗的 [系統] 功能表)

CTRL+ESC (顯示 [開始] 功能表)

ALT + 功能表名稱中的底線字母 (顯示相對應的功能表)

開啟的功能表上的命令名稱中的底線字母 (執行相對應的命令)

F10 鍵 (啟用使用中程式的功能表列)

向右鍵 (向右開啟下一個功能表,或是開啟子功能表)

向左鍵 (向左開啟下一個功能表,或是關閉子功能表)

F5 鍵 (更新使用中的視窗)

退格鍵 (在 [我的電腦] 或 [Windows 檔案總管] 中檢視上一層資料夾)

ESC (取消目前的工作)

當您將 CD-ROM 插入 CD-ROM 光碟機時按 SHIFT 鍵 (避免 CD-ROM 自動播放)

對話方塊的鍵盤快速鍵

CTRL+TAB (在標籤之間向前移動)

CTRL+SHIFT+TAB (在標籤之間向後移動)

TAB (在選項之間向前移動)

SHIFT+TAB (在選項之間向後移動)

ALT + 底線字母 (執行相對應的命令,或是選取相對應的選項)

ENTER (執行使用中選項或按鈕的命令)

空格鍵 (如果使用中的選項是核取方塊,按此鍵可選取或清除核取方塊)

箭號按鍵 (如果使用中的選項是一群選項按鈕,按箭號按鍵可選取按鈕)

F1 鍵 (顯示 [說明])

F4 鍵 (顯示使用中清單的項目)

退格鍵 (如果在 [另存新檔] 或 [開啟舊檔] 對話方塊中選取了某個資料夾,按此鍵可開啟上一層資料夾)

Microsoft 自然鍵盤快速鍵

Windows 標誌 (顯示或隱藏 [開始] 功能表)

Windows 標誌 + BREAK (顯示 [系統內容] 對話方塊)

Windows 標誌 + D (顯示桌面)

Windows 標誌 + M (將所有視窗縮到最小)

Windows 標誌 + SHIFT + M (還原縮小的視窗)

Windows 標誌 + E (開啟 [我的電腦])

Windows 標誌 + F (搜尋檔案或資料夾)

CTRL + Windows 標誌 + F (搜尋電腦)

Windows 標誌 + F1 (顯示 [Windows 說明])

Windows 標誌 + L (鎖住鍵盤)

Windows 標誌 + R (開啟 [執行] 對話方塊)

Windows 標誌 + U (開啟「公用程式管理員」)



協助工具鍵盤快速鍵

按右邊的 SHIFT 八秒鐘 (將 [篩選鍵] 切換為開或關)

左邊的 ALT + 左邊的 SHIFT + PRINT SCREEN (將 [高對比] 切換為開或關)

左邊的 ALT + 左邊的 SHIFT + NUM LOCK (將 [滑鼠鍵] 切換為開或關)

按 SHIFT 鍵五次 (將 [相黏鍵] 切換為開或關)

按 NUM LOCK 鍵五秒鐘 (將 [切換鍵] 切換為開或關)

Windows 標誌 + U (開啟「公用程式管理員」)



Windows 檔案總管鍵盤快速鍵

END (顯示使用中視窗的底部)

HOME (顯示使用中視窗的頂端)

NUM LOCK + 星號 (*) (顯示所選資料夾下的所有子資料夾)

NUM LOCK + 加號 (+) (顯示所選資料夾的內容)

NUM LOCK + 減號 (-) (摺疊所選的資料夾)

向左鍵 (如果目前選取的項目是展開的,就將它摺疊起來,或是選取上層目錄)

向右鍵 (如果目前選取的項目是摺疊起來的,就將它展開,或是選取第一個子資料夾)



字元對應表的快速鍵按鍵

當您在某個字元的方格上連按兩下之後,您可以使用鍵盤快速鍵在方格之間移動:

向右鍵 (向右移動或移到下一行的開頭)

向左鍵 (向左移動或移到上一行的尾端)

向上鍵 (向上移一列)

向下鍵 (向下移一列)

PAGE UP (一次向上移動一個畫面)

PAGE DOWN (一次向下移動一個畫面)

HOME (移到一行的開頭)

END (移到一行的結尾)

CTRL+HOME (移到第一個字元)

CTRL+END (移到最後一個字元)

空格鍵 (選取了某個字元時,在 [放大] 與 [標準] 模式之間切換)



Microsoft Management Console (MMC) 主視窗鍵盤快速鍵

CTRL+O (開啟儲存的主控台)

CTRL+N (開啟新的主控台)

CTRL+S (儲存開啟的主控台)

CTRL+M (新增或移除主控台項目)

CTRL+W (開啟新的視窗)

F5 鍵 (更新所有主控台視窗的內容)

ALT + 空格鍵 (顯示 MMC 視窗功能表)

ALT+F4 (關閉主控台)

ALT+A (顯示 [執行] 功能表)

ALT+V (顯示 [檢視] 功能表)

ALT+F (顯示 [檔案] 功能表)

ALT+O (顯示 [我的最愛] 功能表)



MMC 主控台視窗鍵盤快速鍵

CTRL+P (列印目前的頁面或使用中的窗格)

ALT + 減號 (-) (顯示使用中主控台視窗的視窗功能表)

SHIFT+F10 (顯示所選項目的 [動作] 快速鍵功能表)

F1 鍵 (如果有,就開啟所選項目的 [說明] 主題)

F5 鍵 (更新所有主控台視窗的內容)

CTRL+F10 (將使用中的主控台視窗放到最大)

CTRL+F5 (還原使用中的主控台視窗)

ALT+ENTER (如果有,就顯示所選項目的 [內容] 對話方塊)

F2 鍵 (重新命名所選項目)

CTRL+F4 (關閉使用中的主控台視窗。如果主控台中只有一個主控台視窗,此按鍵快速鍵會關閉主控台)



遠端桌面連線導覽

CTRL+ALT+END (開啟 Microsoft Windows NT [安全性] 對話方塊)

ALT+PAGE UP (由左至右在程式之間切換)

ALT+PAGE DOWN (由右至左在程式之間切換)

ALT+INSERT (依最近使用的順序在程式之間循環移動)

ALT+HOME (顯示 [開始] 功能表)

CTRL+ALT+BREAK (在視窗與全螢幕之間切換用戶端電腦)

ALT+DELETE (顯示 Windows 功能表)

CTRL + ALT + 減號 (-) (將用戶端中的作用視窗的快照放在「終端機」伺服器的剪貼簿上,並讓您在本機電腦上按 PRINT SCREEN 時得到相同的功能。)

CTRL + ALT + 加號 (+) (將用戶端視窗整個區域的快照放在「終端機」伺服器的剪貼簿上,並讓您在本機電腦上按 ALT+PRINT SCREEN 時得到相同的功能。)



Microsoft Internet Explorer 導覽

CTRL+B (開啟 [組織我的最愛] 對話方塊)

CTRL+E (開啟 [搜尋] 列)

CTRL+F (啟動 [尋找] 公用程式)

CTRL+H (開啟 [記錄] 列)

CTRL+I (開啟 [我的最愛] 列)

CTRL+L (開啟 [開啟] 對話方塊)

CTRL+N (以相同的網址啟動另一個瀏覽器執行個體)

CTRL+O (開啟 [開啟] 對話方塊,和 CTRL+L 一樣)

CTRL+P (開啟 [列印] 對話方塊)

CTRL+R (更新目前的網頁)

CTRL+W (關閉目前的視窗)



其他資訊

如果 [協助工具選項] 中的 [相黏鍵] 是開啟的,一些鍵盤快速鍵可能無法運作。

當您在 Windows XP Home Edition 中使用「遠端協助」時,就無法使用一些類似「遠端桌面共用」中的快速鍵的「終端機服務」用戶端快速鍵。

2012年11月6日 星期二

Windows 7 相關資訊收集



http://www.pczone.com.tw/vbb3/thread/3/153206/


Windows7 (win7) 更新 SP1 後減肥大法 (winsxs Cleanup)
Windows 7 更新SP1後 , winsxs 會跟著變肥許多 , 大概會增加近 4GB !!

Windows 7 更信系統檔案後 , 預設都會儲存更新過的舊版系統檔案 , 這些造成系統碟增肥的檔案其實是可以刪除的 , 只是刪除後就不能解除安裝 Windows 7 SP1 , 建議 SP1 升級幾日後 , 程式都沒什麼問題再執行這個動作 (既然是升級 , 我是升級完就立刻執行了)

windows 8 相關資訊收集

如何以 439 元升級 Windows 8 中文專業版?
http://www.freegroup.org/2012/10/windows-8-upgrade-offer/

[教學] 如何全新安裝 Windows 8 升級版並啟用序號?
http://www.freegroup.org/2012/10/windows-8-upgrade-clean-install-activate/

讓 Windows 8 專業版也能擁有 Windows Media Center
http://windows.microsoft.com/zh-TW/windows-8/feature-packs


2012年6月22日 星期五

CentOS 5.8 Netinstall – Network Installation 安裝方法


CentOS 5.8 netinstall 安裝參考文章

1. 請先注意網路線是接在哪張網卡上!!
2.下載netinstall版本iso
3. 安裝時,填上下載位置:
http:
ftp:
4. 之後設定參考網站:
架設 DNS Server CentOS 5.8 MyDNS 1.1.0 MyDNSConfig 3.0.1 正體中文-OC網友討論區-內文
http://www1.oc.com.tw/forums/forumview.asp?id=14&msgid=1099
參考網頁:
1. Centos 5.5 NetInstall | Percy's Blog
2. 架設 DNS Server CentOS 5.8 MyDNS 1.1.0 MyDNSConfig 3.0.1 正體中文-OC網友討論區-內文 

 =============================================================




If the purpose is to upgrade from an older version of CentOS to CentOS 5.8 then read following guide: Upgrade to CentOS 5.8 From 5.7 (5.6, 5.5, 5.4, 5.3, 5.2, 5.1, 5.0) guide
This is CentOS (The Community ENTerprise Operating System) 5.8 Linux Network installation (NetInstall) step-by-step walkthrough with screenshots.

Install CentOS 5.8 with NetInstall method

1. Download CentOS 5.8 Net Install (NetInstall) Image

Select mirror here:
i386 version
x86_64 version
Select ISO image
CentOS-5.8-i386-netinstall.iso
CentOS-5.8-x86_64-netinstall.iso

2. Burn Image to CD and Boot Computer Using CentOS 5.8 Installation CD

Check CentOS image MD5 sum and burn image to CD with your favourite CD burner. And boot computer using CentOS Installation CD.

3. Select Network Installation (NetInstall) on LiveCD Grub Menu or just press enter on CentOS Netinstall CD

Centos 5.8 Netinstall boot

4. Booting CentOS 5.8 Installer

5. Choose a Language

Choose a Language

6. Select keyboard type

Select keyboard type

7. Select Network Installation Method

Select Network Installation Method

8. Configure TCP/IP settings

Configure TCP/IP settings

9. Setup CentOS 5.8 Netinstall URL (Installation Web site name and CentOS directory)

Web site name:
mirror.centos.org
CentOS directory for i386:
/centos/5/os/i386
or
/centos/5.8/os/i386
CentOS directory for x86_64:
/centos/5/os/x86_64
or
/centos/5.8/os/x86_64
CentOS 5 Netinstall url (http setup)

10. Downloading Installer

Downloading Installer

11. Welcome to CentOS Screen

CentOS 5.8 Welcome to CentOS

12. Select Partitioning Type

Select “Create custom layout” option if you want modify partitions.
CentOS 5.8 Select partitioning type
Here you can modify partition layout.
CentOS 5.8 Partition layout

13. Boot Loader Configuration

CentOS 5.8 Bootloader setup

14. Network configuration

CentOS 5.8 Network setup

15. Select Time Zone

CentOS 5.8 Timezone setup

16. Set Root Password

CentOS 5.8 Set root password

17. Select packages for Installation

CentOS 5.8 Select installation type

18. Installing Selected Packages

CentOS 5.8 Installing selected packages

19. Installation Completed, Reboot

CentOS 5.8 Installation complete

20. Booted on Just Installed CentOS 5.8 Linux Server Command Line

CentOS 5.8 Server Installation Finished

2012年3月27日 星期二

命令列下寄送mail:本篇告訴你怎麼寄純文字、加附檔及HTML格式的mail


December 18, 2006


在Unix命令列下寄送mail

在命令列下寄送mail很多人都會,但是更多人不會。本篇告訴你怎麼寄純文字、加附檔及HTML格式的mail 。

在Unix的系統管理上我們常會把各式各樣指令的輸出導到檔案去,但是檔案在系統上,想看一下內容難免還得要登入上去。於是懶惰的人就會把這些輸出寄出來給相關的人,這樣就不需要還得連進去系統了。
在Unix下寄mail是一件很平常的事,有人可能會覺得這個有點老生常談,但事實是還是有人會來問我命令列下要怎麼寄 mail,而這個問題在網路上應該還是FAQ中的FAQ。
在Unix下最常被用來寄信的指令應該非mail莫屬,因為它普遍的存在各種不同版本不同平台的Unix系統上。或許你習慣用它的加強版mailx。不過這二個用起來差不多我也不清楚到底有什麼差別,知道的人跟我講一下吧。另外有一個指令叫mutt 它是一個功能相當強大的MUA軟體,如果你有安裝的話,也可以使用它來寄mail。
假設你想把/etc/hosts的內容傳到你的電腦上,你不需要使用ftp來把它抓到你的電腦,只要使用指令來將它寄給你自己。
# cat /etc/hosts |mailx -s 'hosts table' jerry@abc.com
許多人應該都知道要怎麼用,而且也很多人應該是這樣子用的。上面的指令並沒有錯,只是可以直接把檔案導入給 mailx,為什麼要cat給mailx呢?公司薪水給的又不多,實在沒必要多花時間在處理公事上,所以字能少打就少打吧。
# mailx -s 'hosts table' jerry@abc.com < /etc/hosts
-s(Subject)是主旨,如果主旨有空白字元的話,記得要用單引號(')或是雙引號(")括起來。最後一個參數是收件人,如果收件人有多個的時候要用逗號(,)分隔,如jerry@abc.com,jerry@abc.com.tw。
或者你在Linux下,而且又裝了mutt。你也可以使用mutt來寄信,mutt的參數和mail差不多。
# mutt -s 'hosts table' jerry@abc.com < /etc/hosts
可是這樣子寄,/etc/hosts的內容是在信裡面呀,我想把它變成附件可以嗎?當然可以,只要跟其他的程式配合就可以了。
# uuencode /etc/hosts hosts.txt | mailx -s 'hosts table' jerry@abc.com
利用uuencode把/etc/hosts編碼過後丟給mailx就可以了,uuencode第一個參數是要編碼的檔案,第二個參數是編碼後的檔名,在這裡就是附件的檔名。下面的例子示範了把tar檔變成附件直接寄出。
# tar cf - /etc/* | uuencode etc.tar | mailx -s 'hosts table' jerry@abc.com
如果你用的是mutt那就更簡單了。只要加個-a(attach file)
# echo '/etc/hosts'|mutt -a /etc/hosts -s 'hosts table' jerry@abc.com
有人會問說,Jerry,我不要只是寄純文字的mail,可以寄html格式的mail嗎?在我回答之前,可以容許我先打你一拳嗎?如果你有mutt(1.5.x 以上才行)的話要寄html格式的mail就很容易了(什麼,到這個時候還沒發現mutt有多好用嗎?還不快去裝起來。)。一行指令就可以搞定。
# mutt -e 'set content_type="text/html"' jerry@abc.com -s 'html format' < my.html
mutt允許我們對要寄出的mail修改它的檔頭(header),所以可以使用-e來設定檔頭的變數content_type為"text/html",這個變數名稱content_type和真正檔頭Content-type的字不一樣哦!不要搞錯了。最後再導入一個html格式的檔案給它就可以了。記住,-e後面那一串字不能錯哦!(1.5.x 以上才有這個變數。)
如果沒有mutt呢!裝一個,不然就繼續看下去。絕大多數的Unix系統應該都有內建sendmail,而sendmail有個參數-t可以達成我們的要求。看看下面的範例。
# echo 'Mime-Version: 1.0
> Content-type: text/html; charset="iso-8859-1"
> From: jerry@abc.com
> To: jerry@abc.com.tw
> Subject: test.......
>
html file
> ' | sendmail -t
使用echo把檔頭和所要html的內容全部輸出給sendmail這樣子就可以了。不過我想沒人會真的在命令列這樣使用,多半會用在script裡面。下面提供一個script範例給你參考,主要的部份在被#包住的那個區塊,把你要的輸出做成html格式就可以了。
#!/bin/sh
fromuser=jerry@abc.com
touser=jerry@abc.com,abc,boss@abc.com
subject="`uname -n` df output"
sendmail="/usr/sbin/sendmail -t"
header="Mime-Version: 1.0
Content-type: text/html; charset="iso-8859-1"
From: $fromuser
To: $touser
Subject: $subject
"



footer="
"
{
echo "$header"
### replace your code here. ###
df -k |awk '/^//{$5=sprintf("%2d%",$5) ; print $0}'
###############################
echo "$footer"
} | $sendmail
下面二個script,第一個是shell script;第二個是perl script,你可以把要輸出的內容存成html檔,再用sendhtml直接寄出html格式的mail。寫的不怎麼樣,但最少可以使用啦!也給你一個想法做參考,你可以以此延伸然後寫一個符合你的script。
使用的方法如下,
sendhtml.pl "my subject" jerry@abc.com my_file.html
#!/bin/sh
## usage : sendhtml.sh subject To_User html_file
subject="$1"
touser="$2"
htmlfile="$3"
fromuser="jerry@abc.com"
sendmail="/usr/sbin/sendmail -t"
header="Mime-Version: 1.0
Content-type: text/html; charset="iso-8859-1"
From: $fromuser
To: $touser
Subject: $subject"
{
echo "$header"
cat "$htmlfile"
} | $sendmail
#!/usr/bin/perl -w
# usage : sendhtml.pl subject To_User html_file
my $sendmail = "/usr/sbin/sendmail";
my $fromuser = "jerry@abc.com";
$subject = $ARGV[0];
$touser = $ARGV[1];
$htmlfile = $ARGV[2];
$header="Mime-Version: 1.0
Content-type: text/html; charset="iso-8859-1"
From: $fromuser
To: $touser
Subject: $subjectn";
open(fd2, "| $sendmail -t");
print fd2 $header;
open(fd1, $htmlfile);
while(my $line=) {
print fd2 "$linen";
}
close(fd2);
close(fd1);
在寄附件的部份,能不用uuencode就不要用,因為uuencode+mailx所寄出來的mail並不會在檔頭的部份加入MIME編碼的訊息,而現在有越來越多的郵件程式不會正確讀取此種格式的mail。如yahoo, MSN....等webmail,在開啟這些mail時都會顯示亂碼,而不是正確的附檔,所以建議儘量使用別的程式來取代。
在命令列下寄mail的方法不只這些,如使用nail(已經改名叫mailx)或是使用perl、php....等也是可以,但以一般需求來講,我覺得這些應該已經夠了。如果你有什麼好的方法,歡迎你和大家分享。
由 m110092006 發表

Mutt發送html 格式的郵件方法


mutt配置
2009年11月10日 11:06
-i 參數把指定的文件內容當做正文
-a參數發附件

mutt -s "郵件主題" -i "正文文件名" 收件郵件


發送html郵件,一定要mutt 1.5.x版本,1.4不支持content_type變量, 用my_hdr加的gmail不支持
set content_type=text/html 一定要,不然識別不出html編碼,顯示為普通文本。 mutt1.5.x版本才支持
set charset="utf-8" 這個一定要設置,不然通過shell腳本crontab定時發信時顯示的編碼為unknown-8bit,識別不出編碼來
set content_type="text/html"
set editor="vim"

set envelope_from=yes 一定要設置,不然return-path顯示的是系統用戶名加域名,這可是我google,百度都用遍才找到的
set from="我愛你" 設置發件人
set move=no 不刪除郵件
set read_only=no
set realname="yourname"
set sendmail="/usr/sbin/sendmail -oem -oit"
set use_from=yes
set user_agent=no 發信時不顯示用戶代理信息

下面是我的配置,其餘沒有列出的參數使用默認設置
set content_type="text/html\;charset=utf-8"
set charset="utf-8"
set editor="vim"
set envelope_from=yes
set from="網站名字"
set read_only=no
set realname="test"
set send_charset="utf-8:us-ascii:iso-8859-1"
set sendmail="/usr/sbin/sendmail -oem -oit"
set use_from=yes
set user_agent=no

2012年3月23日 星期五

vim 支援 utf-8 中文,Putty 中文會有亂碼


解決了前述有關《有涯小札》的轉碼問題,《眾妙之門》的這一部份算是完全轉成了 UTF-8。下一步是其它網頁的轉碼問題。
事緣《眾妙之門》形成於 blog 還未流行的年代。當時我沒有用 WYSIWYG 的網頁編輯器,寫網頁是在文字編輯器中逐字逐字輸入的。現在《眾妙之門》中還保留著一些以 Big5 編碼的中文 HTML 文件(例如荒廢多時的 hohoSearch)。這些文件有待逐一以 iconv 程式轉碼。用 shell script 寫個 loop 來做,應該很容易完成。
問題是以後再要輸入中文 HTML 檔時怎麼辦。我的 Linux 以 Big5 編碼,而在 vim/gvim 輸入中文時,寫出來的也是 Big5 編碼的文件。總不能每次輸入完成之後,用 iconv 逐一轉換吧!幸好,偉大的 Google 很快給我答案。原來 vim/gvim 對 UTF-8 支援得很好,只是我這個井底之蛙沒有好好利用而已。以下的網頁提供了重要的啟示:
  1. vim 與 UTF-8 – 怕失憶筆記
  2. 讓 Vim 可以自己使用 UTF-8 & BIG5 – 小明網誌
  3. Vim 檔案編碼及格式 – wiki.gentoo.org.tw
  4. Vim documentation: mbyte
經理解消化之後,在自己的 .vimrc 加入了以下的設定,令 vim/gvim 遇到中文檔時,懂得選擇正確的編碼。而在建立新檔時,也自動以 utf-8 編碼:
“Default encoding
set fileencodings=utf-8,big5,gbk,latin1
set fileencoding=utf-8
實驗証明,這已能滿足大部份所需,讀寫都不成問題。最後,有時要強迫改變檔案的編碼,所以再加入以下設定:
“Hot key to switch between Big5 and UTF-8
set =^U
set =^B
map :set fileencoding=utf-8
map :set fileencoding=big5
以後便可以在 vim/gvim 裡按 ctrl-u 及 ctrl-b 來轉換編碼。
按:其實 gedit 也能自動選擇正確的編碼,不過在整體功能上,gedit 遠不及 vim/gvim(除了emacs 之外,又有哪個編輯器能及得上 vim/gvim?),所以不得不在 vim/gvim 上尋求解決之法。
----------------------------------------------------------
----------------------------------------------------------

Putty 中文會有亂碼Putty 中文會有亂碼

Putty 中文會有亂碼

Putty 進Fedora 中文會有亂碼??
Fedora 預設使用 UTF-8 編碼, 您用 putty 連入
可能會看到亂碼, 若改成 big5 編碼, 應該可以看到.

修改vim /etc/sysconfig/i18n 前二項設定如下:

vim /etc/sysconfig/i18n

LANG="zh_TW.Big5"
SUPPORTED="zh_TW.Big5:zh_TW:zh"

SYSFONT="latarcyrheb-sun16"
 


/etc/rc.dinit.d/i18n restart
Reference: 
http://yu-li-liang.blogspot.com/2010/10/putty.html 

2012年3月21日 星期三

Samsung Galaxy S II I9100 購機驗機完全指南


1.出廠日期查詢方法
    進入撥號輸入 *#197328640# 進工程模式(水貨)
    進入撥號輸入 *#*#197328640#*#*#* (台灣公司貨)
    
    點菜單鍵再點Key Input輸入值2;
    再點菜單鍵點Key Input輸入值2;
    再點菜單鍵點Key Input輸入值4;
    就可以看到cal date:顯示出廠日期。
2.看通話時間:
    *#*#4636#*#* 這是看通話時間的 在1分鐘以內才是正常的(一分鐘都不算正常,可以用來推測是否是返修機之類的)
3.測試有無鎖三鍵:
    音量下鍵+HOME鍵+電源鍵,如果能出現機器人挖煤的動畫,就是無鎖三鍵,反之就是鎖三鍵.
4.測試有無網絡鎖
    *#7465625# 這是看是不是鎖機 只要是OFF就是正常,如果第二項「network lock」值為"disable"表示無網絡鎖,值為"enable"表示有鎖。
    還有一個方法是查版本:*#1234#,如果顯示為: PDA:I900DZHG1/DZHG1
    手機:三星i9100NSPRO 一定有鎖.
5.識別機器的原產地
    在待機狀態下,點擊撥號鍵
    輸入: *#1546792*#,然後進入工程模式, 選擇 Preconfiguration 這時會提示輸入密碼,輸入: *#81230*# 然後確認,
    如果手機商沒有更改過"select a counrty"這一欄,就是您機器的產地,由此,可以辨別出是港版還是歐版 或亞太版,我的查了後是台灣的. bri
6.屏幕檢測:
    *#0*# 工程測試 買機必測
    第一行 三個原色測試
    第二行 1聲音 2振動 3亮度降低
    第三行 1照相 2磁傳感器 3觸摸屏
    第四行 1休眠模式 2重力感應
    裡面有「LCD TEST",按「RED」全屏顯紅色,按「green」 全屏顯綠色,按「blue」顯藍色,如要返回測試菜單,請按中間的確認鍵,退出按掛機鍵。
7.IMEI 碼檢驗:
    輸入 *#06# ,查看手機內存中的IMEI 碼,記住這個號碼,然後輸入 *2767*3855# 進行i900碼片復位,手機會自動重啟,
    最後再輸入 *#06# ,查看這個IMEI碼有沒有改變,如果這個號碼與手機背貼、外包裝盒上的 IMEI 碼一致,且型號核准號碼與手機型號一致 ,
    就證明是原廠正宗貨。如果不一致,或者變成了一串亂碼,則證明該手機要麼是水改機,要麼是翻新機。如果指令不被執行,則說明碼片復位功能已被手機商屏蔽掉了。
切記:此操作相當於硬啟手機  這個指令 有安裝好程序者 不要執行 會清除所有個資
8.其他方面
    外觀,前後攝像頭,電池,觸屏等檢查沒太多技術含量,就不一一敘述了。
    希望此文對購機的朋友帶來幫助。


附註:三星i9100購機識別翻新機及驗機指南
購機驗貨:
        1.仔細看屏幕內有無印痕,數據線,耳機孔,揚聲器孔,掛帶孔是否有灰塵
        2.仔細看機身電池卡鎖處有無撥痕,上下蓋旋軸處有無旋印
        3.仔細檢查WAP和語音功能及通話紀錄信息功能中有無記錄
        4.聞氣味,新機器有檀香,在購買後10-12天消散,這種味道不同於一般的清潔劑和香水味.機身不能有粘粘的蠟和油(有的話就是被商家美容了)
        5.仔細檢查SIM卡接觸點,機身電池接觸點有無磨痕
        6.看外殼的接縫處間隙是否均勻而且在1MM以下,有無撬痕,上蓋內屏幕下兩封點有無挑痕
        7.與新機器對比按鍵的彈性和內外顯示屏的亮度
        8.仔細看機身的固定鑼釘有無旋印,塗漆塗墨(可以用放大鏡),商標有無撬痕
        9.看劃痕貼膜,新機都是一體壓膜,原裝膜內絕對不會有氣泡,並且機器沒有劃痕
        10.看出場日期,購機時間和出場日期一般不會相差2月.如果差距太大,則懷疑為翻新,
        出場日期查詢:
        在電話撥號界面輸入*#0228#然後按BACK,再按BACK之後選2 (打開輸入法輸入數字2,以下類推) VERSIon INFORMATIon
        在選2 HW-VERFR-CAL-DATE 再選4 READ CALDATE 我的查了後出場日期為:2010 09 25,購買日期為3月初,應該不是翻新或二手機.
        11.看電話版本後是否帶除版本以外字樣,此類機器有電話鎖,無法刷機.一般來講,一些歐美定制機就有網絡鎖,如O版,T-MOBILE版,正常的歐水,港版,亞太版都沒有的.想知道I9100有沒網絡鎖很簡單如下:
        工程模式:*#7465625#,如果第二項「network lock」值為"disable"表示無網絡鎖,值為"enable"表示有鎖。
        還有一個方法是查版本:*#1234#,如果顯示為:
        PDA:I900DZHG1/DZHG1
        手機:三星i9100NSPRO一定有鎖.
        12.識別機器的原產地
        在待機狀態下,點擊撥號鍵輸入*#1546792*#然後進入工程模式,選擇 Preconfiguration
        這時會提示輸入密碼,輸入*#81230*# 然後確認
        如果JS沒有更改過"select a counrty"這一欄,就是您機器的產地,由此,可以辨別出是港版還是歐版或亞太版,我的查了後是新加坡的. 2 q#
        還有一個外觀檢測,看機器背後"SAMSUNG" ,如果是陰刻一般是來至歐洲,陽刻,來之香港。
        13,用機器自帶圖仔細檢查亮點.想知道自己的I9100的屏幕如何,有沒有壞點,就在電話狀態下輸入*#0*#,裡面有「LCD TEST",按「RED」全屏顯紅色,按「green」 全屏顯綠色,按「blue」顯藍色,如要返回測試菜單,請按中間的確認鍵,退出按掛機鍵。
        14.IMEI 碼檢驗
        輸入 *#06# ,查看手機內存中的IMEI 碼,記住這個號碼,然後輸入 *2767*3855# 進行i900碼片復位,手機會自動重啟,最後再輸入 * ,查看這個IMEI碼有沒有改變,如果這個號碼與手機背貼、外包裝盒上的 IMEI 碼一致,且型號核准號碼與手機型號一致 ,就證明是原廠正宗貨。如果不一致,或者變成了一串亂碼,則證明該手機要麼是水改機,要麼是翻新機。如果指令不被執行,則說明碼片復位功能已被手機商屏蔽掉了。切記:此操作相當於硬啟手機.
        15.補充方案
        可以查詢水貨手機的產地和銷往方向及生產日期之類,可以查你的機器是不是正宗的水機!
        方法一:看不懂英文的朋友可以配合翻譯網站使用,進去後點左邊Number analysis tools 然後再點中間的IMEI number analysis 好了,輸入你手機後面的IMEI串號就可以查看了!

2012年3月14日 星期三

安裝配置mutt


二、安裝配置mutt
1、一般Linux都會默認安裝mutt,CentOS也不例外
可以使用which mutt查看mutt安裝的路徑,如果沒有安裝可以使用# yum install mutt
2、編輯mutt配置文件
vi /etc/Muttrc ,編輯mutt的總設置,修改以下幾行
set from="發送郵件地址" 
set sendmail="/usr/local/msmtp/bin/msmtp" 
set use_from=yes 
set realname="發件人" 
set editor="vi"
發件地址最好與msmtp設置的賬號相同,否則可能會出錯。
vi ~/.muttrc , 編輯根目錄下的設置
set envelope_from=yes 
set from="發送郵件地址" 
set realname="發件人" 
set use_from=yes
3、測試一下mutt是否有效
echo "測試測試" | mutt -s "測試" 測試郵件地址
echo "test" | mutt -s "my_first_test" abc@abc.com
下面就可以使用mutt進行郵件備份等工作了,結合cron使用,可以實現的功能相當多。
-----
這裡的-a什麼指新增附件,如果什麼多個附件的話就多加幾個-a文件名
還可以這樣

mutt -s "test" -a /etc/hosts -a /etc/apple abc@abc.com < /tmp/imax.txt

這個的意思就是以  /tmp/imax.txt 文件的內容作為郵件內容。
好了,就這麼簡單


使用 ssmtp 於 shell 透過 Gmail 寄信


使用 ssmtp 於 shell 透過 Gmail 寄信


有很多程式於 bash shell 執行, 執行完要自動寄信出去, 但是最近都被 Google 退信, 最好的方法是透過 Gmail 直接寄信.
本來是要另外寫隻 script 來做這種事, 剛剛發現 $4 的介紹文, 真是超方便的, 一樣使用原本 shell 的 mail, script 都不需要改, 只要設定設一設即可~
詳細可見: 利用 ssmtp 透過 Gmail 在文字模式下寄信 (下述部份轉載自此文)

ssmtp 安裝、設定

  1. apt-get install ssmtp # 註: 若有安裝 Postfix, Postfix 會被移除.
  2. vim /etc/ssmtp/ssmtp.conf
    AuthUser=user.name@gmail.com # 寄件者帳號
    AuthPass=password # 寄件者密碼
    FromLineOverride=YES
    mailhub=smtp.gmail.com:587
    UseSTARTTLS=YES

AuthPass=password 存的是明碼

測試

  • 下述的 mail 可選用 mailutils 或 mailx 的 mail 程式.
  • echo "This is a test mail." | mail -s "test mail" rec.user.name@gmail.com

[GPO] 在Microsoft Active Directory (AD) 網域環境,新增Microsoft Edge群組原則管理

[GPO]  在 Microsoft Active Directory (AD) 網域環境, 新增Microsoft Edge群組原則管理 在還沒有被微軟強迫使用Edge前,對於一些老舊的網站,還可以使用IE。 因此在公司環境,之前有為IE和google chrome,寫入配合的...