<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Programming on Lin's Blog</title><link>https://coder.tw/categories/programming/</link><description>Recent content in Programming on Lin's Blog</description><generator>Hugo</generator><language>zh-TW</language><lastBuildDate>Tue, 20 Oct 2026 07:59:50 +0800</lastBuildDate><atom:link href="https://coder.tw/categories/programming/index.xml" rel="self" type="application/rss+xml"/><item><title>手機不在家，也能用 Xcode 遠端佈署 iOS App</title><link>https://coder.tw/posts/ios-remote-deploy-over-wireguard/</link><pubDate>Tue, 20 Oct 2026 07:59:50 +0800</pubDate><guid>https://coder.tw/posts/ios-remote-deploy-over-wireguard/</guid><description>&lt;p&gt;現在是 AI 時代，大家都在外面用 AI 遙控家裡的電腦寫程式。寫 web 很方便，電腦接個 Tailscale 或 WireGuard，人在外面也能直接開網頁 debug。但 App 就不行了：上架要等好幾天，走 TestFlight 也要半小時才能裝到手機上測，AI 寫得再快也卡在這裡。&lt;/p&gt;</description></item><item><title>How to Ignore Python Warning</title><link>https://coder.tw/posts/how-to-ignore-python-warning/</link><pubDate>Sun, 12 Mar 2023 13:25:45 +0000</pubDate><guid>https://coder.tw/posts/how-to-ignore-python-warning/</guid><description>&lt;p&gt;在寫 Python 時偶爾會遇到一些無法解決或意義不大的警告訊息（Warning），例如前陣子使用 OpenPyxl 時它常常會提醒我：&lt;code&gt; warn("Workbook contains no default style, apply openpyxl's default")&lt;/code&gt; ，這個 Warning 是提醒 OpenPyxl 會自動套用預設樣式到我載入的檔案，至於要如何解決這個 Warning？ 你需要用 Office 打開這個 Excel 檔案，重新存檔。像這就是一個對當下場景的我來說意義不大的警告訊息，因為我的程式是拿 Excel 檔的內容來使用，樣式對我沒有影響。&lt;/p&gt;
&lt;p&gt;遇到警告訊息時，我的習慣還是會檢視並思考是什麼原因導致這個警告訊息，如果確認對我沒有影響，我會把它們從程式裡忽略掉，而不是依靠開發者的大腦去記得「這個警告訊息不重要」，並不是單純的眼不見為靜，而是為了養成良好的「看到警告訊息都要去處理」的習慣。&lt;/p&gt;</description></item><item><title>如何用 Python 印出進度條的效果</title><link>https://coder.tw/posts/python-print-progress-bar/</link><pubDate>Sat, 18 Feb 2023 16:16:32 +0000</pubDate><guid>https://coder.tw/posts/python-print-progress-bar/</guid><description>&lt;figure class="wp-block-image size-full"&gt;&lt;img src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2023/02/CleanShot-2023-02-18-at-16.00.47.gif" alt="" class="wp-image-7786"/&gt;&lt;/figure&gt;
&lt;p&gt;前陣子在開發實驗室的零食結帳工具時學到的小技巧，如果想在 Terminal 上作出類似 進度條 的效果，也就是「在原地印出文字，移除舊的文字」的話，可以參考這篇文章（其他語言也是相同原理）&lt;/p&gt;</description></item><item><title>Why Python No Output With Tee</title><link>https://coder.tw/posts/why-python-no-output-with-tee/</link><pubDate>Sat, 16 Jun 2018 01:12:08 +0000</pubDate><guid>https://coder.tw/posts/why-python-no-output-with-tee/</guid><description>&lt;p&gt;最近用 Python 寫了個 Slack Bot，因為偷懶所以我把 log 訊息直接 print 出來後用 tee 指令存到檔案裡，這樣就可以同時在 console 看到運作的資訊，又能將這些資訊保留到檔案裡，不過在用 Python print() 搭配 tee 時我卻發現我指定的 log File 常常沒有內容，或是該出現的訊息很晚才出現，研究後才知道原來 Python 的 print 函式會判斷輸出的環境，如果是輸出到 Shell 的話會立刻輸出，但如果不是輸出到 Shell 則會先存在 Buffer，等緩衝區滿了再一次輸出，當你把 Python 搭配 tee 使用時就會遇到緩衝區的問題，導致預期的輸出沒有及時出現在螢幕和檔案中。&lt;/p&gt;</description></item><item><title>BigQuery SQL String Split</title><link>https://coder.tw/posts/bigquery-sql-string-split/</link><pubDate>Sun, 17 Sep 2017 13:39:48 +0000</pubDate><guid>https://coder.tw/posts/bigquery-sql-string-split/</guid><description>&lt;p&gt;相信大家對 split 都不陌生，這可說是程式設計師最常用的十個函式之一，在 BigQuery 也有 split，但因為是 SQL 的關係用法和一般程式語言不太一樣，此外 BigQuery 又分成 Standard SQL 和 Legacy SQL，而這兩種版本雖然都有 split，但使用方式更是截然不同。&lt;/p&gt;</description></item><item><title>BigQuery Federate Google Sheet Table Occur Access Denied Error</title><link>https://coder.tw/posts/bigquery-federate-google-sheet-table-occur-access-denied-error/</link><pubDate>Thu, 14 Sep 2017 21:45:47 +0000</pubDate><guid>https://coder.tw/posts/bigquery-federate-google-sheet-table-occur-access-denied-error/</guid><description>&lt;p&gt;BigQuery 可以讓你把資料表和 Google Drive 的 Google Sheet 連結在一起，當 Google Sheet 有修改時資料表會立刻跟著修改，在使用這種 Federate Table 時有些人可能會遇到 Access Denied 的問題，當你在 WebUI 上查詢時沒有問題，但如果用 Command Lin Tool 的 bq 來查詢，會出現以下錯誤訊息：&lt;/p&gt;
&lt;blockquote&gt;Access Denied: BigQuery
BigQuery: No OAuth token with Google Drive scope was found&lt;/blockquote&gt;</description></item><item><title>Python Generate Datetime Series</title><link>https://coder.tw/posts/python-generate-datetime-series/</link><pubDate>Sun, 30 Jul 2017 02:30:16 +0000</pubDate><guid>https://coder.tw/posts/python-generate-datetime-series/</guid><description>&lt;p&gt;在 Excel 很簡單的拖曳就可以產生連續的日期們，而在 Python 你可以利用 datetime 和 timedelta 兩個模組做到類似的事情，不管是要間隔一小時、間格一天、間隔一個月都可以做到。&lt;/p&gt;</description></item><item><title>BigQuery SQL Get First or Last Day of Month From Specify Date</title><link>https://coder.tw/posts/bigquery-sql-get-first-or-last-day-of-month-from-specify-date/</link><pubDate>Sat, 29 Jul 2017 18:38:56 +0000</pubDate><guid>https://coder.tw/posts/bigquery-sql-get-first-or-last-day-of-month-from-specify-date/</guid><description>&lt;p&gt;In BigQuery, If you want get first day from a Date (or timestamp, datetime type) , for example, type &amp;ldquo;2017-05-24&amp;rdquo; and get &amp;ldquo;2017-05-01&amp;rdquo;, you can call UTC_USEC_TO_MONTH function in Legacy SQL, or DATE_TRUNC() in Standard SQL, In fact, BigQuery have a series function do these thing, Get First day, hour, week&amp;hellip;..etc from a Date.&lt;/p&gt;</description></item><item><title>BigQuery SQL Get Random N Row Sampling</title><link>https://coder.tw/posts/bigquery-get-random-n-row-sampling-legacy-sql-standard-sql/</link><pubDate>Fri, 28 Jul 2017 23:57:37 +0000</pubDate><guid>https://coder.tw/posts/bigquery-get-random-n-row-sampling-legacy-sql-standard-sql/</guid><description>&lt;p&gt;在做資料分析時，從資料裡面取隨機 N 列（抽樣）是很常見的需求，可能是抽樣觀察資料正確性，也可能是抽樣去作模型避免資料太多跑不動，其實在資料庫內用 SQL 進行抽樣十分簡單，以下就用 BigQuery Standard SQL 進行示範，Legacy SQL 的作法相同。&lt;/p&gt;</description></item><item><title>HTML 強制超連結下載檔案</title><link>https://coder.tw/posts/html-force-download-link/</link><pubDate>Wed, 26 Apr 2017 09:56:50 +0000</pubDate><guid>https://coder.tw/posts/html-force-download-link/</guid><description>&lt;p&gt;現在的瀏覽器都很聰明，當網頁超連結的內容是純文字檔、PDF、CSS File 時，瀏覽器會很聰明的在瀏覽器預覽而不是下載，但有時候我們希望使用者直接下載而不是在瀏覽器檢視，例如之前到 jQuery 的官網下載 jquery.js 時，都會變成預覽，需要按右鍵另存新檔，但其實我的目的很明確是要下載檔案而不是檢視呀！&lt;/p&gt;</description></item><item><title>CSS Inner Border - 內框線</title><link>https://coder.tw/posts/css-inner-border/</link><pubDate>Wed, 26 Apr 2017 09:54:28 +0000</pubDate><guid>https://coder.tw/posts/css-inner-border/</guid><description>&lt;p&gt;這次在設計&lt;a href="http://me.coder.tw"&gt;個人入口頁&lt;/a&gt;時因為想做出內框線（Inner Border）的效果，學到一種很聰明的寫法，提到 CSS Inner Border，直覺肯定是想到用 padding 或 margin 把盒子撐大，但其實這樣是行不通的，當你把盒子撐大時，框線也會跟著移動，無法做出內框線的樣式。&lt;/p&gt;</description></item><item><title>Vue.js Render Object as Table in Beautiful Way</title><link>https://coder.tw/posts/vue-js-render-object-as-table-in-beautiful-way/</link><pubDate>Fri, 17 Mar 2017 01:39:34 +0000</pubDate><guid>https://coder.tw/posts/vue-js-render-object-as-table-in-beautiful-way/</guid><description>&lt;p&gt;In Vue.js we can use v-for to render Array as HTML Table or List beautifully, but If we want render Object key and value as Table, for example, I use JS Object and Array to store many Contact info, each Contact have different key, I want display Contact 1 info in a table, It seems v-for not good at here?&lt;/p&gt;</description></item><item><title>GitHub API Note</title><link>https://coder.tw/posts/github-api-note/</link><pubDate>Thu, 23 Feb 2017 23:59:42 +0000</pubDate><guid>https://coder.tw/posts/github-api-note/</guid><description>&lt;p&gt;這幾天因為開發 Dashboard 的關係，接觸了 Trello 和 GitHub 的 API，把一些資訊整理起來，如果你也有GitHub API 的使用需求，可以來讀讀這篇文章。GitHub 也是採用 RESTful HTTP API 的形式，開發起來十分簡單，對於有 HTTP API 串接經驗的人更是好上手；GitHub API 算是我看過數一數二的 API Friendly，文件十分好理解不說，API 也提供很完整的參數供選擇，甚至未來還會提供 GraphQL API，真是令人期待！&lt;/p&gt;</description></item><item><title>Trello API Note</title><link>https://coder.tw/posts/trello-api-note/</link><pubDate>Wed, 22 Feb 2017 23:59:29 +0000</pubDate><guid>https://coder.tw/posts/trello-api-note/</guid><description>&lt;p&gt;今天因為在開發公司 Dashboard 的關係，需要寫程式去計算每天的開發點數，讓 Dashboard 能夠呈現每個月的開發點數變化，所以玩了 Trello API，簡單筆記在這裡。 前情提要，我們部門使用 Scrum 的點數方式來評估開發進度，幫每個 Issue 設定一個難度點數，搭配 Trello Scrum 外掛使用。&lt;/p&gt;</description></item><item><title>Python 3 在 Windows 命令提示字元輸出時遇到 CP950 錯誤</title><link>https://coder.tw/posts/python-cp950-encoding-error-windows-console/</link><pubDate>Tue, 21 Feb 2017 23:59:09 +0000</pubDate><guid>https://coder.tw/posts/python-cp950-encoding-error-windows-console/</guid><description>&lt;p&gt;今天在教學弟妹寫程式時，用 Python 印出一段中文字到命令提示字元，卻遇到「UnicodeEncodeError: &amp;lsquo;cp950&amp;rsquo; codec can&amp;rsquo;t encode character」這個錯誤，嘗試了各種方法都無法解決，最後爬了文章才搞懂是怎麼回事。&lt;/p&gt;
&lt;p&gt;看到這段錯誤，有經驗的開發者直覺就會認定是字串裡面有特殊字元，立馬給它加上 ignore 參數卻沒有效果，我遇到的情況檢查後發現是一個日文字，但眾所皆知 Python 3 預設使用 Unicode 字串，不應該會有無法輸出的問題才對，又不是萬惡的 Big5&amp;hellip;&lt;/p&gt;</description></item><item><title>解決 HTML Anchor 內文被選單遮住的問題</title><link>https://coder.tw/posts/fix-html-anchor-hidden-by-menu/</link><pubDate>Mon, 20 Feb 2017 23:28:39 +0000</pubDate><guid>https://coder.tw/posts/fix-html-anchor-hidden-by-menu/</guid><description>&lt;p&gt;HTML 的 Anchor 錨點功能十分方便，當網頁過長時可以透過 Anchor 讓訪客快速的移到指定段落，這樣的手法在許多技術文件、部落格都有出現，如果你看到類似 &lt;a href="https://coder.tw/?p=123#section1"&gt;https://coder.tw/?p=123#section1&lt;/a&gt; 的網址就是應用 HTML Anchor 的特性，這樣的特性雖然方便卻也帶來一些問題，最常見因為網頁最上方有浮動選單，當訪客點擊 Anchor 連結進到網頁後，雖然瀏覽器有自動捲到指定章節，但卻有部分文字被選單遮住，我始終很煩惱這問題，今天恰好在閱讀 Facebook 技術文件時發現他們的解法蠻不錯的。&lt;/p&gt;</description></item><item><title>How to Prevent JS Input onFocus Event Fire After Page onFocus</title><link>https://coder.tw/posts/how-to-prevent-js-input-onfocus-event-fire-after-page-onfocus/</link><pubDate>Thu, 16 Feb 2017 11:27:59 +0000</pubDate><guid>https://coder.tw/posts/how-to-prevent-js-input-onfocus-event-fire-after-page-onfocus/</guid><description>&lt;p&gt;最近的工作是在網站中置入 Google Analytics 的使用者事件追蹤程式碼，我透過 HTML Event 的做法將程式碼掛在 Input 上面，只要使用者點擊特定的欄位、按鈕就會發送一筆記錄到 Google Analytics，這樣的做法沒有什麼問題，但我發現當使用者點擊 Input 欄位後如果切換到其他網頁（Chrome Tabs），當使用者在切換回我的頁面（Page onFocus）時，Input onFocus 事件卻被自動觸發了！&lt;/p&gt;</description></item><item><title>Visual Studio Code - 貼上程式碼後自動整理縮排</title><link>https://coder.tw/posts/vscode-auto-indent-on-paste/</link><pubDate>Wed, 15 Feb 2017 09:25:59 +0000</pubDate><guid>https://coder.tw/posts/vscode-auto-indent-on-paste/</guid><description>&lt;p&gt;從 Sublime Text 切換到 &lt;a href="https://github.com/Microsoft/vscode/"&gt;Visual Studio Code&lt;/a&gt; ( 以下簡稱 VS Code ) 的開發者想必都很懷念「Paste and Indent」的功能吧！ 寫程式時不可免的需要複製貼上程式碼，貼上後縮排往往會亂掉，必須要手動在整理一次，而在 Sublime Text 有提供所謂的 Paste and Indent 功能可以讓你貼上的程式碼自動符合當前檔案的縮排方式，而 VS Code 也有類似功能，但原理不太一樣且需要到設定檔上開啟。&lt;/p&gt;</description></item><item><title>JavaScript 判斷變數是否等於 NaN</title><link>https://coder.tw/posts/javascript-check-variable-nan/</link><pubDate>Tue, 14 Feb 2017 22:44:05 +0000</pubDate><guid>https://coder.tw/posts/javascript-check-variable-nan/</guid><description>&lt;p&gt;在 JavaScript 實在有太多奇怪的眉眉角角了，今天因為把字串轉數字用到 parseFloat，如果進去的參數無法轉成數字則會回應 NaN (Not a Number)，我就寫了如下語法來判斷：&lt;/p&gt;
&lt;pre&gt;var score = parseFloat(prompt("Score:"));
if(score === NaN) {
console.log("Not a Number");
} else {
console.log(score);
}&lt;/pre&gt;
&lt;p&gt;這段程式碼乍看之下理所當然，就像 undefined、null 一樣可以直接相等運算，誰知道完全不如預期。&lt;/p&gt;</description></item><item><title>JS 前端處理檔案上傳之預覽、大小、尺寸、格式</title><link>https://coder.tw/posts/js-file-upload-preview-validation/</link><pubDate>Thu, 09 Feb 2017 13:44:33 +0000</pubDate><guid>https://coder.tw/posts/js-file-upload-preview-validation/</guid><description>&lt;p&gt;在上傳檔案時，最討厭的莫過於檔案上傳了 5 分鐘後才跟我說檔案過大或尺寸不正確！  在檔案上傳的驗證我們往往交給後端處理，導致檔案需要上傳後才能確認是否符合規定，特別是圖檔還有長寬比例的問題需要檢查，這些事情如果完全交給後端，就可能導致用戶體驗不佳，之前在新頭殼研究大頭貼上傳時，發現原來完全可以將這些事情交給前端處理，透過 JS 和 HTML5 API 做到檔案上傳的格式、大小(20MB)、尺寸(100x100) 檢查，甚至還可以做到預覽、前端切圖轉檔等等！&lt;/p&gt;</description></item><item><title>關於程式設計的命名藝術</title><link>https://coder.tw/posts/naming-art-in-programming/</link><pubDate>Mon, 06 Feb 2017 23:59:25 +0000</pubDate><guid>https://coder.tw/posts/naming-art-in-programming/</guid><description>&lt;p&gt;命名，是程式設計領域老掉牙的議題，從變數命名到函式、物件的命名，未必有多少人將這件事做好，你真的明白為何變數命名重要嗎？  此外，除了最基本的變數名稱要有意義外，常見變數命名方式如匈牙利命名法、駝峰命名法等等，又該如何選擇呢？ 這邊將簡單跟大家分享我對於變數命名的一些想法。&lt;/p&gt;</description></item><item><title>How to Use Web Inspector on iOS Safari</title><link>https://coder.tw/posts/how-to-use-web-inspector-on-ios-safari/</link><pubDate>Fri, 03 Feb 2017 11:58:14 +0000</pubDate><guid>https://coder.tw/posts/how-to-use-web-inspector-on-ios-safari/</guid><description>&lt;p&gt;在電腦上進行前端開發時，瀏覽器會提供方便的開發者工具，讓我們可以檢視錯誤訊息、儲存區內容、逐步執行 JS 等等，但如果要用行動裝置測試網頁，該如何開啟強大的開發者工具呢？ 畢竟小小的螢幕，總不可能開在手機裡吧！ 這邊分享 iOS Device 的情況下，可以和 Mac 電腦連線，使用 Mac Safari 的開發者工具來遠端遙控 iOS Safari 的網頁，讓你用 iOS 測試網頁更方便。&lt;/p&gt;</description></item><item><title>JavaScript 計算函式執行時間</title><link>https://coder.tw/posts/javascript-measure-function-time/</link><pubDate>Tue, 24 Jan 2017 18:56:38 +0000</pubDate><guid>https://coder.tw/posts/javascript-measure-function-time/</guid><description>&lt;p&gt;要在 JavaScript 計算函式的執行時間，可以用現在的 Timestamp 和函式執行後的 Timestamp 相減，即可獲得執行時間，大多數人都會用 new Date().getTime() 來取得時間戳，但如果你的函式執行時間小於 1 毫秒，就會因為 Timestamp 最小單位只到毫秒而無法計算執行時間，因此在這建議使用 &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/now"&gt;Window.Performance API&lt;/a&gt;，它可以提供從網頁載入到現在的豪秒數，精確度到千分之一毫秒。&lt;/p&gt;</description></item><item><title>Rails Capybara Feature Testing 踩雷日記</title><link>https://coder.tw/posts/rails-feature-testing-diary/</link><pubDate>Mon, 16 Jan 2017 20:32:53 +0000</pubDate><guid>https://coder.tw/posts/rails-feature-testing-diary/</guid><description>&lt;p&gt;用一句話形容今天，大概是「第一次學 Capybara 踩地雷就上手」，花了整整六小時(以上)在寫兩個簡單的測試，途中遇到各種有趣的地雷，不寫一篇文章紀錄這慘烈的一天我怕今天氣到睡不著覺。 先聲明，這是第一次寫測試，所以有些觀念可能是錯誤或過舊的，歡迎大家留言告知，一定立刻修改，這不是一篇技術文，而是一篇發洩文（怒）&lt;/p&gt;</description></item><item><title>JavaScript String Replace All</title><link>https://coder.tw/posts/javascript-string-replace-all/</link><pubDate>Mon, 16 Jan 2017 01:20:29 +0000</pubDate><guid>https://coder.tw/posts/javascript-string-replace-all/</guid><description>&lt;p&gt;在 JavaScript 使用 String.replace 時要注意它可能和你預期的行為不同，當你想取代某個字串時，你會發現 replace 只取代了第一個字串，例如 &amp;ldquo;AAA&amp;rdquo;.replace(&amp;ldquo;A&amp;rdquo;, &amp;ldquo;B&amp;rdquo;)，你預期會得到 &amp;ldquo;BBB&amp;rdquo; 但實際上你會得到的是 &amp;ldquo;BAA&amp;rdquo;，這是因為 JS replace 的第一個參數其實是 Regex 而非字串，如果你輸入字串，就只會取代第一個遇到的字串，導致和預期不同的問題。&lt;/p&gt;</description></item><item><title>JavaScript 操作瀏覽器歷史紀錄、修改網址與上一頁事件（SPA 必備）</title><link>https://coder.tw/posts/javascript-manipulate-browser-history/</link><pubDate>Sat, 14 Jan 2017 12:59:02 +0000</pubDate><guid>https://coder.tw/posts/javascript-manipulate-browser-history/</guid><description>&lt;p&gt;在 JavaScript 當道的今日，使用 JS 進行網頁的操作如 Ajax、頁面切換、彈出視窗等等越來越常見，甚至進一步出現了 React JS、Vue JS 等可以幫助你開發 Single Page Application (SPA) 的 JS Framework；在使用 JS 進行網頁操作時最怕的問題莫過於網址的變化與歷史紀錄，例如透過 jQuery 進行頁面切換後，因為是 JS 的行為所以網址不會變化，而且當使用者按下瀏覽器左上角的上一頁時，會直接回到別的頁面，因為在歷史紀錄裡面不會紀錄 JS 的操作（事實上也無法紀錄），要解決這一系列問題，可以透過 HTML5 提供的 history.pushState、history.replaceState 以及 onpopstate 事件來解決。&lt;/p&gt;</description></item><item><title>千萬不要在迴圈裡面刪除陣列元素</title><link>https://coder.tw/posts/python-dont-delete-list-in-loop/</link><pubDate>Thu, 12 Jan 2017 20:35:34 +0000</pubDate><guid>https://coder.tw/posts/python-dont-delete-list-in-loop/</guid><description>&lt;p&gt;「踩你千萬遍也不厭倦的愚蠢行為」，我一直以為錯誤的寫法只要遇過一次就會長記性，但今天在公司又踩地雷三小時，始終搞不懂問題在哪裡，最後很認真把程式碼重看過一次後發現&amp;hellip; 原來又是一樣的問題。 一句話：「不要擅迴圈裡面刪除任何陣列元素」&lt;/p&gt;</description></item><item><title>湊整數實作思路與方法</title><link>https://coder.tw/posts/rounding-integer-approach/</link><pubDate>Wed, 11 Jan 2017 23:30:33 +0000</pubDate><guid>https://coder.tw/posts/rounding-integer-approach/</guid><description>&lt;p&gt;前陣子在嘖嘖看到「湊整數」功能，比如結帳時 1359 元，按下湊整數按鈕後會變成 1400 元，這其實是個蠻有趣的功能，但實作時才發現湊整數並不好做，有很多非技術面的顧慮，這邊就紀錄我在實作所遇到的問題、過程以及最後的解法吧！&lt;/p&gt;</description></item><item><title>Ngrok - 讓本機也可以開發 webhook 免部署環境的神器</title><link>https://coder.tw/posts/ngrok-local-webhook-development/</link><pubDate>Mon, 09 Jan 2017 23:36:47 +0000</pubDate><guid>https://coder.tw/posts/ngrok-local-webhook-development/</guid><description>&lt;p&gt;&lt;a href="https://ngrok.com"&gt;Ngrok&lt;/a&gt; 是後端開發者必備的神器，每次在本機 localhost 開發網站時，遇到 webhook、API Callback、OAuth 都會很頭痛，以之前開發 Mandrill Webhook 接收開信、發信事件為例，因為要設定網址在 Mandrill 後台才能測試，所以程式寫完後要上傳到伺服器才能知道結果，對於開發速度會造成蠻大的影響，而 &lt;a href="https://ngrok.com"&gt;Ngrok&lt;/a&gt; 就是為了解決這樣的問題而誕生！&lt;/p&gt;</description></item><item><title>如何測試網站是否成功設定 CORS</title><link>https://coder.tw/posts/test-cors-enabled-on-website/</link><pubDate>Wed, 04 Jan 2017 11:58:44 +0000</pubDate><guid>https://coder.tw/posts/test-cors-enabled-on-website/</guid><description>&lt;p&gt;透過 Cross-Origin Resource Sharing（以下簡稱 CORS）的設定可以讓 JavaScript 突破瀏覽器同源政策，存取不同網域的資源（API），但每次設定完 CORS 都很頭痛要如何判斷伺服器真的有設定成功，因為有時候瀏覽器針對 CORS 會做快取，導致伺服器設定無誤，但不管你怎麼重新整理網頁都失敗的現象。這邊教大家用 cURL 直接檢視 header 是否有啟用 CORS 囉！&lt;/p&gt;</description></item><item><title>JavaScript Page Load、Focus、UnFocus、Exit Event</title><link>https://coder.tw/posts/javascript-page-load-focus-exit-events/</link><pubDate>Tue, 03 Jan 2017 20:43:11 +0000</pubDate><guid>https://coder.tw/posts/javascript-page-load-focus-exit-events/</guid><description>&lt;p&gt;用 JavaScript 記錄使用者何時進入網頁我想大家都會，但你有想過如何判斷使用者「關閉」網頁嗎？ 甚至現在的瀏覽器都是用 Tab 的形式呈現多個網頁，有沒有可能使用者其實是在看別人的網頁，而你的頁面只是掛著呢？ 例如 Youtube 就常遇到這問題，使用者把頁面放著聽歌，但實際上卻是在看 Facebook&amp;hellip;。&lt;/p&gt;
&lt;p&gt;今天這邊簡單記錄用 JS 頁面的載入、關閉事件，以及進入頁面(focus)、離開頁面(unfocus)事件，透過這些事件，可以記錄使用者的操作狀況供分析，甚至是當使用者跳離網頁時停止播放音樂等行為都可以達成。&lt;/p&gt;</description></item><item><title>Python Global Exception Handler</title><link>https://coder.tw/posts/python-global-exception-handler/</link><pubDate>Mon, 02 Jan 2017 15:00:12 +0000</pubDate><guid>https://coder.tw/posts/python-global-exception-handler/</guid><description>&lt;p&gt;一般來說例外處理不會是全域性質的，因為當我們將例外處理套用到全域時，我們很難確認問題發生在哪裡並處理，但少數情況下我們會需要撰寫出這樣的程式碼，以這次為例，我用 Python 撰寫程式去處理 webhook，但因為伺服器那邊送來的資訊太多樣化，我需要在將任何例外發生的時候，能夠把當環境資料印出來，方便事後除錯，這種時候就確實該使用 Global Exception Hook 的技巧。&lt;/p&gt;</description></item><item><title>String Split in Elasticsearch Script Field (Painless)</title><link>https://coder.tw/posts/string-split-in-elasticsearch-script-field-painless/</link><pubDate>Wed, 14 Dec 2016 01:29:14 +0000</pubDate><guid>https://coder.tw/posts/string-split-in-elasticsearch-script-field-painless/</guid><description>&lt;p&gt;看到這篇文章，相信你一定尋找怎麼在 Elasticsearch （或是 Kibana）的 Script Field 使用 Split 很久了吧！ 這邊我可是特意把所有你會想到的關鍵字都用上了，就是為了讓跟我一樣苦命的工程師不要浪費太多人生在這件事情上&amp;hellip;&lt;/p&gt;
&lt;p&gt;很快的先講結論，雖然 Painless 號稱支援 Java Native API，但恰恰有幾個不支援，其中一個就是 split，據說是因為 Elasticsearch 開發團隊覺得 split 時間複雜度太差，所以把它割掉了，而我一開始不知道這件事情，嘗試了各種方式，從語法是否正確一路懷疑到是否需要寫什麼特殊的語法來 Import Java API，最後在 Elasticsearch 的 Issue 上看到這篇 【&lt;a href="https://github.com/elastic/elasticsearch/issues/20952"&gt;Painless - Request for native String split function&lt;/a&gt;】，當下我的心情&amp;hellip;&amp;hellip;&lt;/p&gt;</description></item><item><title>Python Join with Lambda - 更客製化的 Join</title><link>https://coder.tw/posts/python-join-with-lambda/</link><pubDate>Tue, 13 Dec 2016 16:05:52 +0000</pubDate><guid>https://coder.tw/posts/python-join-with-lambda/</guid><description>&lt;p&gt;寫程式的人對 split()、join() 兩個東西肯定不陌生，在 Python 裡面我們可以透過 String.join(list) 把 List 合併成字串，例如 &amp;ldquo;,&amp;quot;.join([&amp;ldquo;A&amp;rdquo;, &amp;ldquo;B&amp;rdquo;, &amp;ldquo;C&amp;rdquo;]) 會回傳 &amp;ldquo;A,B,C&amp;rdquo; 字串，或是反過來透過 &amp;ldquo;A,B,C&amp;rdquo;.split(&amp;rdquo;,&amp;quot;) 來拆成 List，但你一定有過這樣的需求卻無法解決吧：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;把字串合併但首字大寫&lt;/li&gt;
&lt;li&gt;List 裡面存的是數字，但 join 需要是字串才可以處理&lt;/li&gt;
&lt;/ul&gt;
這些問題可以透過 List Comprehension 解決，例如型態處理的部份可以像這樣撰寫語法：
&lt;pre&gt;nums = [1,2,3,4,5]
nums_str = [str(num) for num in nums]
print(",".join(nums_str))&lt;/pre&gt;
但除了 List Comprehension 以外還有其他解法嗎？ 你肯定也想過像 sort 那樣傳送 lambda function 給 join 吧！</description></item><item><title>Laravel Artisan Migrate "Table Already Exists" or "Foreign Key" Error</title><link>https://coder.tw/posts/laravel-artisan-migrate-table-already-exisis-or-foreign-key-error/</link><pubDate>Mon, 12 Dec 2016 04:57:46 +0000</pubDate><guid>https://coder.tw/posts/laravel-artisan-migrate-table-already-exisis-or-foreign-key-error/</guid><description>&lt;p&gt;在部署半年前用 Laravel 5.2 開發的專案時遇到不少問題，其中一個就是執行 php artisan migrate 之後卻遇到 Table Already Exists 的錯誤，但在這之前我從未建立過該 Table，後來深入研究發現該 Table 確實存在但 project_migrations Table 裡面卻沒有建立紀錄，於是我將 Table 手動刪除後在直接執行一次 php artisan migrate，果然，這次出現了真正的錯誤訊息：「General error: 1005 Can&amp;rsquo;t create table &amp;lsquo;dbname.#sql-fbc1_15e6&amp;rsquo; (errno: 121) (SQL: alter table &lt;code&gt;karl_project&lt;/code&gt; add constraint &lt;code&gt;project_user_id_foreign&lt;/code&gt; foreign key (&lt;code&gt;user_id&lt;/code&gt;) references &lt;code&gt;karl_user&lt;/code&gt;
(&lt;code&gt;id&lt;/code&gt;))」&lt;/p&gt;</description></item><item><title>使用 JavaScript 操作剪貼簿複製文字</title><link>https://coder.tw/posts/javascript-copy-to-clipboard/</link><pubDate>Sat, 10 Dec 2016 15:19:09 +0000</pubDate><guid>https://coder.tw/posts/javascript-copy-to-clipboard/</guid><description>&lt;p&gt;在過去想要用 JavaScript 操作剪貼簿進行複製、貼上的動作十分麻煩，之前在開發 NTUST.ME 臺科短網址時，為了方便大家複製縮短後的網址，特別研究了 JavaScript 對剪貼簿操作的 API，發現在較新版的瀏覽器，其實有一個 execCommand 可以進行許多方便的文字操作，例如複製、全選等等，以下就讓我來介紹一下吧！&lt;/p&gt;</description></item><item><title>Python 漢語拼音處理（姓名中翻英、地址中翻英）</title><link>https://coder.tw/posts/python-chinese-to-pinyin-conversion/</link><pubDate>Fri, 09 Dec 2016 00:05:43 +0000</pubDate><guid>https://coder.tw/posts/python-chinese-to-pinyin-conversion/</guid><description>&lt;p&gt;今天幫同事處理大量的姓名、地址中翻英需求，研究了 Python 在漢語拼音方面的作法，畢竟你總不能一筆一筆複製到郵局或是網站上吧（笑），結果出乎意料的簡單，地址翻譯的部分透過各家的 Geocoder API 即可處理，漢語拼音則是有第三方的 Library 可以使用，而且翻譯效果還不錯，不能說盡善盡美，但搭配工人智慧足以彌補那小小的缺陷，畢竟如果要解決最後的小缺陷，可能要投入大量的資源、技術，導入機器學習的方法來處理（其實之後會有興趣做看看，畢竟在華文圈裡面好用的工具真的太少了）。&lt;/p&gt;</description></item><item><title>How to make elasticsearch.py Fast (Bulk Operate)</title><link>https://coder.tw/posts/how-to-make-elasticsearch-py-fast-bulk-operate/</link><pubDate>Thu, 08 Dec 2016 00:57:01 +0000</pubDate><guid>https://coder.tw/posts/how-to-make-elasticsearch-py-fast-bulk-operate/</guid><description>&lt;p&gt;用 Python 操作 Elasticsearch 時不免俗的肯定會安裝官方推出的 &lt;a href="https://elasticsearch-py.readthedocs.io/en/master/"&gt;elasticsearch.py&lt;/a&gt;，最近在用 Python 接收 Email Log 並寫入 Elasticsearch 時有蠻多心得可以分享的，大家都知道 AWS lambda 是用執行時間算錢的，所以在撰寫 AWS Lambda 時我可說是分秒必爭，看到執行超過 0.5 秒就各種吐血，所以從最開始的 .index 一筆一筆插入資料到 Elasticsearch，到後來用 streaming_bulk 處理，最後受不了用 parallel_bulk 混合 streaming_bulk 操作，以下就來聊聊這幾種方式的差異以及地雷吧！&lt;/p&gt;</description></item><item><title>Python Convert String to Boolean</title><link>https://coder.tw/posts/python-convert-string-to-boolean/</link><pubDate>Thu, 08 Dec 2016 00:18:21 +0000</pubDate><guid>https://coder.tw/posts/python-convert-string-to-boolean/</guid><description>&lt;p&gt;今天在撰寫 AWS Lambda 時因為從環境變數讀取設定的關係，需要把字串轉成布林來做判斷，一般的想法不外乎 Python 會幫你轉換，或是用 bool(&amp;ldquo;True&amp;rdquo;) 轉換就可以，首先其實 Python 是不會幫你轉換的，這點很重要！ Python 在形態方面其實是不會做自動轉換的，他只會很阿莎力的報錯，不過大家肯定想說用 bool() 轉換就沒問題了吧！？ 事實上，這個地雷害我今天搞了半小時才解決&amp;hellip;&lt;/p&gt;</description></item><item><title>How to use Python GroupBy Data (List+Dict)</title><link>https://coder.tw/posts/how-to-use-python-groupby-data-listdict/</link><pubDate>Wed, 07 Dec 2016 01:13:27 +0000</pubDate><guid>https://coder.tw/posts/how-to-use-python-groupby-data-listdict/</guid><description>&lt;p&gt;用 Python 處理資料時，對資料的某個 Key 進行 GroupBy 是很常見的需求，例如分析 Email Log 時，想知道某個標題的發送統計數，或是列出每個標題的 Email Provider 前五名之類，就會需要對標題進行 GroupBy 的動作，在資料庫裡這是十分簡單的事情，但如果你不想丟資料庫的話呢？&lt;/p&gt;
&lt;p&gt;除了 Pandas 這套超強的資料處理函式庫可以幫你之外，其實 Python 本身也有 GroupBy 可以使用哦！&lt;/p&gt;</description></item><item><title>Tips for Upload Large File to Google Cloud Storage</title><link>https://coder.tw/posts/tips-for-upload-large-file-to-google-cloud-storage/</link><pubDate>Sun, 04 Dec 2016 10:00:49 +0000</pubDate><guid>https://coder.tw/posts/tips-for-upload-large-file-to-google-cloud-storage/</guid><description>&lt;p&gt;因為我有定期備份資料的習慣，會把 Google、Facebook、Evernote、相簿等等資料都定期備份到 Google Cloud Storage 上面，每次用瀏覽器上傳都會很煩惱上傳速度慢的問題，而且如果網路斷線還要重新傳送那 10 GB 的大檔案，後來研究了官方文件，找到一些關於上傳大檔案到 Google Cloud Storage 時很好用的小技巧分享給大家。&lt;/p&gt;
&lt;p&gt;包含：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如何讓 GCP Storage 幫你驗證檔案的 MD5 Checksum&lt;/li&gt;
&lt;li&gt;如何啟動續傳功能，斷線沒關係可以繼續傳送&lt;/li&gt;
&lt;li&gt;如何透過平行化傳輸把上傳速率榨到極限&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Enable Cross-Origin Resource Sharing (CORS) for Phaser.js</title><link>https://coder.tw/posts/enable-cross-origin-resource-sharing-cors-for-phaser-js/</link><pubDate>Fri, 02 Dec 2016 14:01:31 +0000</pubDate><guid>https://coder.tw/posts/enable-cross-origin-resource-sharing-cors-for-phaser-js/</guid><description>&lt;p&gt;當你用 Phaser JS 載入不同網域的資源、素材時，就會遇到瀏覽器同源政策的阻擋，並冒出一堆錯誤訊息，例如：&lt;/p&gt;
&lt;blockquote&gt;XMLHttpRequest cannot load http://s.ntustcoding.club/scroll-game-workshop/map.json. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://s.codepen.io' is therefore not allowed access.&lt;/blockquote&gt;
實際上，Phaser 本身是有支援 跨來源資源共享 CORS 的，只要透過一行簡單的語法就可以解決囉，當然前提是你所使用的網路空間也有支援 CORS 才行。</description></item><item><title>Set Cross-Origin Resource Sharing (CORS) Enable on Google Cloud Storage</title><link>https://coder.tw/posts/set-cross-origin-resource-sharing-cors-enable-on-google-cloud-storage/</link><pubDate>Fri, 02 Dec 2016 13:50:59 +0000</pubDate><guid>https://coder.tw/posts/set-cross-origin-resource-sharing-cors-enable-on-google-cloud-storage/</guid><description>&lt;p&gt;最近因為社課教大家用 Phaser 開發小遊戲，有許多素材需要讓學員在 Codepen 上使用，所以需要一個支援 CORS 的網路空間來放置素材，腦筋動著動著就想到便宜大碗又可以綁定自己 Domain 的 Google Cloud Storage 去啦！&lt;/p&gt;
&lt;p&gt;其實 Google Cloud Storage 預設是不支援 Cross-Origin Resource Sharing (CORS) 的，但只要透過 gsutil （Google Cloud Storage Cli Tool） 就可以幫指定的 Bucket 啟用 CORS 功能！&lt;/p&gt;</description></item><item><title>Facebook Graph API 部分用戶無法取得 Email 欄位的解決方法</title><link>https://coder.tw/posts/facebook-graph-api-missing-email-fix/</link><pubDate>Fri, 02 Dec 2016 12:18:56 +0000</pubDate><guid>https://coder.tw/posts/facebook-graph-api-missing-email-fix/</guid><description>&lt;p&gt;最近遇到一個很有趣的小問題，我們開發的一個競賽投票系統遇到零星使用者無法投票的問題，該系統以 Laravel 開發，讓使用者可以透過 Facebook 登入後，投票給指定的作品，每日一票，只取得最基本的 Email、Name 資料以供抽獎用，在測試時一切安好沒問題，可是上線後卻有零星的使用者抱怨投票完顯示錯誤訊息「whoops looks like something went wrong」而大部分使用者是可以正常投票的。&lt;/p&gt;</description></item><item><title>Unity 3D開啟時出現Eorror loading page couldn&amp;#039;t read a file ://file</title><link>https://coder.tw/posts/unity-3d-error-loading-page-fix/</link><pubDate>Sun, 26 Jan 2014 17:53:14 +0000</pubDate><guid>https://coder.tw/posts/unity-3d-error-loading-page-fix/</guid><description>&lt;p&gt;有些朋友在安裝Unity時一切正常，但打開時卻遇到「Eorror loading page couldn&amp;rsquo;t read a file ://file」這項錯誤訊息，會遇到此錯誤我猜測是因為用戶名稱有中文字，導致Unity在第一次執行時要載入認證金鑰卻遇到問題，此問題其實很好解決，只要手動將驗證金鑰傳入Unity即可，大家可以參考下面的教學來操作&lt;/p&gt;</description></item><item><title>SASS基本使用教學：變數、函式、繼承、巢狀撰寫</title><link>https://coder.tw/posts/sass-basic-tutorial-variables-nesting/</link><pubDate>Tue, 07 Feb 2012 23:14:55 +0000</pubDate><guid>https://coder.tw/posts/sass-basic-tutorial-variables-nesting/</guid><description>&lt;p&gt;在前一篇文章&lt;a href="https://coder.tw/?p=859" target="_blank"&gt;《當CSS遇上變數、函式，就變成SASS啦～ SASS安裝教學》&lt;/a&gt;有教到要如何安裝SASS，而在這篇文章中，則是要教大家如何使用SASS ，這篇文章會提到SASS裡面的四個特色：變數（Variables）、函式（Mixin）、繼承（extend）、巢狀撰寫（Nesting）&lt;/p&gt;</description></item><item><title>當CSS遇上變數、函式，就變成SASS啦～ SASS安裝教學</title><link>https://coder.tw/posts/sass-install-tutorial-variables-functions/</link><pubDate>Tue, 07 Feb 2012 21:31:00 +0000</pubDate><guid>https://coder.tw/posts/sass-install-tutorial-variables-functions/</guid><description>&lt;p&gt;同時會寫程式跟CSS的人應該都會有一種想法，就是想要讓CSS裡面可以使用變數、函式這些寫程式才有的東西，因為很多CSS語法其實是重複的，如果可以有變數，有函式，那撰寫CSS的速度就會變快很多，一般來講這夢想是不可能實現的&amp;hellip; 不過今天要跟大家介紹一個新的玩具，他叫做SASS，透過SASS，你可以讓CSS變得很不一樣～&lt;/p&gt;</description></item><item><title>Mongodb 文件式的NoSQL系統 ＆ Windows、Linux安裝教學</title><link>https://coder.tw/posts/mongodb-nosql-install-windows-linux/</link><pubDate>Tue, 24 Jan 2012 14:26:45 +0000</pubDate><guid>https://coder.tw/posts/mongodb-nosql-install-windows-linux/</guid><description>&lt;p&gt;前一陣子因為Ben大的指導，所以踏進了我一直很有興趣可是都沒有實際常試過的NoSQL世界，而我接觸到的第一個NoSQL System（也是目前唯一會的）就是Mongodb，原本看了很多介紹NoSQL的文章，我還以為NoSQL跟一般的SQL差很多，實際接觸Mongodb之後才發現其實兩者很像，只是在原理上有點不同，還有效能更好，不過鄉對應的，有些SQL可以做到的事情，NoSQL就不能達到，這部份就要看大家的取捨、需求，NoSQL的部份不是這篇文章要講的，這篇文章要講的是介紹Mongodb還有教大家怎麼安裝在Windows上面&lt;/p&gt;</description></item><item><title>如何在Mongodb裡面建立資料庫、資料表？</title><link>https://coder.tw/posts/mongodb-create-database-collection/</link><pubDate>Mon, 23 Jan 2012 18:38:22 +0000</pubDate><guid>https://coder.tw/posts/mongodb-create-database-collection/</guid><description>&lt;p&gt;之前在玩Mongodb時，在他官方的文件裡面找了很久都找不到關於如何建立資料庫、資料表的語法。一般來講在SQL裡面，都是要預先建立好資料表的，也會有相關的指令，例如Create Table、Create Database，然而我在Mongodb裡面完全找不到相關指令，後來上網找了一下資料才知道原來這就是他的特色之一：Schema Free&lt;/p&gt;</description></item><item><title>解決Code::blocks中文亂碼的問題</title><link>https://coder.tw/posts/fix-codeblocks-chinese-encoding/</link><pubDate>Sat, 03 Sep 2011 11:03:57 +0000</pubDate><guid>https://coder.tw/posts/fix-codeblocks-chinese-encoding/</guid><description>&lt;p&gt;Code::blocks是我個人喜歡使用的一個C/C++ IDE，但是之前一直有遇到一個問題，就是使用Code::blocks時完全不能使用中文，包含字串不能有中文，連註解也不能有中文，原本想說這是他本身的Bug，後來網友提醒才知道原來是預設編碼的問題！&lt;/p&gt;</description></item><item><title>【C++】使用STL內建的sort()函式做到排序功能！</title><link>https://coder.tw/posts/c-stl-sort-function/</link><pubDate>Thu, 25 Aug 2011 10:30:09 +0000</pubDate><guid>https://coder.tw/posts/c-stl-sort-function/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-25_102642.jpg"&gt;&lt;img class="alignnone size-large wp-image-724" title="2011-08-25_102642" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-25_102642-540x352.jpg" alt="" width="540" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;排序這門課是所有學程式的人都必修的東西，因為很多資料的處理都需要用到他，很多程式語言也都把排序的函式放到程式語言的內部，讓開發者可以很方便的使用，但我想應該很少人知道，其實C++也有內建排序函式吧！&lt;/p&gt;</description></item><item><title>Zen Coding 幫助你快速開發網站的好東西，喜歡手寫網頁的人必備～</title><link>https://coder.tw/posts/zen-coding-fast-web-development/</link><pubDate>Mon, 22 Aug 2011 21:40:44 +0000</pubDate><guid>https://coder.tw/posts/zen-coding-fast-web-development/</guid><description>&lt;p&gt;我想應該很多人都跟我一樣，寫網頁時不喜歡用DW直接拉介面，而是喜歡開啟Notepad直接撰寫HTML吧～ 這種方法的好處是可以磨練自己XD 但是壞處卻是開發速度有點慢（其實習慣這種方式之後速度比DW還要快&amp;hellip;XD） 今天要跟大家介紹Zen Coding，他可以讓你的寫網頁速度加快N倍！你可以直接用CSS語句的方式寫網頁～&lt;/p&gt;</description></item><item><title>【PHP】透過glob、scandir、readdir取得資料夾內的檔案列表</title><link>https://coder.tw/posts/php-glob-scandir-readdir-list-files/</link><pubDate>Wed, 17 Aug 2011 17:27:32 +0000</pubDate><guid>https://coder.tw/posts/php-glob-scandir-readdir-list-files/</guid><description>&lt;p&gt;有時候會需要寫PHP程式去取得指定資料夾內的檔案列表，例如在做網路硬碟程式時舊需要這種功能，這裡要跟大家介紹三個函式都可以做到這種功能，只是使用上不太一樣，這三個函式分別是glob、scandir、readdir&lt;/p&gt;</description></item><item><title>使用Visual Studio，然後設計出來的介面跟編譯後的介面不一樣嘛？</title><link>https://coder.tw/posts/visual-studio-ui-mismatch-after-compile/</link><pubDate>Wed, 10 Aug 2011 17:46:36 +0000</pubDate><guid>https://coder.tw/posts/visual-studio-ui-mismatch-after-compile/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-02_200036.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="2011-08-02_200036" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-02_200036_thumb.jpg" alt="2011-08-02_200036" width="520" height="319" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;這是小弟最近寫程式時遇到的問題，如果你也是用Visual Studio開發程式，而且剛好你也遇到類似問題，也就是「VS上的介面設計」跟「執行出來的結果」不一樣，那就建議妳來看一下我的解決方法，很蝦，可是很有效XD&lt;/p&gt;</description></item><item><title>修改PHP的執行時間上限，避免程式執行過久被終止</title><link>https://coder.tw/posts/php-max-execution-time-limit/</link><pubDate>Tue, 09 Aug 2011 15:04:03 +0000</pubDate><guid>https://coder.tw/posts/php-max-execution-time-limit/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-09_150333.jpg"&gt;&lt;img class="alignnone size-large wp-image-678" title="2011-08-09_150333" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-09_150333-540x423.jpg" alt="" width="540" height="423" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在PHP裡面預設有30秒的執行上限，當你寫的程式執行超過30秒時就會出現「&lt;strong&gt;Fatal error&lt;/strong&gt;: Maximum execution time of 30 seconds exceeded」這樣的錯誤訊息，這是為了避免你寫的程式裡面有錯，寫了一些無窮迴圈或奇怪的東西，最後導致系統爆掉的一個設計，不過有時候你寫的程式可能就需要執行到超過30秒，例如你現在要用PHP處理一個很大的檔案，例如資料庫的備份檔有時候上百MB，用PHP執行要很久，就可能不小心超過30秒，還有像我之前寫Plurk BOT、蜘蛛程式等等，也很容易超過30秒，以下要教大家兩種方式去調整這項時間上限&lt;/p&gt;</description></item><item><title>在PHP裡面如何做到基本的SQL injection防禦？</title><link>https://coder.tw/posts/php-basic-sql-injection-defense/</link><pubDate>Tue, 02 Aug 2011 07:00:27 +0000</pubDate><guid>https://coder.tw/posts/php-basic-sql-injection-defense/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-01_222010.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: block; margin-left: auto; margin-right: auto; padding-top: 0px; border-width: 0px; border-color: initial; border-style: initial;" title="2011-08-01_222010" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/08/2011-08-01_222010_thumb.jpg" alt="2011-08-01_222010" width="524" height="401" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最近幾天因為寫了一個聯絡人整理的小程式，所以研究了蠻多東西，其中在處理資料庫的部份為了避免所謂的SQL injection，也就是會在你的參數裡面放入惡意字串，用來攻擊你的資料庫，所以使用了一些基本的防禦，而以下要介紹的就是如何對SQL injection做一些基本防禦～&lt;/p&gt;</description></item><item><title>如何直接在PHP字串（SQL Query）中夾帶陣列、$_POST、$_GET</title><link>https://coder.tw/posts/php-embed-array-post-get-in-sql-string/</link><pubDate>Mon, 01 Aug 2011 14:23:03 +0000</pubDate><guid>https://coder.tw/posts/php-embed-array-post-get-in-sql-string/</guid><description>&lt;p&gt;最近幾天在寫一個小程式的時候遇到一個問題，就是我想要直接在我的SQL查詢語句裡面夾帶$_POST變數，不想要用串接運算子來做串接，可是因為引號的問題所以讓我搞了很久才會用，這裡簡單的介紹一下，並且我要感謝Bu跟蒼時弦教會我這個方法！如果不是他們我可能還不知道這個方式，另外這個方式不只可以用在$_POST，也可以用在其他陣列&lt;/p&gt;</description></item><item><title>如何在VB.Net裡面計算MD5碼？ （System.Security.Cryptography）</title><link>https://coder.tw/posts/vb-net-md5-system-security-cryptography/</link><pubDate>Tue, 26 Jul 2011 12:17:23 +0000</pubDate><guid>https://coder.tw/posts/vb-net-md5-system-security-cryptography/</guid><description>&lt;p&gt;最近因為寫了一個密碼產生器，剛好需要用到md5運算，平常在PHP時都是直接用md5()就可以取得MD5碼了，可是VB我沒有實際嘗試去用過MD5碼，原本還在擔心.NET裡面會不會沒有MD5的資源，這樣子就必須要自己來寫&amp;hellip;.Orz，幸好去查了一下MSDN的結果是有的～ 只是過程稍微負責了點，不過也幸好MSDN有提供一個getMD5hash的function，所以我就直接引用啦&lt;/p&gt;</description></item><item><title>帕斯卡（巴斯卡）三角形公式解！（感謝滄海）</title><link>https://coder.tw/posts/pascal-triangle-formula-solution/</link><pubDate>Sun, 24 Jul 2011 08:25:37 +0000</pubDate><guid>https://coder.tw/posts/pascal-triangle-formula-solution/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/210px-PascalTriangleAnimated2.gif"&gt;&lt;img title="210px-PascalTriangleAnimated2" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/210px-PascalTriangleAnimated2.gif" alt="" width="210" height="194" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;上圖引用自維基，用以解釋帕斯卡三角形&lt;/p&gt;
&lt;p&gt;今天要講的是所謂的帕斯卡三角形，也有人稱它楊輝三角形、賈憲三角形，他的第一行、第一個字是「1」，在下來的數字等於「左上、右上相加」，如果左上或右上沒有數字則等於0，例如第二行的數字有兩個「1、1」，再來第三行等於「1、2、1」，並且這個三角形可以無限延伸下去&lt;/p&gt;</description></item><item><title>透過Gettext for PHP快速做出多國語系程式</title><link>https://coder.tw/posts/php-gettext-multilanguage-program/</link><pubDate>Mon, 18 Jul 2011 22:47:40 +0000</pubDate><guid>https://coder.tw/posts/php-gettext-multilanguage-program/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/2011-07-18_224707.jpg"&gt;&lt;img class="alignnone size-large wp-image-555" title="2011-07-18_224707" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/2011-07-18_224707-540x378.jpg" alt="" width="540" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Gettext是由GNU所推出的一個&amp;hellip; 嗯，我也不知道該怎形容他，類似規範吧，可是也算是一組library，反正就是可以讓你很方便的幫你的程式作多國語系的東西啦～ 而這篇文章要講的就是如何把Gettext用在PHP上面，開發多國語系的程式、網站&lt;/p&gt;</description></item><item><title>1A2B程式碼、詳解</title><link>https://coder.tw/posts/1a2b-code-explained/</link><pubDate>Fri, 08 Jul 2011 18:00:28 +0000</pubDate><guid>https://coder.tw/posts/1a2b-code-explained/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/2011-07-08_175731.jpg"&gt;&lt;img class="alignnone size-large wp-image-550" title="2011-07-08_175731" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/07/2011-07-08_175731-540x352.jpg" alt="" width="540" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;這是之前老師上課時出的作業，就是設計一個1A2B的遊戲，其實在上這堂課之前我一直以為1A2B很難寫，等到這堂課上完才知道，不是很難寫，是我這傢伙太宅了，根本不知道1A2B的規則是啥&amp;hellip;.&lt;/p&gt;</description></item><item><title>洗牌演算法（交換法）</title><link>https://coder.tw/posts/shuffle-algorithm-swap-method/</link><pubDate>Sun, 05 Jun 2011 01:00:07 +0000</pubDate><guid>https://coder.tw/posts/shuffle-algorithm-swap-method/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/06/2011-06-05_005920.jpg"&gt;&lt;img class="size-large wp-image-534 aligncenter" title="2011-06-05_005920" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/06/2011-06-05_005920-540x352.jpg" alt="" width="540" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;洗牌演算法就是可以產生不重複的亂數的一種演算法，舉例來講如果要產生十個亂數，並且這十個亂數必須是「不重複」的，那很多人的直覺是用rand函式取得一個亂數值以後，存入陣列，並且跟陣列內以有的數字做比對，這種方法簡單是簡單，但是效能很差，而這裡要介紹的洗牌演算法效能跟剛剛講的方法可說是天差地遠，洗牌演算法的原理其實很簡單，就是先在陣列裡存入數字，然後將數字打散&lt;/p&gt;</description></item><item><title>我該選擇一個怎樣的開發環境？Notepad？Visual Studio？</title><link>https://coder.tw/posts/my-development-environment-notepad-vs-visual-studio/</link><pubDate>Mon, 23 May 2011 09:57:32 +0000</pubDate><guid>https://coder.tw/posts/my-development-environment-notepad-vs-visual-studio/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-23_095426.jpg"&gt;&lt;img class="size-full wp-image-491 aligncenter" title="2011-05-23_095426" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-23_095426.jpg" alt="" width="300" height="257" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;很多人在剛開始學習程式語言時可能都會有一個疑問，那就是我該選擇一個怎麼樣的開發環境？是要使用最簡單的Notepad來做開發呢？還是選擇功能強大的Visual Studio呢？ 其實這是要看你的狀況來決定，沒有一個標準的答案&lt;/p&gt;</description></item><item><title>wxDevC++ - Dev C++的愛好者一定要知道的C++ IDE</title><link>https://coder.tw/posts/wxdevc-c-ide-for-devc-lovers/</link><pubDate>Wed, 18 May 2011 00:22:47 +0000</pubDate><guid>https://coder.tw/posts/wxdevc-c-ide-for-devc-lovers/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-18_000748.jpg"&gt;&lt;img class="size-full wp-image-479 aligncenter" title="2011-05-18_000748" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-18_000748.jpg" alt="" width="471" height="292" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;很多學習C++的人其實都是從Dev C++開始的，因為VC++對一般初新者而言方便是方便，但無法學習到標準的C語言（ANSI C），原因就是VC裡面有太多的函式是屬於.NET的，如果改用其他編譯器去編譯的話就會出問題，因此一般新手都是用Dev C++或是Code::Blocks，但非常可惜的就是說Dev C++其實已經好幾年沒有更新，很多新型的功能他也都不支援了，然後Code::Blocks的缺點則是說對中文支援度差，程式碼裡面有中文就會出問題，包括註解也不能用中文，而在這裡要推薦的wxDev C++其實就是一套延續Dev C++特性，但卻又多了一些新功能，不像Dev C++問題多多&amp;hellip;. 所以你如果用習慣Dev C++的話建議妳可以來用wxDev C++，因為他跟Dev C++幾乎一樣！至於我就繼續用我的Code::blocks吧～&lt;/p&gt;
&lt;h2&gt;</description></item><item><title>讓Python安裝模組變得更簡單～ easy_install使用教學+egg檔安裝教學</title><link>https://coder.tw/posts/python-easy-install-tutorial/</link><pubDate>Sun, 01 May 2011 16:50:04 +0000</pubDate><guid>https://coder.tw/posts/python-easy-install-tutorial/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-01_170827.jpg"&gt;&lt;img class="aligncenter" title="2011-05-01_170827" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/05/2011-05-01_170827-540x352.jpg" alt="" width="540" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;大家都知道Python這套程式語言的特點就是它的擴充性極高，可以安裝一些第三方的模組來達到你想要的功能，例如你想要使用「中文」來寫程式的話可以安裝zhpy這個模組，但是安裝這些模組說難也還好，就是很麻煩，有些可能只要按下一步就好了，有些可能還要去調整系統的設定，在這裡要介紹一個程式叫做「easy_install」，它可以讓你的Pythonm樣安裝模組時變得很簡單，用法跟Linux的yum其實很類似，有了他你只需要一行指令就可以安裝好模組啦～ 另外easy_install還有一個功能就是可以幫你安裝所謂的egg格式&lt;/p&gt;
&lt;h2&gt;</description></item><item><title>Use the ClientLogin 取得存取Google Account帳戶的權限</title><link>https://coder.tw/posts/use-clientlogin-google-account/</link><pubDate>Sat, 30 Apr 2011 20:49:46 +0000</pubDate><guid>https://coder.tw/posts/use-clientlogin-google-account/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-30_200036.jpg"&gt;&lt;img class="size-full wp-image-435 aligncenter" title="2011-04-30_200036" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-30_200036.jpg" alt="" width="507" height="453" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Google有提供很多的API方便妳去存取他們的服務，例如Google Contacts API就需要先取得權限才能使用，而在這篇文章中要教的ClientLogin是我個人覺得最簡單的一種取得權限方式，它的運作原理很簡單，就是透過http傳送帳號、密碼給Google，然後Google就會送回一串資料，其中就包含了授權碼，透過授權碼妳就可以去存取Google的各項服務（例如聯絡人、日曆、筆記本等等）&lt;/p&gt;</description></item><item><title>【jQuery】Lazyload - 延遲圖片載入</title><link>https://coder.tw/posts/jquery-lazyload/</link><pubDate>Wed, 27 Apr 2011 19:15:30 +0000</pubDate><guid>https://coder.tw/posts/jquery-lazyload/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-27_191427.jpg"&gt;&lt;img class="size-large wp-image-429 aligncenter" title="2011-04-27_191427" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-27_191427-540x481.jpg" alt="" width="540" height="481" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在攝影類的網站通常會放很多的圖片，當訪客瀏覽這類網站時就要開啟蠻久的，因為要載入很多的照片，這對於網站主機的流量影響蠻大的，而且會造成訪客瀏覽時的CPU Time增加很多，在這裡要介紹一套叫做Lazyload的jQuery插件，它可以延遲圖片的載入，也就是說當你進入到一個網站時，並不會一次載入所有的圖片，而是只載入一部分的圖，當你拉動瀏覽器的捲軸時，它會載入「你正在看的區塊的圖片」，所以網頁的載入速度就會變得比較快&lt;/p&gt;</description></item><item><title>【CSS 3】透過transform: rotate做出圖片、網頁傾斜的效果</title><link>https://coder.tw/posts/css3-transform-rotate/</link><pubDate>Sat, 23 Apr 2011 09:22:08 +0000</pubDate><guid>https://coder.tw/posts/css3-transform-rotate/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-23_085636.jpg"&gt;&lt;img class="size-large wp-image-422 aligncenter" title="2011-04-23_085636" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-23_085636-540x386.jpg" alt="" width="540" height="386" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;之前新聞曾報導，在手機版的Google網頁裡面搜尋「傾斜」的話，得到的網頁會往右邊斜，這其實並不是很難做出來的效果，只要使用一行CSS語法就可以達到了，因為他已經是CSS 3的標準之一囉～ 目前來講這個傾斜的CSS 3語法IE系列還不支援(包含IE 9)，另外就是說使用的時候不是一行就能，而是要分成很多行，因為每種瀏覽器對應的語法都不太相同，這點應該在日後會改善&lt;/p&gt;</description></item><item><title>如何把十進位數字轉換成二進位？</title><link>https://coder.tw/posts/decimal-to-binary-conversion/</link><pubDate>Sat, 16 Apr 2011 19:38:38 +0000</pubDate><guid>https://coder.tw/posts/decimal-to-binary-conversion/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-16_185412.jpg"&gt;&lt;img title="2011-04-16_185412" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-16_185412.jpg" alt="" width="205" height="237" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;del&gt;我估計寫完這文章之後又有人要說我寫的文章太簡單了...&lt;/del&gt; 廢話不多說，這週程式課我們老師給我們班出了一道題目，內容就是要如何把十進位轉換成二進位，如果是用數學來算的話其實不難，用短除法去算，然後取餘數就可以了&lt;/p&gt;
&lt;p&gt;</description></item><item><title>【CSS 3】純粹使用CSS就可以讓你的網站擁有圓角效果！</title><link>https://coder.tw/posts/css3-border-radius/</link><pubDate>Sat, 16 Apr 2011 11:32:53 +0000</pubDate><guid>https://coder.tw/posts/css3-border-radius/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-16_111212.jpg"&gt;&lt;img class="size-large wp-image-395 aligncenter" title="2011-04-16_111212" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-16_111212-540x314.jpg" alt="" width="540" height="314" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在CSS 2的時代，我們如果要讓圖片、div標籤擁有圓角效果其實是蠻麻煩的，簡單點的用法是套用jQuery裡面別人幫你寫好的Function，如果喜歡自己搞的話，就必須要設計圓角圖，然後讓圓角圖去重疊，反正就是很複雜就對了，但是在CSS 3裡面，你不在需要用那麼麻煩的東西，直接在CSS語法裡面設定就可以了！&lt;/p&gt;</description></item><item><title>透過jQuery.qrcode直接在瀏覽器產生QR Code</title><link>https://coder.tw/posts/jquery-qrcode-in-browser/</link><pubDate>Fri, 08 Apr 2011 15:42:44 +0000</pubDate><guid>https://coder.tw/posts/jquery-qrcode-in-browser/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-08_153812.jpg"&gt;&lt;img class="size-large wp-image-389 aligncenter" title="2011-04-08_153812" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/04/2011-04-08_153812-540x357.jpg" alt="" width="540" height="357" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;要繪製QR-Code有很多種方法，可以自己寫函式去繪製，也可以使用別人提供的API來繪製，例如使用Google Chat API來產生QR Code就是用API的方法，而在這篇文章要講的jquery.qrcode則是使用別人撰寫好的函式來產生條碼，原本我搞不清楚jquery.qrcode與Google Chat API的差別，後來才知道Google Chat API是將資料送到Google的伺服器上產生，而jquery.qrcode則是直接由瀏覽器來進行匯製&lt;/p&gt;</description></item><item><title>三角形產生：左上、左下、右上、右下</title><link>https://coder.tw/posts/loop-practice-print-triangle/</link><pubDate>Mon, 21 Mar 2011 02:46:28 +0000</pubDate><guid>https://coder.tw/posts/loop-practice-print-triangle/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/03/2011-03-21_024015.jpg"&gt;&lt;img class="size-large wp-image-379 aligncenter" title="2011-03-21_024015" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/03/2011-03-21_024015-540x492.jpg" alt="" width="540" height="492" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;這是我們程式老師上課時教迴圈時舉的一些例子，我是覺得題目本身不難，但是很適合拿來做迴圈的練習，訓練自己的反應速度，還有就是我現在寫VB的程度退化好多... 所以附上C++程式碼給大家看，自己研究吧～&lt;/p&gt;
&lt;p&gt;</description></item><item><title>【C++】如何進行次方與根號運算?(sqrt、pow)</title><link>https://coder.tw/posts/c-power-and-square-root-sqrt-pow/</link><pubDate>Fri, 18 Mar 2011 15:05:05 +0000</pubDate><guid>https://coder.tw/posts/c-power-and-square-root-sqrt-pow/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/03/2011-03-18_151805.jpg"&gt;&lt;img class="alignnone size-large wp-image-367" title="2011-03-18_151805" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/03/2011-03-18_151805-540x380.jpg" alt="" width="540" height="380" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在一些程式語言裡面，要進行次方運算是可以直接用^運算子來達到的，但是之前在寫題目時才發現原來C++裡面要做次方運算必須要使用pow函式才能達到，在這篇文章裡要介紹兩個函式，一個是pow，它可以幫你做次方運算，另一個就是sqrt，它可以幫你做根更號的工作&lt;/p&gt;</description></item><item><title>【C++】數字翻轉、字串翻轉(應用：轉型別、字串處理、迴圈)</title><link>https://coder.tw/posts/c-reverse-number-and-string/</link><pubDate>Sun, 06 Mar 2011 11:18:22 +0000</pubDate><guid>https://coder.tw/posts/c-reverse-number-and-string/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/03/2011-03-06_111510.jpg"&gt;&lt;img class="size-large wp-image-342 aligncenter" title="2011-03-06_111510" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/03/2011-03-06_111510-540x382.jpg" alt="" width="540" height="382" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;這算是蠻簡單的題目，就只是做數字or字串的翻轉，例如輸入：linroex會輸出：xeornil或是輸入123會傳回321，這題解法並不難，透過C++裡面字串可以用陣列的方式存取這個特性，我們設定一個迴圈，然後取得輸入字串的長度作為迴圈的結束值，接者當迴圈跑一圈時就把X字串最後一個字移到Y字串第一個字，這樣當迴圈跑完時就翻轉完成了&lt;/p&gt;
&lt;p&gt;</description></item><item><title>如何判斷瀏覽器是IE並套用相應的程式碼？ (If IE技巧)</title><link>https://coder.tw/posts/detect-ie-browser-if-ie-technique/</link><pubDate>Mon, 28 Feb 2011 13:54:10 +0000</pubDate><guid>https://coder.tw/posts/detect-ie-browser-if-ie-technique/</guid><description>&lt;p&gt;如果你是一個網頁設計師，那當你在設計網頁時最討厭的一件事一定是：瀏覽器相容性，每一種瀏覽器對於CSS、JavaScript的支援都不一樣，往往你的CSS語法用Cgrome瀏覽器看的時候很正常，可是換成Firefox卻會有不同效果出現，而這種情況又以IE最常發生，因為IE對於CSS、JavaScript的支援度最差，別的瀏覽器可能是效果不同，IE卻有可能是沒有效果… 所以這篇文章就是要教大家如何去針對IE瀏覽器或非IE瀏覽器套用特定的程式碼、CSS語法&lt;/p&gt;</description></item><item><title>【Google API】透過Google Chart API產生QR-Code，附PHP範例程式碼</title><link>https://coder.tw/posts/google-chart-api-qr-code-php/</link><pubDate>Thu, 24 Feb 2011 23:25:20 +0000</pubDate><guid>https://coder.tw/posts/google-chart-api-qr-code-php/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-24_230500.jpg"&gt;&lt;img class="size-large wp-image-328 aligncenter" title="2011-02-24_230500" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-24_230500-540x396.jpg" alt="" width="540" height="396" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;在這篇文章中我們會教大家如何使用Google Chart API來製作QR-Code，也就是當下很流行的二維條碼，本來你如果要產生二維條碼是很麻煩的，但是現在有了Google Chart API你可以用一段網址就快速產生出QR-Code，其實我原本是打算寫一篇文章專門講Google Chart API的，但是後來想想還是拆開來好了～（還有就是剛好看到&lt;a href="http://www.dotblogs.com.tw/shadow/archive/2011/02/24/21557.aspx" target="_blank"&gt;Shadow的技術資料庫&lt;/a&gt;這個網站在介紹他，就忍不住寫了～）&lt;/p&gt;</description></item><item><title>【Python】踏入Python世界的第一步：HelloWorld(輸出文字與註解的寫法)</title><link>https://coder.tw/posts/python-hello-world-first-step/</link><pubDate>Sun, 20 Feb 2011 09:00:54 +0000</pubDate><guid>https://coder.tw/posts/python-hello-world-first-step/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-18_231056.jpg"&gt;&lt;img class="size-large wp-image-315 aligncenter" title="2011-02-18_231056" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-18_231056-540x393.jpg" alt="" width="540" height="393" /&gt;&lt;/a&gt;&lt;/p&gt;
幾乎所有教程式語言的書籍，他的第一個練習程式都是HelloWorld，所謂的HelloWorld就是要讓程式輸出「HelloWorld」，而在這篇文章裡面我們會教大家寫出第一個Python的程式，並且簡單講解Python的一些用法</description></item><item><title>【Python】Python直譯器安裝教學</title><link>https://coder.tw/posts/python-interpreter-install-tutorial/</link><pubDate>Fri, 18 Feb 2011 22:01:26 +0000</pubDate><guid>https://coder.tw/posts/python-interpreter-install-tutorial/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-15_214318.jpg"&gt;&lt;img class="size-full wp-image-274 aligncenter" title="2011-02-15_214318" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-15_214318.jpg" alt="" width="511" height="297" /&gt;&lt;/a&gt;&lt;/p&gt;
最近因為在玩Google Storage的關係，所以就把我塵封已久的Python書拿出來看了一下，順便搭配Google Code上的說明文件，寫了一個自動備份的小程式，目前這程式還很簡單所以先不公布出來，不過寫了這個小程式之後才讓我發現Python是一個蠻簡單的程式語言，在入手的難易度還有嚴謹度上面跟VB不相上下，但是在囉嗦程度上面Python卻贏過VB（我是說VB比較囉嗦的意思XD），例如在VB裡面的判斷式要寫成if.....then.......end if，可是在Python只要if....:就完成了，還有在Python裡面縮排很重要，沒縮排好就會導致程式無法執行，因為他的編譯器是利用縮排來判斷你的選擇結構、迴圈這些東西是否執行完畢，我個人還蠻建議新手來學Python的說，可以讓你寫出很漂亮的程式碼～</description></item><item><title>你的程式需要用到系統管理員身分執行嘛？ 讓.net程式預設使用系統管理員執行～</title><link>https://coder.tw/posts/net-program-run-as-administrator-2/</link><pubDate>Wed, 16 Feb 2011 00:03:57 +0000</pubDate><guid>https://coder.tw/posts/net-program-run-as-administrator-2/</guid><description>&lt;p&gt;有的時候你在使用Visual Studio開發程式時，可能會遇到一種情況就是你的程式會使用到系統管理員權限，例如要存取系統資料夾，或是可能要使用某些叫高層級的WinAPI，使用到系統管理員權限在Windows XP上其實都沒有關係，但如果你的程式想在Windows 7/Vista上執行的話，就必須要賦予此程式系統管理員的權限，否則程式就會執行到一半出問題，一般來講你可以請使用者在執行程式時按右鍵，選擇【以系統管理員身分執行】，但是這樣感覺很怪，還要使用者自己去設定，其實還有另一個方法可以讓你的程式預設就是使用系統管理員身分執行，不需要使用者在去設定&lt;/p&gt;</description></item><item><title>【PHP】【C++】簡潔的強制顯式轉型別語法</title><link>https://coder.tw/posts/php-c-explicit-type-cast/</link><pubDate>Tue, 15 Feb 2011 22:57:49 +0000</pubDate><guid>https://coder.tw/posts/php-c-explicit-type-cast/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-15_225730.jpg"&gt;&lt;img class="size-large wp-image-282 aligncenter" title="2011-02-15_225730" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-15_225730-540x352.jpg" alt="" width="540" height="352" /&gt;&lt;/a&gt;&lt;/p&gt;
在PHP跟C++裡面有一種很方便的轉型別方法，你不用去記那一大串的轉型別函式，直接使用一個括弧加上要轉的型別就可以了，不過這方式好像會有一些問題，不過這部份我也不太清楚XD</description></item><item><title>SQL注意事項 - `符號與&amp;#039;符號的差別</title><link>https://coder.tw/posts/sql-single-vs-double-quotes/</link><pubDate>Fri, 11 Feb 2011 10:43:48 +0000</pubDate><guid>https://coder.tw/posts/sql-single-vs-double-quotes/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2010-07-27_233518.jpg"&gt;&lt;img class="alignnone size-large wp-image-206" title="2010-07-27_233518" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2010-07-27_233518-540x259.jpg" alt="" width="432" height="207" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最近再用PHP來寫程式時剛好有碰到SQL的程式,所以就稍為研究一下,發現了一件新手很容易搞錯的事,那就是&lt;strong&gt;【 ` 】&lt;/strong&gt;跟&lt;strong&gt;【 &amp;rsquo; 】 &lt;/strong&gt;這兩個符號功能是不一樣的,當初因為沒搞清楚這點,然後書上字又很小,就搞了兩個小時才發現原來是這個小問題&amp;hellip;.,所以在這裡我寫了篇文章來告訴大家其實這兩個是有差的&lt;/p&gt;</description></item><item><title>Code::Blocks 10.05 - 能夠媲美Dev C++的C/C++編譯器,跨平台(Ubuntu、Windows、Mac)</title><link>https://coder.tw/posts/codeblocks-cross-platform-c-compiler/</link><pubDate>Fri, 11 Feb 2011 10:42:29 +0000</pubDate><guid>https://coder.tw/posts/codeblocks-cross-platform-c-compiler/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2010-10-28_182355.jpg"&gt;&lt;img class="alignnone size-full wp-image-191" title="2010-10-28_182355" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2010-10-28_182355.jpg" alt="" width="440" height="217" /&gt;&lt;/a&gt;&lt;/p&gt;
相信大家都知道Dev C++這套編譯器吧？ 因為很多的學校在教C語言時都是以這套編譯器做平台來教學的,例如高中的前三志願電腦課用的好像就是他,不過在這裡我們要跟各位介紹的不是Dev C++,而是&lt;strong&gt;&lt;a href="http://www.codeblocks.org/"&gt;Code::Blocks&lt;/a&gt;&lt;/strong&gt;,Code::Blocks跟Dev C++同樣都是C語言(c和c++)的編譯器,不過如果你有在注意Dev C++的版本的話你可能會發現他已經好久沒有更新了,而&lt;strong&gt;&lt;a href="http://www.codeblocks.org/"&gt;Code::Blocks&lt;/a&gt;&lt;/strong&gt;這套編譯器不但和Dev C++一樣是免費、開源,也支援Windows與Linux的多作業系統,所以想再Ubuntu裡面寫C程式的話可以試試看這套軟體
&lt;p&gt;此教學為Windows用教學&lt;/p&gt;</description></item><item><title>在.NET程式裡面要如何取用Windows的環境變數(系統變數) - 以VB.Net作範例</title><link>https://coder.tw/posts/net-windows-environment-variables-vb-net/</link><pubDate>Fri, 11 Feb 2011 09:55:35 +0000</pubDate><guid>https://coder.tw/posts/net-windows-environment-variables-vb-net/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2010-11-07_144258.jpg"&gt;&lt;img class="alignnone size-full wp-image-165" title="2010-11-07_144258" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2010-11-07_144258.jpg" alt="" width="394" height="406" /&gt;&lt;/a&gt;&lt;/p&gt;
有寫過CMD的人都知道環境變數這個東西,他可以讓你很方便的獲得一些每一台電腦都不一樣的訊息,例如使用者名稱,每一台電腦都不相同,這時候就可以使用環境變數來取得,只不過在cmd裡要取用環境變數很簡單,只要用%環境變數名稱%的方式就能取用,但是在.NET程式中沒有這麼簡單,需要使用到Environ函式
&lt;h2&gt;</description></item><item><title>【PHP】mb_convert_encoding - 遇到某些API的回傳值編碼不是自己要的？ 來轉碼吧</title><link>https://coder.tw/posts/php-mb-convert-encoding-big5-utf8-gbk/</link><pubDate>Fri, 04 Feb 2011 12:24:55 +0000</pubDate><guid>https://coder.tw/posts/php-mb-convert-encoding-big5-utf8-gbk/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-04_123628.jpg"&gt;&lt;img class="alignnone size-large wp-image-4662" title="2011-02-04_123628" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-04_123628-520x303.jpg" alt="" width="520" height="303" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;↑↑這是在Chrome下用Big5檢視,上面是轉碼前,下面是轉碼後&lt;/p&gt;
&lt;p&gt;昨天在玩Google Weather API時他有一個參數是設定你的語言的,那個參數如果不設定則API傳回值是英文的,然後是UTF-8編碼,但如果設定zh-TW則回傳值是中文的,但是是使用Big-5編碼,因此在使用這組API時我必須要把它的傳回值重新編碼成UTF-8才能使用,畢竟現在Big-5的網站已經蠻少了,所以我昨天就去找了mb_convert_encoding這個函式來幫我轉編碼~&lt;/p&gt;</description></item><item><title>Google Weather API - 幫助你取得一整週的天氣狀況</title><link>https://coder.tw/posts/google-weather-api-weekly-forecast-2/</link><pubDate>Fri, 04 Feb 2011 00:48:56 +0000</pubDate><guid>https://coder.tw/posts/google-weather-api-weekly-forecast-2/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-04_004255.jpg"&gt;&lt;img class="size-large wp-image-4648 aligncenter" title="2011-02-04_004255" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/02/2011-02-04_004255-520x416.jpg" alt="" width="520" height="416" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;strong&gt;Google Weather API&lt;/strong&gt;是我今天發現的東西，因為想要幫最近開發的Plurk-bot加上新的查天氣功能，所以就上網找了一下獲得天氣狀況的方法，原本預計的獲取方式是去讀取中央氣象局的網頁，然後分析上面的資料，可是後來我發現Google和Yahoo都有提供查天氣的API，其中我比較喜歡使用Google Weather API，因為他的回傳值是xml格式比較好解析，不過Yahoo傳一個html回來... 而且Google Weather API還支援直接指定城市名的功能，例如我要查台北市，我就在API上直接傳台北市過去就可以，可是Yahoo的天氣API卻不是這麼簡單，而是要你輸入一個城市的代碼，等於我要使用Yahoo的API時我還要先知道要查詢的城市的代碼
&lt;h2&gt;</description></item><item><title>如何寫出好的程式碼：縮排、定義變數與型別還有註解！</title><link>https://coder.tw/posts/good-code-indentation-variables-types-2/</link><pubDate>Sat, 29 Jan 2011 22:07:05 +0000</pubDate><guid>https://coder.tw/posts/good-code-indentation-variables-types-2/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-29_215359.jpg"&gt;&lt;img class="size-large wp-image-4494 aligncenter" title="2011-01-29_215359" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-29_215359-520x428.jpg" alt="" width="520" height="428" /&gt;&lt;/a&gt;&lt;/p&gt;
大多數剛學程式的人寫出來的程式碼都會有幾個很明顯的缺點,就是程式碼通常沒有進行縮排,還有幾乎沒有註解,如果你一開始學的是VB6這種程式語言的話那你還會有一個缺點就是沒有定義變數名稱跟型別,這樣的程式碼可以是可以執行,但是在維護上卻很麻煩,另外這篇文章只是我自己的一點小見解,如果有說錯的地方望予指正</description></item><item><title>【Java】JDK安裝與Java原始檔編譯教學</title><link>https://coder.tw/posts/java-jdk-install-compile-tutorial/</link><pubDate>Thu, 27 Jan 2011 23:11:20 +0000</pubDate><guid>https://coder.tw/posts/java-jdk-install-compile-tutorial/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-27_232013.jpg"&gt;&lt;img class="alignnone size-large wp-image-4475" title="2011-01-27_232013" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-27_232013-520x339.jpg" alt="" width="520" height="339" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;最近這一週我都在台北商專上Java、JSP、SQL相關的課程,原本就有打算學Java,因為有一位網友說以後要做工程師必須要會的語言有C++跟Java,C++我有稍微碰過,不能說很強,但是要寫個小東西的能力還是有的,但是Java可以說是完全沒有碰過,剛好老師問說我要不要去台北商專上課就很高興的去了～&lt;/p&gt;
&lt;p&gt;原本我是覺得Java沒有很好用,會想學除了因為他是工程師必修,還有一個原因是因為他的跨平台特性,可以讓我很方便的寫出Java甚至是手機的程式,還有Android的基礎也是Java,但是上了幾堂課之後我開始喜歡Java,有了當初第一次學程式語言時的衝勁,開始會凌晨12點抱者書念了&amp;hellip; 這次當初學VB.NET時才有的感覺！！&lt;/p&gt;</description></item><item><title>【PHP】使用curl-lib取得無名/Yam音樂的真實下載位址</title><link>https://coder.tw/posts/php-curl-get-yam-music-download-url-2/</link><pubDate>Tue, 25 Jan 2011 18:31:04 +0000</pubDate><guid>https://coder.tw/posts/php-curl-get-yam-music-download-url-2/</guid><description>&lt;p style="text-align: center;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-25_182313.jpg"&gt;&lt;img class="size-large wp-image-4437 aligncenter" title="2011-01-25_182313" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-25_182313-520x356.jpg" alt="" width="520" height="356" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align: center;"&gt;我設計的UI很簡潔^^&lt;/p&gt;
其實&lt;strong&gt;取得無名/Yam音樂的真實下載位址&lt;/strong&gt;這個程式最原本是要做成自動產生部落格音樂語法的程式,可是後來發現現在已經很多人在經營音樂語法產生器,不差我這一個,所以就不想做就把它的程式碼釋放出來給大家看看～ 另外如果有人需要透過Yam或無名下載音樂的話也可以自己把這程式下載下去,然後裝到自己的伺服器裡面run</description></item><item><title>【VB】【C++】計算n!(階層)</title><link>https://coder.tw/posts/vb-c-factorial-n-2/</link><pubDate>Wed, 05 Jan 2011 05:58:10 +0000</pubDate><guid>https://coder.tw/posts/vb-c-factorial-n-2/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-05_054100.jpg"&gt;&lt;img class="alignnone size-large wp-image-4369" title="2011-01-05_054100" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2011/01/2011-01-05_054100-520x253.jpg" alt="" width="520" height="253" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;要計算n的階層是很簡單的一件事,會寫到這個程式是因為排列組合,我想要精確的知道答案會在幾種左右,因此就寫了n!的函數來幫忙求階層的值,所謂的階層就是指從1&lt;em&gt;2&lt;/em&gt;3&amp;hellip;..&lt;em&gt;n的意思,而在排列組合中如果要被排列的字有5個字,那麼排列後的結果就最多不超過5&lt;/em&gt;4&lt;em&gt;3&lt;/em&gt;2*1的值,也就是最多不超過120個答案&lt;/p&gt;
&lt;p&gt;以下我把n!做成Function,有VB版的跟C++版的,剛開始學迴圈的人可以用這個函式來學習迴圈的用法,另外因為擔心integer會存不下資料,所以我使用string來傳回資料,到時候用這個Function時要先把傳回值轉成數字型別才可以&lt;/p&gt;
&lt;h2&gt;</description></item><item><title>【VB】分割字串成字元(mid+for迴圈)</title><link>https://coder.tw/posts/vb-split-string-mid-for-loop-2/</link><pubDate>Tue, 28 Dec 2010 20:01:36 +0000</pubDate><guid>https://coder.tw/posts/vb-split-string-mid-for-loop-2/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/12/2010-12-28_201330.jpg"&gt;&lt;img class="size-full wp-image-4332 aligncenter" title="2010-12-28_201330" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/12/2010-12-28_201330.jpg" alt="" width="312" height="344" /&gt;&lt;/a&gt;&lt;/p&gt;
其實這篇文章要講的分割字串成字元很簡單,但他卻在做很多ACM的題目時需要用到,例如排列組合就必須要先把字串分割成字元再行運算,還有像凱撒加密法也是同樣的需要用到他,以下就以VB.Net來做示範,至於其他程式語言也可以做到,原理都相同</description></item><item><title>Visual Studio 2010 - 使用.NET Famework 4來做軟體開發、更完善的平行化運算、自動化UI測試</title><link>https://coder.tw/posts/visual-studio-2010-net-framework-4-2/</link><pubDate>Mon, 13 Dec 2010 17:56:39 +0000</pubDate><guid>https://coder.tw/posts/visual-studio-2010-net-framework-4-2/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/12/2010-12-10_224908.jpg"&gt;&lt;img class="size-large wp-image-4164 aligncenter" title="2010-12-10_224908" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/12/2010-12-10_224908-520x314.jpg" alt="" width="520" height="314" /&gt;&lt;/a&gt;&lt;/p&gt;
在2010年5月上市的Visual Studio 2010我一直都沒有去用過,一直到幾天前在Windows 7裡面安裝Visual Studio時我手邊的安裝光碟是32位元安裝不了,所以才去下載了Visual Studio 2010 Express來用,原本我以為Visual Studio 2010跟Visual Studio 2008沒有太大的差別,但安裝完之後才知道我錯了,光是在編譯出來的執行檔上面效能就差了很多,這是因為Visual Studio 2010裡的所有控制項都是用.NET Famework 4做的,所以執行速度較快,且Visual Studio 2010還升級（新增）了很多東西,例如：異質平台開發管理、DataTips、平行運算</description></item><item><title>【C++】用CMD傳送檔案給主控台應用程式以及傳回資料</title><link>https://coder.tw/posts/c-cmd-send-file-to-console-app-2/</link><pubDate>Sat, 04 Dec 2010 10:00:16 +0000</pubDate><guid>https://coder.tw/posts/c-cmd-send-file-to-console-app-2/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/11/2010-11-26_232836.jpg"&gt;&lt;img class="size-large wp-image-4097 aligncenter" title="2010-11-26_232836" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/11/2010-11-26_232836-520x365.jpg" alt="" width="520" height="365" /&gt;&lt;/a&gt;&lt;/p&gt;
其實在C++裡面除了單純的使用fopen來讀取檔案之外,還有另外一種方法也可以讀取檔案,而且實作起來比fopen簡單很多,那就是利用cmd來餵檔案給C++程式,舉例來講現在有一個程式叫做test.exe,還有一個txt檔叫做x.txt,然後我要讓test.exe讀取x.txt的資料並顯示出來,則我開啟CMD,然後再裡面輸入 &lt;em&gt;&lt;strong&gt;test.exe&amp;lt;x.txt&lt;/strong&gt;&lt;/em&gt; 就可以讀取並顯示出x.txt的內容了,下面文章要教大家的就是這種讀取檔案的方式,另外感謝網友滄海教會我這種用法</description></item><item><title>【VB.Net】取得資料夾中特定格式檔案路徑並存入ArrayList(稍微修改一下就可以用到其他.NET語言)</title><link>https://coder.tw/posts/vb-net-get-folder-file-paths-arraylist-2/</link><pubDate>Sun, 07 Nov 2010 15:45:56 +0000</pubDate><guid>https://coder.tw/posts/vb-net-get-folder-file-paths-arraylist-2/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/11/2010-11-07_154306.jpg"&gt;&lt;img class="size-large wp-image-3957 aligncenter" title="2010-11-07_154306" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/11/2010-11-07_154306-520x311.jpg" alt="" width="520" height="311" /&gt;&lt;/a&gt;&lt;/p&gt;
上次在寫新版Desktop Locker的娛樂功能時,因為要自動取得Resources資料夾中的所有音樂檔,就研究出了下面這段程式碼,可以讓你將取得資料夾中特定格式檔案路徑並存入ArrayList中,例如你要取得music中的所有mp3格式就可以用我的這個程式碼來達到功能</description></item><item><title>如何寫程式對Yahoo! Messenger進行存取(修改狀態、登入、登出等)(以VB作範例)</title><link>https://coder.tw/posts/program-yahoo-messenger-status-login-logout-2/</link><pubDate>Sun, 07 Nov 2010 14:39:23 +0000</pubDate><guid>https://coder.tw/posts/program-yahoo-messenger-status-login-logout-2/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/11/2010-11-07_153926.jpg"&gt;&lt;img class="size-large wp-image-3955 aligncenter" title="2010-11-07_153926" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/11/2010-11-07_153926-520x292.jpg" alt="" width="520" height="292" /&gt;&lt;/a&gt;&lt;/p&gt;
好像是在前天時班上幾個同學開始很無聊的亂傳所謂的改即時通狀態的惡作劇程式,就激發了我的靈感去設計了一個進階版的即時通狀態惡作劇程式,其實要寫成是來修改及時通的狀態並不難,因為Yahoo本身就有提供COM元件讓你很方便的去對即時通進行設定,這個COM就叫YahooMessengerLib,目前我所知他可以對即時通進行以下工作：修改狀態、取得現在狀態、登入或登出即時通,以下就讓站長教大家如何去使用YahooMessengerLib這個COM元件吧~</description></item><item><title>Sikuli Script - 創新.易寫的程式語言</title><link>https://coder.tw/posts/sikuli-script-visual-programming/</link><pubDate>Fri, 05 Feb 2010 11:28:04 +0000</pubDate><guid>https://coder.tw/posts/sikuli-script-visual-programming/</guid><description>&lt;p style="text-align: center;"&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/02/set-ip.png"&gt;&lt;img class="size-large wp-image-2616 aligncenter" title="set-ip" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2010/02/set-ip-399x400.png" alt="" width="399" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;strong&gt;&lt;a href="http://sikuli.org/"&gt;SIKULI&lt;/a&gt;&lt;/strong&gt;是什麼?我想有用過外掛(線上遊戲輔助程式)的人都知道按鍵精靈這套有名的程式吧,目前的&lt;strong&gt;Sikuli Script&lt;/strong&gt;就很類似按鍵精靈(但他不是外掛),Sikuli Script可以讓你很簡單的完成一個程式,目前大多數的程式語言都是完全文字式的程式碼,但Sikuli Script不一樣,它的程式碼是圖片,&lt;strong&gt;Sikuli Script&lt;/strong&gt;的作者根本就是個天才,竟然想的到這麼有創意的東西,不過這樣講大家好像很不懂(什麼叫做用圖片寫程式....),下面就帶大家來完成一個&lt;strong&gt;Sikuli Script&lt;/strong&gt;的程式吧!</description></item><item><title>網際網路程式設計全國大賽(NPSC)</title><link>https://coder.tw/posts/npsc-internet-programming-contest/</link><pubDate>Sat, 21 Nov 2009 09:31:17 +0000</pubDate><guid>https://coder.tw/posts/npsc-internet-programming-contest/</guid><description>&lt;p&gt;最近我要去參加網際網路程式設計全國大賽,原本想說這麼大的比賽應該不會有作弊的情形吧!卻沒想到昨天去看了一下規則發現初賽時要在自己家裡寫程式,寫好以後傳到NPSC那裡,表面上看起來這沒甚麼,但看深一點會發現一件事,在自己家裡辦比賽就很容易作弊,你可以去請學校的老師直接在旁邊敎你怎麼寫,這就好比是在考模擬考時一個老師再旁邊敎你作法,而且比賽還有計算時間,如果對手有老師在旁邊幫忙作弊,那他們的解題速度一定很快,這樣子我還沒進決賽就被擠掉了&amp;hellip;.&lt;/p&gt;
&lt;p&gt;話說這次比賽我竟然發現以前的同學也有來參賽,而且還沒多隊伍的(7X隊),感覺台灣的資訊人才很多對吧?不過那是他們學校大力支持資訊比賽,不像我們學校,在校外得獎之後照理說可以記功,但是拖了半學期都沒寄出去= =&lt;/p&gt;</description></item><item><title>W3C驗證 - 了解你網站的CSS是否符合標準</title><link>https://coder.tw/posts/w3c-css-validation/</link><pubDate>Sun, 06 Sep 2009 13:36:56 +0000</pubDate><guid>https://coder.tw/posts/w3c-css-validation/</guid><description>&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/09/2009-09-06-000.jpg"&gt;&lt;img class="alignnone size-full wp-image-1873" title="2009-09-06 000" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/09/2009-09-06-000.jpg" alt="2009-09-06 000" width="405" height="84" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;關於W3C:&lt;/h2&gt;
W3C是一個致力於網頁標準化的組織,W3C這個組織負責制定各種網業相關的東西,例如標準的CSS4以及XHTML都是由W3C制定的,為甚麼要制定這些呢?其實原因很簡單,不知道大家有沒有想過網頁是要在不同瀏覽器上顯示的,如果每間瀏覽器所要使用的語法都不同那網頁設計師啟不是很累?但是要讓所有的瀏覽器廠商都再一起至定一個標準又也些問題,我想最主要是因為大家都在競爭吧,就因為這樣而出現了W3C這個組織,由公正的第三方來制定,而各家瀏覽器廠商(如IE.Opera.Firefox)則必須要遵守這些基本的語法,當然如果各家瀏覽器要自己增加一些語法也不是不行,話說回來也不是所有瀏覽器都遵守W3C的規範,像IE這種大牌的就不遵守,所以很多網頁設計師都對IE又愛又恨(愛是因為很多人都用IE,恨是因為IE很不守規則) 講到這裡我想大家都對W3C這個組織有一定了解了吧,以下我要敎各位如何檢查網頁是否符合標準</description></item><item><title>ACM: Q001 (★☆☆☆☆)</title><link>https://coder.tw/posts/acm001/</link><pubDate>Sat, 25 Jul 2009 21:39:49 +0000</pubDate><guid>https://coder.tw/posts/acm001/</guid><description>&lt;p style="text-align: left;"&gt;&lt;strong&gt; &lt;/strong&gt;請寫一個程式求出2個數的GCD(最大公因數)&lt;/p&gt;
&lt;p style="text-align: left;"&gt;&lt;span style="color: #ffffff;"&gt;.&lt;/span&gt;&lt;/p&gt;
Input and Output
&lt;p&gt;輸入包含好幾筆資料，每筆資料一行，包含2個整數a,b。(0&amp;lt;a,b&amp;lt;10000000)
0 0代表輸入結束。
對每行輸入，輸出這2個數的GCD&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #ffffff;"&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Sample Input
12 36
25 24
0 0&lt;/p&gt;
&lt;p&gt;Sample Output
GCD(12,36)=12
GCD(25,24)=1&lt;/p&gt;</description></item><item><title>【JavaScript】encodeURIComponent 編碼網址用的函式</title><link>https://coder.tw/posts/javascript-encodeuricomponent/</link><pubDate>Wed, 22 Jul 2009 14:49:56 +0000</pubDate><guid>https://coder.tw/posts/javascript-encodeuricomponent/</guid><description>&lt;p&gt;當你在使用JavaScript來做一些GET指令時你應該經常會發現一個問題就是JavaScript他會要求你把網址編碼吧,遇到這種需要編碼網址才能使用的函式你可以使用encodeURIComponent來幫網址進行編碼&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/07/2009-07-22_144915.jpg"&gt;&lt;img class="alignnone size-full wp-image-1666" title="2009-07-22_144915" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/07/2009-07-22_144915.jpg" alt="2009-07-22_144915" width="397" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>鍵盤碼對應圖 非在下製作</title><link>https://coder.tw/posts/keyboard-scan-code-map/</link><pubDate>Sun, 12 Jul 2009 23:34:46 +0000</pubDate><guid>https://coder.tw/posts/keyboard-scan-code-map/</guid><description>&lt;p&gt;這裡分享一張圖給大家&lt;/p&gt;
&lt;p&gt;如果正在用postmessage做鍵盤模擬就會用到了&lt;/p&gt;
&lt;p&gt;這是我在網路上找到的&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/07/scancode.gif"&gt;&lt;img class="alignnone size-full wp-image-1601" title="scancode" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/07/scancode.gif" alt="scancode" width="509" height="221" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VB Ctrl+F5編譯</title><link>https://coder.tw/posts/vb-ctrl-f5-compile/</link><pubDate>Sat, 04 Jul 2009 12:58:47 +0000</pubDate><guid>https://coder.tw/posts/vb-ctrl-f5-compile/</guid><description>&lt;p&gt;跟大家分享一個好東西喔&lt;/p&gt;
&lt;p&gt;以後用VB編譯器最好用Ctrl+F5快捷鍵來編譯程式&lt;/p&gt;
&lt;p&gt;因為編譯出來的檔案比較小&lt;/p&gt;
&lt;p&gt;還有如果你用Ctrl+F5編譯程式的話&lt;/p&gt;
&lt;p&gt;編譯出來的程式會放在專案資料夾的binRelease資料夾內&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/07/2009-07-04_125607.jpg"&gt;&lt;img class="alignnone size-full wp-image-1526" title="2009-07-04_125607" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/07/2009-07-04_125607.jpg" alt="2009-07-04_125607" width="426" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>VB - Redim 重新設定陣列長度</title><link>https://coder.tw/posts/vb-redim-array-resize/</link><pubDate>Thu, 02 Jul 2009 10:25:30 +0000</pubDate><guid>https://coder.tw/posts/vb-redim-array-resize/</guid><description>&lt;p&gt;學過VB的人想必都知道Dim語法吧&lt;/p&gt;
&lt;p&gt;它可以幫你宣告變數(陣列),告訴電腦要清出一塊空間給程式&lt;/p&gt;
&lt;p&gt;但有的時候你不知道陣列裡會存多少東西&lt;/p&gt;
&lt;p&gt;所以就直接設定無限其實是很浪費的&lt;/p&gt;
&lt;p&gt;今天要交各位用的Redim就是一個可以讓你從新設定陣列寬度的語法&lt;/p&gt;</description></item><item><title>Lucky貓的ACM園地</title><link>https://coder.tw/posts/lucky-cat-acm-articles/</link><pubDate>Thu, 11 Jun 2009 18:00:45 +0000</pubDate><guid>https://coder.tw/posts/lucky-cat-acm-articles/</guid><description>&lt;p&gt;Lucky貓的ACM園地是一個在程式設計界很有名的網站&lt;/p&gt;
&lt;p&gt;共有很多的題目讓人練習程式設計的技巧&lt;/p&gt;
&lt;p&gt;不過他沒有解答&amp;hellip;&amp;hellip;&amp;hellip;&amp;hellip;&lt;/p&gt;
&lt;p&gt;只會給你題目跟提示而已&lt;/p&gt;
&lt;p&gt;大家可以去那裡練習自己的程式設計功力&lt;/p&gt;
&lt;p&gt;網址http://luckycat.kshs.kh.edu.tw/&lt;/p&gt;
&lt;p&gt;&lt;a href="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/06/2009-06-10_205311.jpg"&gt;&lt;img class="alignnone size-full wp-image-1283" title="2009-06-10_205311" src="https://pub-6c026d2742d14927bfa2d850c31eac91.r2.dev/wp-content/uploads/2009/06/2009-06-10_205311.jpg" alt="2009-06-10_205311" width="640" height="461" /&gt;&lt;/a&gt;&lt;/p&gt;</description></item><item><title>[CSS]設定圖片最大寬度&amp;高度</title><link>https://coder.tw/posts/set-max-image-size/</link><pubDate>Fri, 15 May 2009 21:00:17 +0000</pubDate><guid>https://coder.tw/posts/set-max-image-size/</guid><description>&lt;p&gt;利用一個css的語法可以達到設定圖片最大寬度跟高度的效果&lt;/p&gt;
&lt;pre lang="css"&gt;最大寬度:
標籤名稱 img{
max-width:寬度值
}
最大高度:
標籤名稱 img{
max-height:高度值
}
&lt;/pre&gt;
&lt;p&gt;另外高度(寬度)值的那裡可以使用百分比來表示&lt;/p&gt;
&lt;p&gt;這些語法可以幫助你讓網誌的圖片不要超出範圍&lt;/p&gt;
&lt;p&gt;不過這個語法在IE6上面是無效的&lt;/p&gt;
&lt;p&gt;我還在研究讓IE也有效果的方法&lt;/p&gt;
&lt;p&gt;應該是用JavaScript來達到吧&lt;/p&gt;</description></item><item><title>原碼分享-HOT SCRIPTS</title><link>https://coder.tw/posts/source-code-sharing-hot-scripts/</link><pubDate>Sat, 02 May 2009 03:42:00 +0000</pubDate><guid>https://coder.tw/posts/source-code-sharing-hot-scripts/</guid><description>&lt;p&gt; 相信各位在寫程式時都常需要去找尋原始碼來參考吧&lt;br/&gt;
這裡介紹一個網站,據聞是全世界最大的原始碼分享網站&lt;br/&gt;
我想應該沒有最大啦,不過數一數二倒是真的:)&lt;br/&gt;
網址http://www.hotscripts.com/&lt;br/&gt;
&lt;br/&gt;
這個網站一進去你就會看到他的分類頁面&lt;br/&gt;
是依程式語言做分類&lt;br/&gt;
主要有PHP, CGI, ASP, Perl, Java Scripts&lt;br/&gt;
.AJAX, C &amp;amp; C++, Ruby On Rails(RoR), Python 等等的程式原碼&lt;br/&gt;
你可以選一個擬再用的語言然後再進去慢慢找&lt;br/&gt;
或是利用右上角的搜尋功能找&lt;br/&gt;
不過可別打中文阿&lt;br/&gt;
因為這是外國的網站,所以中文的程式也很少&lt;br/&gt;
還有它可以針對某些分類做搜尋&lt;br/&gt;
或全部搜尋(All&amp;hellip;&amp;hellip;&amp;hellip;..的那個)&lt;br/&gt;
在搜尋器的下拉式選單選擇即可&lt;br/&gt;
&lt;img src="http://nwufiq.bay.livefilestore.com/y1pNsHnQXSOq5V3Hz3O2X4D4KWbr81NSSbiy6cHgqFGULbhfIl864I77Gn5exRpEykxzOtg2M1Xp71NfLDVBIEzh7n2S7o0RrBi/2009-05-02_114949.png" alt=""/&gt;&lt;br/&gt;
&lt;br/&gt;
找到你要的程式以後你可以稍微看一下他的簡介&lt;br/&gt;
&lt;img src="http://nwufiq.bay.livefilestore.com/y1pYNUI2Br39E1fDbCbiMIf3RzLwc-aKMbmDBkAiDigeJc2G6DOcklJ4KXCwOCD-0hw5Haj6C94QFvjWAsaRH7s1raYcDHEH74z/2009-05-02_115555.png" alt=""/&gt;&lt;br/&gt;
&lt;br/&gt;
如果想要下載的話按一下視窗上的Download按鈕即可&lt;br/&gt;
&lt;img src="http://nwufiq.bay.livefilestore.com/y1p_iIOwTpQqpqMFN1OBhxaDeRbEF8uSS26XxFmS5YrRhCtwblyB0pWntbC8WRxWR7eR9RGdXdVmfGZyufrXFVP2_jYV5CH0Iil/2009-05-02_115711.png" alt=""/&gt;&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;br/&gt;
還有一點需要注意的是:有些程式是需要付費的&lt;br/&gt;
通常標有 (贊助商) 圖樣的是需要付費的&lt;br/&gt;
還有這個網站有提供註冊帳號的功能&lt;br/&gt;
實際上我使用時並沒有需要註冊帳號&lt;br/&gt;&lt;/p&gt;
&lt;hr style="width:100%;height:2px;"/&gt;如果你不喜歡外國網站的話&lt;br/&gt;
或是看不懂英文的人&lt;br/&gt;
你也可以到藍色小舖這個中文的網站找原始檔&lt;br/&gt;
http://www.blueshop.com.tw/download/default.asp&lt;br/&gt;</description></item><item><title>【VB.Net】使用rename修改檔名</title><link>https://coder.tw/posts/filesystemrename-batch-rename-syntax/</link><pubDate>Thu, 23 Apr 2009 10:12:00 +0000</pubDate><guid>https://coder.tw/posts/filesystemrename-batch-rename-syntax/</guid><description>&lt;p&gt;今天要教各位的是使用VB本身提供的一個方法來修改檔名&lt;/p&gt;
&lt;p&gt;他的語法格式是:&lt;/p&gt;
&lt;pre lang="vb"&gt;Filesystem.rename(a,b)&lt;/pre&gt;
&lt;p&gt;a代表輸入的檔案,也就是要被改名的檔案&lt;/p&gt;
&lt;p&gt;b代表的則是輸出的檔名&lt;/p&gt;
&lt;p&gt;請注意,a與b兩項參數都必須要以完整形式出現&lt;/p&gt;
&lt;p&gt;假設現在要修改c:123.txt這個檔案改名成456.txt的話則輸入&lt;/p&gt;
&lt;pre lang="vb"&gt;Filesystem.rename("c:123"."c:456.txt")&lt;/pre&gt;
&lt;p&gt;注意喔!我的兩個參數都是有副檔名的,而且都有磁碟號跟資料夾名稱&lt;/p&gt;
&lt;p&gt;如果b參數沒有填上完整名稱則修改好的檔案會被移動到程式的根目錄&lt;/p&gt;
&lt;p&gt;大家都有看懂吧&lt;/p&gt;
&lt;p&gt;這個語法2008跟2005都可以用,不過VB6我就沒試過了&lt;/p&gt;</description></item><item><title>VB如何寫函式(重大錯誤修正)</title><link>https://coder.tw/posts/vb-function-syntax-error-fix/</link><pubDate>Sun, 19 Apr 2009 07:17:00 +0000</pubDate><guid>https://coder.tw/posts/vb-function-syntax-error-fix/</guid><description>&lt;p&gt;今天要敎大家的是如何自己寫函式&lt;/p&gt;
&lt;p&gt;首先大家必須要先知道函式的語法規格,另外你必須把自製函式放在程式最下方&lt;/p&gt;
&lt;pre lang="vb"&gt;語法格式:
Function 函式名稱(Byval 參數 As 參數型別,Byval 參數 As 參數型別)
函式名稱=執行的內容
End Function&lt;/pre&gt;
&lt;p&gt;簡單的講解一下吧,函式名稱那裡隨便你定,不需要用雙引號框住&lt;/p&gt;
&lt;p&gt;而參數那裡可以有也可以沒有,看你的函式性質,如果是需要傳入值的就要設定&lt;/p&gt;</description></item><item><title>VB呼叫表單&amp;關閉表單語法</title><link>https://coder.tw/posts/vb-call-close-form-syntax/</link><pubDate>Fri, 17 Apr 2009 12:40:00 +0000</pubDate><guid>https://coder.tw/posts/vb-call-close-form-syntax/</guid><description>&lt;p&gt;&lt;font size="2"&gt; 在VB裡面如果你要切換表單的話可以使用show()語法&lt;br/&gt;
語法格式如下:&lt;br/&gt;
表單名.show()&lt;br/&gt;
表單名的那裡就是你要切換的表單名稱&lt;br/&gt;
例如:你要切換到form2這個表單&lt;br/&gt;
則輸入form2.show()即可&lt;br/&gt;
&lt;br/&gt;
另外如果你要再開啟新表單以後就關掉舊的表單則語法為:&lt;br/&gt;
表單名.close()&lt;br/&gt;
如果是關掉自己的話就輸入me.close()     ' 關閉自己的意思&lt;br/&gt;
這個語法也可以用來關閉其他表單&lt;br/&gt;
前提是要關閉的表單是屬於自己程式的(廢話~~)&lt;/font&gt;&lt;/p&gt;</description></item><item><title>[VB]利用Replace函式達到取代的功能</title><link>https://coder.tw/posts/vb-replace-function/</link><pubDate>Fri, 17 Apr 2009 12:19:00 +0000</pubDate><guid>https://coder.tw/posts/vb-replace-function/</guid><description>&lt;p&gt;在VB裡面如果想要將字串裡的一部分內容去待成另一份的話
可以使用replace函式&lt;/p&gt;
&lt;p&gt;語法如下:&lt;/p&gt;
&lt;pre lang="vb"&gt;字串名稱.replace(A,B)
&lt;/pre&gt;
&lt;p&gt;字串名稱那裡就是你儲存文字的變數名稱&lt;/p&gt;
&lt;p&gt;例如你把123456存在S1裡面&lt;/p&gt;
&lt;p&gt;則輸入S1.replace(A,B)&lt;/p&gt;</description></item><item><title>利用SetWindowPos讓視窗永遠置於最上方</title><link>https://coder.tw/posts/vb-keep-window-on-top/</link><pubDate>Sat, 14 Feb 2009 15:04:00 +0000</pubDate><guid>https://coder.tw/posts/vb-keep-window-on-top/</guid><description>&lt;p&gt;首先請在程式裡加入timer元件&lt;/p&gt;
&lt;p&gt;並啟用timer(名稱timer1)&lt;/p&gt;
&lt;p&gt;秒數部分設100&lt;/p&gt;
&lt;p&gt;然後輸入以下代碼(直接貼上並蓋掉原本的程式碼)&lt;/p&gt;
&lt;pre lang="vb"&gt;Option Strict Off
Option Explicit On
Public Class Form1
Inherits System.Windows.Forms.Form
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer
Dim IntR As Object
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Top = 0
Me.Left = 0
Me.Width = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width
Me.Height = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
IntR = SetWindowPos(Me.Handle.ToInt32, -1, 0, 0, 0, 0, 3)
End Sub
End Class&lt;/pre&gt;</description></item><item><title>VB 鍵盤模擬</title><link>https://coder.tw/posts/vb-keyboard-simulation/</link><pubDate>Wed, 26 Nov 2008 10:12:00 +0000</pubDate><guid>https://coder.tw/posts/vb-keyboard-simulation/</guid><description>&lt;p&gt;鍵盤是我們使用電腦的一個很重要的輸入設備了，即使在滑鼠大行其道的 今天，很多程式依然離不開鍵盤來操作。但是有時候，一些重複性的，很繁瑣的鍵盤操作總會讓人疲憊，於是就有了用程式來代替人們按鍵的方法，這樣可以把很多 重複性的鍵盤操作交給程式來類比，省了很多精力，按鍵精靈就是這樣的一個軟體。那麼我們怎樣才能用VB來寫一個程式，達到與按鍵精靈類似的功能呢？那就讓 我們來先瞭解一下windows中回應鍵盤事件的機制。&lt;/p&gt;</description></item></channel></rss>