Posts Tagged ‘ Coding ’
[Perl][JavaScript]以數學的原理處理四捨五入
我看過太多人都把四捨五入的問題看成是「字串」來處理,實際上,如果把四捨五入做為「數學」來解的話,程式大概只要幾行即可解決。
以四捨五入取整數的例子來講,其原理就是: 任何數值 +0.5 再取整數。
但要注意的是,當四捨五入遇到「負數」時就會變成「五捨六入」,這是因為中間數要往數值大的那邊進位的緣故。所以加上了負數的處理,程式至少又多了一行:
Read more
在 Blogger 中使用 dp.SyntaxHighlighter 顯示程式碼
db.SyntaxHighlighter 是一支不錯的程式碼高亮度顯示程式,特點為:
- 顯示行號
- 支援12種程式語言
- 模組化載入需要的程式語言
- 支援 “<pre>” 及 “<textarea>” 區塊
- 純文字檢視
- 複製到剪貼簿
- 直接列印程式碼
缺點就是載入速度較慢。
安裝步驟
- 修改 blogger 樣板,搜尋 “</body>”,在 “上方” 加入(你可以選擇你要的語言載入即可):
<script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shCore.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushPhp.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushJScript.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushSql.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushXml.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushDelphi.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushPython.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushRuby.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushCss.js'></script> <script class='javascript' src='http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/shBrushCpp.js'></script> <script class='javascript'> dp.SyntaxHighlighter.ClipboardSwf = 'http://syntaxhighlighter.googlecode.com/svn/tags/1.5.0/Scripts/clipboard.swf'; dp.SyntaxHighlighter.HighlightAll('code'); </script>
(因為 “偷吃步” 的關係,程式直接連到 dp.SyntaxHighlighter 的 SVN 上,你可以視情況下載回來放到自己的伺服器)
- dp.SyntaxHighlighter 原本已經有一個 CSS 檔了,但如果將這個 CSS 檔以 “Link” 的方式載入,卻無法正常顯示。所以,請自行增加下列 CSS 到 blogger 樣板的 CSS 區段:
/*dp.highlighter*/ .dp-highlighter { font-family: "Consolas", "Courier New", Courier, mono; font-size: 12px; background-color: #E7E5DC; width: 99%; overflow: auto; margin: 18px 0px 18px 0px; padding-top: 1px; /* adds a little border on top when controls are hidden */ border:1px inset; max-height:200px; } .dp-highlighter .bar { padding-left: 45px; } .dp-highlighter.collapsed .bar, .dp-highlighter.nogutter .bar { padding-left: 0px; } .dp-highlighter ol { list-style: decimal; /* for ie */ list-style: decimal-leading-zero; /* better look for others */ background-color: #fff; margin: 0px 0px 1px 45px; /* 1px bottom margin seems to fix occasional Firefox scrolling */ padding: 0px; color: #5C5C5C; } .dp-highlighter.nogutter ol { list-style-type: none !important; margin-left: 0px; } .dp-highlighter ol li, .dp-highlighter .columns div { border-left: 3px solid #6CE26C; background-color: #f8f8f8; padding-left: 10px; line-height: 14px; } .dp-highlighter.nogutter ol li, .dp-highlighter.nogutter .columns div { border: 0; } .dp-highlighter .columns { color: gray; overflow: hidden; width: 100%; } .dp-highlighter .columns div { padding-bottom: 5px; } .dp-highlighter ol li.alt { background-color: #fff; } .dp-highlighter ol li span { color: Black; } /* Adjust some properties when collapsed */ .dp-highlighter.collapsed ol { margin: 0px; } .dp-highlighter.collapsed ol li { display: none; } /* Additional modifications when in print-view */ .dp-highlighter.printing { border: none; } .dp-highlighter.printing .tools { display: none !important; } .dp-highlighter.printing li { display: list-item !important; } /* Styles for the tools */ .dp-highlighter .tools { padding: 3px 8px 3px 10px; font: 9px Verdana, Geneva, Arial, Helvetica, sans-serif; color: silver; background-color: #f8f8f8; text-align1: right; padding-bottom: 10px; border-left: 3px solid #6CE26C; } .dp-highlighter.nogutter .tools { border-left: 0; } .dp-highlighter.collapsed .tools { border-bottom: 0; } .dp-highlighter .tools a { font-size: 9px; color: #a0a0a0; text-decoration: none; margin-right: 10px; } .dp-highlighter .tools a:hover { color: red; text-decoration: underline; } /* About dialog styles */ .dp-about { background-color: #fff; margin: 0px; padding: 0px; } .dp-about table { width: 100%; height: 100%; font-size: 11px; font-family: Tahoma, Verdana, Arial, sans-serif !important; } .dp-about td { padding: 10px; vertical-align: top; } .dp-about .copy { border-bottom: 1px solid #ACA899; height: 95%; } .dp-about .title { color: red; font-weight: bold; } .dp-about .para { margin: 0 0 4px 0; } .dp-about .footer { background-color: #ECEADB; border-top: 1px solid #fff; text-align: right; } .dp-about .close { font-size: 11px; font-family: Tahoma, Verdana, Arial, sans-serif !important; background-color: #ECEADB; width: 60px; height: 22px; } /* Language specific styles */ .dp-highlighter .comment, .dp-highlighter .comments { color: #008200; } .dp-highlighter .string { color: blue; } .dp-highlighter .keyword { color: #069; font-weight: bold; } .dp-highlighter .preprocessor { color: gray; }
- 儲存即可
使用方法
- 方法一 - 使用 “<textarea>” 區塊,需將 “&” 轉換為 “&”:
<textarea name="code" class="程式語言"> 程式碼 </textarea>
- 方法二 - 使用 “<pre>” 區塊,需將 “&” 轉換為 “&”、”<” 轉換為 “<”、”>” 轉換為 “>”:
<pre name="code" class="程式語言"> 程式碼 </pre>
參考網頁
在 Blogger 中使用 google-code-prettify 顯示程式碼
google-code-prettify 是一支不錯的程式碼高亮度顯示程式,特點為:
- 支援 15 種程式語言(但某些語言似乎還沒完成)
- 程式僅兩個檔案
- 載入速度較快
缺點為:
- 跟 IE 的相容性比較不佳,在 IE 內複製程式碼時無換行符號
- 無行號顯示
- 僅支援 "<pre>" 區塊
- 程式碼過長時不會自動顯示捲軸 (可透過修改 CSS 解決)
安裝步驟
- 修改 blogger 樣板,搜尋 "</head>",在 "上方" 加入
<link href='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.css' type='text/css' rel='stylesheet' /> <script type='text/javascript' src='http://google-code-prettify.googlecode.com/svn/trunk/src/prettify.js'></script>
(因為 "偷吃步" 的關係,程式直接連到 google-code-prettify 的 SVN 上,你可以視情況下載回來放到自己的伺服器)
- 繼續搜尋 "<body>",在標籤內的 onload 事件加入:
prettyPrint();
- 儲存即可。
使用方法
- 使用 "<pre>" 區塊,需將 "&" 轉換為 "&"、"<" 轉換為 "<"、">" 轉換為 ">":
<pre class="prettyprint"> 程式碼 </pre>
參考網頁
各種資料手冊下載,強力推薦
Cheat Sheet Roundup 是一個很棒的網站,內有作業系統、程式設計、資料庫、網頁設計…等 30 餘種相關的資料手冊可供下載(包含一些單頁的 Data Sheet 可以用來貼在自己的座位牆板上),對於設計師與相關資訊人員,都是很好的參考資料,強力推薦。
看看人家的程式是怎麼寫的
在國外有一些網站,專門存放一些程式碼的精華片段,寫程式如果遇到瓶頸,可以上來逛逛…
Coding
Regular Expression
[轉載][Perl][PHP]描述語言成軟體開發新寵
轉載自: CNet
過去曾經被專業程式設計師視為太簡單的描述語言(scripting languages),正逐漸成為企業軟體開發界裡的一等公民。
資料庫大廠甲骨文(Oracle)要在週一宣佈一項合作案,可望能夠讓採用Zend Technologies 公司PHP工具的企業,更容易建立客製化的應用。PHP是一種用來設計網頁的開放原始碼描述語言。
除了甲骨文的加碼PHP之外,近來軟體大廠如IBM、昇陽(Sun),及微軟,也都大力投入越來越受歡迎的描述語言,或者也稱「動態」(dynamic)語言。
描述語言過去以來已經用在網路上各種應用的設計上,但是一般而言,企業開發者並未廣為採用。但是近來有越來越多的企業與IT專業從業者尋求以這種語言,做為簡化與加速公司內客製化程式的方法,藉以避免近來普遍存在的應用軟體過於龐大或預算暴增的問題。
「描述語言越來越受歡迎而且越來越強大,只因為它太容易使用了。」顧問公司InterKnowlogy執行長Tim Huckaby表示。「這跟完成時機與金錢有關,而非關底層究竟有多優雅。」
藉由與Zend的合作,甲骨文趕搭PHP的這股風潮,並鼓勵Oracle資料庫的使用。根據Zend行銷副總裁Pamela Roussos表示,目前,Zend客戶有20%以上使用Oracle資料庫。
同時甲骨文也可吸引較小型的公司企業而擴大其客戶群──這些客戶通常缺乏強大的IT部門以一些知名的程式語言來打造龐大的客製化商業應用軟體。相較於較為 複雜的Java、C、C++,及Visual Basic,描述語言可以不需要電腦科學學歷或太多的專業訓練即可廣被採用。
甲骨文用來執行客製化商業應用的自家開發工具及相關的「中介軟體」都是以Java為基礎。同樣的,IBM、BEA、昇陽等廠商也都持續在投資Java標準。另一方面,微軟的工具則是以它專屬的「.Net」軟體為基礎。
Zend採用開放原始碼的PHP軟體並專門為企業開發者提供開發工具。
INFORMATION
我們解決了什麼問題?我們創造了什麼價值?
近期迴響