發表文章

coldfusion send email (1): only text or html

Coldfusion 發送簡易電子郵件的方法: 使用 cfmail 標籤指令 純文字模式 <cfmail   to="recipient1@mail.domain.com,recipient2@mail.domain.com"   from="sender@mail.mydomain.com"   subject="顧客意見反映"   server="mail.mydomain.com"   username="MySmtpAccount"   password="MyPassword"   type=" text "> 本訊息由網頁『顧客意見』發出,請勿回覆此信件。#chr(13)##chr(10)# 發訊時間 :#DateFormat(NOW() , 'yyyy/mm/dd')# #TimeFormat(NOW() , 'HH:mm:ss')# 發訊人姓名:#SenderName##chr(13)##chr(10)# 發訊人電話:#SenderTEL##chr(13)##chr(10)# 發訊人郵件:#SenderMail##chr(13)##chr(10)# = = = = = = = = = = = = = = = = = = = = #MailBodyText# </cfmail> HTML模式 <cfmail   to="recipient1@mail.domain.com,recipient2@mail.domain.com"   from="sender@mail.mydomain.com"   subject="顧客意見反映"   server="mail.mydomain.com"   username="MySmtpAccount"   password="MyPassword"   type=" html "> <div styl...

微軟windows特殊指令收集

Windows 7 以後的作業系統,為了安全考量都會把administrator隱藏,但對於IT人員頗不方便,可以用以下指令開啟/關閉: net user administrator /active:yes net user administrator /active:no -------------------------------------------------------------------------------------------------- DNS快取混亂,可能因為連到錯誤的DNS,導致IP解析錯誤,除了重新開機以外可以用: ipconfig /flushdns -------------------------------------------------------------------------------------------------- 本機網路路由設定,一般windows自己會調整,不需要設定,顯示路由紀錄: route print -------------------------------------------------------------------------------------------------- 但是公司內如果有特殊路由需要從走特定網卡,就要設定: route add 10.8.0.0 mask 255.255.255.0 192.168.2.250 10.8.0.0是目的IP或網段 255.255.255.0 是遮罩(這裡是指定一個C) 192.168.2.250 是路由器IP -------------------------------------------------------------------------------------------------- 重新開機指令,這個在遠端桌面很好用: shutdown -r -t 3 -c "因為維修關係重新啟動" -r 重新開機 -t 3 指定3秒後執行 -c "因為維修關係重新啟動" 顯示的註解 ----------------------------------------------------------------...

第三剎車燈改LED(閃爍後恆亮)-有夜燈&無夜燈

圖片
最近在路上看到部分車系的車尾燈剎車時會有閃爍後便恆亮的狀態,看起來對後方車輛的警示效果不錯,尤其常上高速公路而言,有比較好的效果。 當然,網路上有不少筆戰關於剎車燈閃爍的議題,主要包括了法律、車型、原理、地區特性以及最常見的主觀。朔其來源應該是歐洲最先採用這種剎車規範,我記得叫做EBL或是EBD。汽車精品店有賣現成的(三角形),但是我發現它只會閃爍,且亮度不太夠,白天不是很清楚。 當然做這種東西不是為了讓車子像電子花車,主要的目的有兩個:純粹電子興趣、增加安全性而已,當然我不去改原始剎車燈,只改第三剎車燈,也是為避免後方混淆。原廠設計的話都會加上剎車力道感應,但是我的車是老車,沒有這類的感應設計,因此在設計時就只能考慮我的線路(只有一組啦),當然加上單軸加速計(Accelerometer)電路也可以做到,但電路可能會太複雜,且這類的零件不好買又貴。 網路上我找到不錯的論壇(喬治查爾斯) http://gcbbs.digitw.com/phpbb2/viewtopic.php?f=1&t=704&st=0&sk=t&sd=a 我個人是採用版主的設計來改,原因只有一個,我手上有現成的555,但是沒有4096。 一開始電路採用 夜燈+剎車燈 的設計: 這個電路在麵包板上是成功的,且不需要額外電源接入 電路原理: 1、僅夜燈時,電源進入經過2SA684,此時2SCA684基極對接地無分壓(剎車無電力進入),此時晶體導通,電源經過330Ω限流到LED組(亮度稍弱)。 2、當剎車時,剎車線路供電,分壓給2SA684,此時2SA684基極高壓,使得CE斷開,停止夜燈電源供給。 3、剎車供電時,電容100u需3~4秒充電達才能飽和,此時U1輸出高電位Hi,使得2SC1815導通,電容10u可正常充放電,此時U2輸出震盪並推動220Ω與LED組,使LED閃爍(最亮)。 4、電容100u在4秒後達到飽和,U1輸出成為低電位Lo,2SC1815不導通,CE斷開,電容10u無法充放電,致使U2輸出維持高電位Hi,LED組變成恆亮。 5、剎車不供電時,U1、U2所有電路復歸原態,待下次剎車時從2再次循環。 U1是設計成延遲電路,所以腳位7(放電)不接。 汽車的電力大約在13V ~ 15V間,1N4003可以稍微...

Coldfusion 多個 query 合併

簡單的用法: <cfquery name="q1" datasource="store1" blockFactor="100">  select * from sales_lists where sale_date = '2013/05/02' </cfquery> <cfquery name="q2" datasource="store2" blockFactor="100">  select * from sales_lists where sale_date = '2013/05/02' </cfquery> <cfquery name="datesales" dbtype="query">  select * from q1  union  select * from q2  order by sale_employee </cfquery> 把多個 DB 查詢用 in memory 查詢 union 起來。 那如果是 LOOP 迴圈連續查詢的 query 呢? 那就讓 query name 不一樣就可以了,然後再用LOOP把query union 起來 <cfloop from="1" to="#ListLen(employeelist)#" index="i">  <cfquery name="qresult#i#" datasource="db1">   select * from employee where employee_no = '#ListGetAt(i)#'  </cfquery> </cfloop> <cfquery name="combine" dbtype="query">   <cfloop fro...

Coldfusion Query 的 Commit

最近由coldfusion 操作資料庫查詢時發生的一件事情 在sybase資料庫 做 Replication 的兩部資料庫: A-DB 與 B-DB, 本來,Web-Base的作業都連線在 B-DB 上,App-Base都連在 A-DB上 後來因為B-DB資料區有異常,就把 coldfusion 連線全部連到 A-DB , 接下來,慘事發生了...... A-DB 三不五時發生嚴重 lock ,導致所有作業都停擺,細查原因,發現: 1、全部 lock 都是來自 coldfusion 的 connection ,而且都是 jdbc 驅動連線 2、如果 coldfusion 使用 Sybase 驅動連線,不會發生此現象 3、ColdFusion 不管何種連線到 B-DB 都不太會發生 lock 過久問題 4、Web-Base 的查詢幾乎都是大範圍資料查詢 所以,查了一下設定發現,B-DB 的 lock 範圍強制設定在 row lock等級, Read isolation 屬 uncommit ,這樣的設定應該是為了提高網頁端大量查詢的效率 而 A-DB 屬於內部作業使用有需要極高的正確性,因此屬於page lock等級, Read isolation 屬 commit,因此 App-Base 開發時只要使用到 insert/update 一律要 commit/rollback才能繼續。 以上設定應該是因應公司營業型態調整的 所以,如果在不知道細節的情況下, Coldfusion 的 <cfquery> 指令下完之後 ,無論是Select / Insert / Update 都記得要下一行: <cftransaction action="commit" /> 或是 <cftransaction action="rollback" /> 才不至於出現過度lock狀況,當然這也是比較正統的撰寫習慣 至於 sybase driver connector 與 jdbc driver connector為什麼有不一樣的行為, 應該是差在 select 這個指令,sybase driver 對 select 指令會自動 commit 掉, 但是jdbc d...

coldfusion query buildin functions

Method Signiture Return Type Method Signiture Description void queryName.first() jump to the first row of a query void queryName.last() jump to the last row of a query boolean queryName.isFirst() true if we are positioned at the first row boolean queryName.isLast() true if we are positioned at the first row boolean queryName.next() go to the next row, return true if there is a next row boolean queryName.previous() go to the previous row, return true if there is a previous row int queryName.findColumn(String name) get the internal zero based Column ID by name void sort(int columnID, boolean ascending) sort by a column, use findColumn to get the column id String getColumnTypeName(int columnID) gets the data type of a column, this one didn't work properly when I tested it, it would return NUMERIC for a field that was a varchar. There is a method called guessColumnType that was probably used to determine it, it guessed wrong. 資料參考來源...

sort query in coldfusion

當我們需要用 coldfusion 查詢資料庫時會使用 cfquery 執行SQL指令 <cfquery name="allEmployee" datasource="myDB">  Select employee_no,employee_name,employee.duty  From employee  Where employee_retired = 'N' </cfquery> 當然,資料排序可以直接下 SQL 的 ORDER BY 來完成 但是,如果有特殊需求需要在 coldfusion 內(in memory)才排序的話 有兩種方式可以完成: 1、使用 cfquery 對已經存在的 query 再處理 <cfquery name="sortedEmployee" dbtype="query">  Select *  From allEmployee  Order By employee_name ASC </cfquery> 2、使用query專用指令 <cfset allEmployee.sort(allEmployee.findColumn("employee_name"),true)> 對於第2種用法,可能要非常小心 因為,adobe的 coldfusion 服務器與 Railo 的服務器有不同的使用法 (注意,我測試的adobe coldfusion 是 MX7,可能新的版本有變) 指令 Adobe Coldfusion MX7 Railo QueryName.sort(QueryName.findColumn("ColumnName"),true) 可 不可 QueryName.sort(2,true) 可 不可 QueryName.sort("ColumnName",true) 不可 可 QueryName.sort("2",true) 不可 不可