發表文章

微軟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) 不可 不可

Operating the HTML table like Powerbuilder's DataWindow chapter 0

圖片
發想來自我接觸最久的程式語言 Powerbuilder,說真的跳通到其他語言時,會非常懷念它的DataWindow 物件。原因不外乎,它讓資料操作變得很簡單,甚至讓程式設計師變懶了。 但如果開始使用其他語言時,例如現在幾乎都要用網頁來工作,就發現網頁要操作資料真的不是那麼容易,尤其使用AJAX技術時,針對頁面的操作,每個工程師寫出來的方式大相逕庭,閱讀理解就變得重重。 有鑑於此,只好將自己理解datawidnow的部份,將其方法(method)實現到javascript裡面來。 盡力讓畫面表單操作變得簡單一些。 這樣的好處是,使用相同套件,程式碼閱讀起來清爽也易懂,比較容易除錯。 下面簡單介紹一下操作原理,與表格架構,DataWindow會用DW簡稱: 1、原則上一個類DW的架構如下: <div id="objid">  <table width="100">   <tr>    <th width="48" cn="field1">欄1標題</th>    <th width="18" cn="field2">欄2標題</th>    <th width="28" cn="field3">欄3標題</th>   </tr>  <table> </div> 這是一個標準table外面包著一個div層,而這個div層的id就是這個datawindow的名稱(datawindow name),一個DW結構(div)裡面只能有一個table存在。 這個結構很重要,因為接下來所有的操作都會參考這個結構的定義。 2、TH屬性的定義: cn :欄位名稱,必要的,英數字,其值就是代表了這個欄位的column name。 edit :編輯模式,選擇性,此屬性表示生成的資料可以編輯,其值(編輯模式)有:text / password / date / ddw / lbox。 key :關鍵欄,選擇性,其值為yes / no,yes=開啟編