顯示具有 programming 標籤的文章。 顯示所有文章
顯示具有 programming 標籤的文章。 顯示所有文章

2018-03-12

[JAVA] How to type " underline _ " character using java.awt.Robot

java.awt.Robot is a very powerful library to control and simulate human's keyboard type and mouse click actions. But some special characters like "_" (the library contanst is KeyEvent.VK_UNDERSCORE) will invoke an error as follow.

       
Exception in thread "main" java.lang.IllegalArgumentException: Invalid key code
 at sun.awt.windows.WRobotPeer.keyPress(Native Method)
 at java.awt.Robot.keyPress(Robot.java:243)


The solution is:
       
public void underline() {
    keyPress(KeyEvent.VK_SHIFT);
    keyPress(KeyEvent.VK_MINUS);
    keyRelease(KeyEvent.VK_MINUS);
    keyRelease(KeyEvent.VK_SHIFT);
}

public void keyClick(int k) {
    keyPress(k);
    delay(50);
    keyRelease(k);
}


Cheers.



2015-12-01

資料庫移轉:由SQLServer到PostgreSQL

以下提供將資料庫由 SQL Server 資料移轉至 PostgreSQL 的方法。

市面上其實有不少資料庫移轉的軟體或是script,因為這次被移轉的目標為PostgreSQL,那我們就拿其官方開發的 migration toolkit 來處理。

執行環境與工具:

  • 作業系統:Windows 2008 R2,安裝 SQL Server 2008。
  • Postgre Plus Advanced Server,版本9.4.1.3,PostgreSQL的企業版,又名EDB(Enterprise DB),號稱可以無縫取代 Oracle DB,商業模式相當清楚。以下簡稱 Postgre Plus Advanced Server 為 PPAS 。過程需要Product Key,可向官方免費取得60天試用序號;當然也可以直接使用開源版本的 PostgreSQL。
  • EnterpriseDB Migration Toolkit (Build 48.0.1),與 PPAS 同時安裝,執行目錄在 ${Program Files}\PostgresPlus\edbmtk\bin 

2015-09-07

使用Selenium自動化操作瀏覽器




Selenium是一套可自動程式化操作瀏覽器的工具套件,詳略。因為種種原因,個人需要一個登入網頁系統的自動化程式;以下是Selenuim實作在IE(Internet Explore)、Firefox瀏覽器上的簡易實作

[個人環境]
  • JDK 1.8.60
  • selenium-2.47.1
  • Eclipse Luna
  • IE 9

[步驟教學]
  1. Selenuim官網有很多種程式語言供下載,考量未來執行環境我使用Java,下載.jar,然後使用Eclipse建立專案,詳情略。
  2. 下載InternetExplorerDriver或GeckoDriver,請放在本機的磁碟目錄,這是用來幫你開啟IE瀏覽器的驅動器。
  3. 主要代碼如下
  4.        
        // Prepare IE driver
        WebDriver driver = null;
        DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
        System.setProperty("webdriver.ie.driver", "D:/IEDriverServer.exe");
        driver = new InternetExplorerDriver(capabilities);
        
        /* Prepare Firefox driver
        DesiredCapabilities capabilities = DesiredCapabilities.firefox();
        System.setProperty("webdriver.gecko.driver", "C:\\Users\\Sean\\Downloads\\geckodriver.exe");
        driver = new FirefoxDriver(capabilities);
        */
    
        // Automation
        driver.get("${Your URL}");
        driver.findElement(By.id("account")).sendKeys("${Your Account}");
        driver.findElement(By.id("password")).sendKeys("${Your Password}");
        driver.findElement(By.xpath("${Your xPath}"));
        driver.click();
     
    
  5. 點選執行

2014-12-01

IDE混搭風 - 整合UltraEdit在Windows環境開發Linux系統



這是一個混搭的概念,適合用於一種特殊公司環境(絕大多數99.9%的幾萬名同事都活在Win系列),而你自己也無法脫離(脫離了連收個信都很困難)的艱困環境下產生的IDE跨界混搭整合

說明:

  • 個人作業系統:Windows系列
  • IDE:UltraEdit
  • 程式語言:Python
  • 研發運行環境:Linux系列
  • Terminal:Putty
  • 虛擬軟體:VirtualBox
配置:
  • 開啟UltraEdit,點選檔案 -> 檔案檢視 -> FTP設定
  • 設定要被遠端ssh連線的Ubuntu(執行在VirtualBox上),輸入IP、帳號、密碼、預設登入目錄(defult是登入帳號的家目錄,但這樣不方便,因為你要開啟的目錄往往在其他地方)

2014-06-24

當Mac OS遇上VMware Workstation


謎之聲:"個人喜歡Apple Inc.,也有iPhone、Mac Air...這篇純粹是秉著程序員求新的態度孕育而生~"

Apple Inc.在WWDC 2014橫空出世發表了新的programming language: Swift,以下是Apple自己給Swift的簡介:Swift is Apple's brand-new programming language for writing great iOS and OS X apps. Learn the basics of the language. See how to declare variables, use the fundamental data types, declare functions, and implement classes. Explore some of the great features that make Swift a safe, modern, and extremely powerful language. 簡單來說,Apple要將為人詬病已久不易上手的Object-C換到新語言Swift上,其支援近年流行的Lambda語法Script隨寫隨編隨跑等特性,直教人想趕快玩一玩;但要用Swift可真是讓小弟費煞了一番苦心,沒有Mac怎麼辦?沒關係,Virtualization的第一名VMware真的很厲害~以下介紹如何在Windows上用VMware Workstation安裝Mac OS

個人測試環境需求:

  1. VMware Workstaion 10 (以上),才能支援最新版的Mac OS
  2. VMware unlock tool (v120 以上),得以解鎖Workstaion原本對Mac系列OS的屏蔽
  3. Mac OS X Mountain Lion 10.8.3.iso or Mac OS X Mountain Lion 10.8.3.dmg
  4. xcode6 beta.dmg
[VMWare Workstaion安裝Mac OS X步驟]

2013-05-20

網路爬蟲實作與原始碼分享 Web Crawler implementation & sharing

心血來潮將之前寫的網路爬蟲Web Crawler稍微重構後開源到Github上,以下是簡單的設計介紹及使用說明。

Github:https://github.com/A-Ho/Crawler

簡介:
  • 採link by link的方式大量截取網頁資訊至用戶端
  • 可自行設定探勘深度
  • 支援多線程(multi-thread)
  • 資訊存取方式以Cobweb.java作為abstract class,分別以memory、DB、disk三種資料存取來實作。(後來才知道用到了template method pattern)
  • 支援單獨檔案下載

2013-04-24

[Google App Engine] 建置與部署教學


Google App Engine(以下簡稱GAE)簡介
想建置自己的網站系統卻苦無賜服器跟頻寬嗎?GAE提供一個 java/python framework 的 run time environment,於 google 端配置有container,只要確保你的開發程式符合container規範及配置檔案即可即時運行於internet上。

難易度
適合有使用過 Eclipse + Java + Jsp + Servlet 等技術,建構過網頁系統人員。

Step 1. 建置開發環境
厲害一點的人其實不需要IDE就可以做事情,但工欲善其事,必先利其器,時間就是金錢,個人還是搭配一套坊間最知名的Eclipse作為開發工具。
個人整體作業環境是Windows 7 64bits + Eclipse Classic 4.2.2 (JUNO) + jdk1.6.0_43,細節怎麼安裝不贅述,重點是GAE。

2013-03-21

Power of Script Language



寫過幾種程式語言,雖然個人不偏好任何一種,但script不那麼嚴謹的特性,寫起來總是特別有種快感。script可以做到一些很特別的事,例如說code已經在runtime才決定自己要做什麼事情,以下用python作一個簡單示範。