2010年1月11日 星期一

TopCoder Algorithm Tutorials - 基本幾何學(2)

摘錄自:Geometry Concepts: Line Intersection and its Applications

給兩點求直線式
給線上的兩點座標(x1, y1)、(x2, y2),求它們的直線時,把直線表示成 Ax + By = C 的形式。則:
A = y2 - y1
B = x1 - x2
C = A * x1 + B * y1 (或者 A * x2 + B * y2,帶入兩點都會讓原式成立,就可以求 C)
而 -A/B 是直線的斜率。
(... 閱讀「TopCoder Algorithm Tutorials - 基本幾何學(2)」全文)

2010年1月8日 星期五

[Linux] Commands

摘錄自: 例行性命令的建立 - 鳥哥的 Linux 私房菜

at - 執行一次性的工作
下面這個例子表示五分鐘後顯示 Hello 訊息,但要注意的是:
  1. 有 standard I/O 執行時不會在終端機顯示,而是用 email 的方式告訴執行者。(應該是避免未來執行時終端機有其他工作在顯示訊息,會互相干擾吧?)
  2. 指令中如果有檔案或資料夾相關的操作,最好使用絕對路徑,因為指令的下達與 PATH 變數有關, 同時與當時的工作目錄也有關連。
at now + 5 minutes
at> echo "Hello"
at> <EOT> <==這裡輸入 [ctrl] + d 就會出現 的字樣!代表結束!
這個工作會被存在 /var/spool/at/ 中,等待適當的時間點執行。可用 atq 查詢目前已存在的工作,用 atrm 刪除某個工作。
/etc/at.allow/etc/at.deny 可以設定能執行 at 指令的使用找白名單與黑名單。
註:batch 指令讓 CPU 工作負載小於 0.8 時才執行背景任務,需要時再研究。
(... 閱讀「[Linux] Commands」全文)