打包軟體Advanced Installer對於32位元與64位元設定條件

因為偶使用eclipse開發java軟體,號稱跨平台, 但是實際上使用到eclipse SWT元件都知道, 還是要另外匯出各個平台的jar檔案,才能到不同平台上執行, 而且還必須區分32位元與64位元.

eclipse匯出的可執行的jar檔案既然區分這麼多, 那就者能依靠打包軟體幫忙, 這裡推薦advanced installer.

Advanced Installer對於32位元與64位元設定條件, 偶看得有點霧煞煞, 只好紀錄一下.

Advanced Installer 專案新增好之後, 請點選 “Organization”就可以詳細看到相關的設定

關於虛擬系統VirtualBox 網卡卡號的問題

網卡卡號一直都有規範, VirtualBox的系統也有規定特定卡號屬於虛擬化系統, 這樣一來軟體就可以判斷是否為虛擬主機.

例如google music有個機車的規定:

1. 一年只能解除4台使用google music主機 , 一個帳號最多只能10台使用google music

2. 虛擬主機, 不可以使用google music新增歌曲

3. 其他潛規則

網路上的解法, 以virtualbox 為例子, 把網卡卡號改成非virtualbox專用卡號範圍.

欲產生新的網卡, 可點選此連結(網卡卡號產生器)

安裝elementary OS 5.0 Juno 注意事項

安裝elementary OS 5.0 Juno 注意事項 , 也就是要微調的地方,以後有想到就在這篇加上去

1. 終端機有中文亂碼的問題,請用AppCenter, 搜尋並安裝”LX終端機”

2. 安裝google瀏覽器,步驟:

下載 https://www.google.com/chrome

sudo apt install google-chrome-stable_current_amd64.deb

3. 安裝軟體相關套件之基本元件

sudo apt install software-properties-common

4. virtualbox 6.0

(1) 安裝

wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib"

# 若是Elementary OS , 將 $(lsb release -cs) 改成 bionic
sudo apt-get update

sudo apt-get install virtualbox-6.0

(2) 安裝virtualbox , 安裝完之後,還要上官網下載 Extension Pack 強化功能

https://download.virtualbox.org/virtualbox/

5. 如何設定”顯示桌面”(縮小所有程式)
(1) 安裝元件

sudo apt install wmctrl

(2) 系統設定->鍵盤->快捷列 , 自訂新的快捷鍵(通常是 “windows key + D”)
執行的指令是

wmctrl -k on

筆電改用elementary OS 5.0 Juno版

google一直不將我的chromebook cb3-111升級成可安裝andorid程式的版本, 因此我只好改用更多功能的ubuntu , 現在又手癢安裝另一款簡潔的elementary OS 5.0 Juno 基於ubuntu改裝而來的Linux發行套件.

到目前為止, 體驗非常好,很簡潔,安裝後也不用大費周章調整注音輸入法,是個值得考慮的優質linux distribution(聽說最近新出的ubuntu 18.10 cosmic cuttlefish 外太空的烏賊也很好用).

將老舊DBF資料檔案轉成Excel

以往讀取老舊DBF資料檔案 , 只要透過ODBC , 搭配MSQRY這隻程式就可以下SQL指令完成任務.

可是這些常用的工具漸漸地不再支援, 連java 8之後也不內含JdbcOdbc, 簡單的說若你有老系統的資料要讀取, 已經是非常困擾的一件事情, 因此有必要將這些資料都導出來, 方便查閱.

因此偶找到一些好用的函式庫(jdbf), 再簡單寫一個GUI程式, 可將DBF轉成Excel, 最後就再也用不到這些老舊的檔案了.  程式可在此下載

1. Windows 7 64bits or above or Ubuntu 16.04 64bits or above

2. java 8 or above

java的byte array如何擴充或相加

多個byte array 要加起來,很簡的作法

import java.io.ByteArrayOutputStream;
import java.io.IOException;
public class Tester {
   public static void main(String[] args) throws IOException {
      byte[] ArrayA = { 1,2,3};
      byte[] ArrayB = { 4,5,6};
      ByteArrayOutputStream baos = new ByteArrayOutputStream();
      baos.write(ArrayA);
      baos.write(ArrayB);
      byte[] c = baos.toByteArray();
      for(int i=0; i< c.length ; i++) {
         System.out.print(c[i] +" ");
      }
   }
}

Java如何存取USB-HID裝置-使用hid4java

有些產品必須透過USB-HID連線方式, 才能進行溝通, 偶記得以往都是使用vb6(好古老)的方式連線, java能派上用場的機會不多.

但最近有個需求, 需使用java開發windows app, 但是又必須透過USB-HID的方式讀取產品的資料.

若依照以往(好多年前), 偶寫個vb6程式, 透過hid的方式讀取資料後存成txt檔案; 最後再使用java觸發vb6程式, 處理vb6抓取出來的txt檔案.

java 呼叫 vb6 的解法, 雖然可解, 但就差在現在誰在跟你寫vb6, 身為java old school 的偶, 看到vb6就討厭, 又不想寫.net程式與usb溝通, 導致遇到這種USB-HID的需求, 我就鬱卒 🙁

Oh ya!

幾年後的今天, 想說找找open source是否有pure java的解, 終於找到了

可以使用 https://github.com/gary-rowe/hid4java 這個專案搭配 JNA library 完成 pure java 的期望.

目前偶用 hid4java 0.5.0 + JNA 4.1.0  用得很順, 還可以跨三個平台 Mac , Linux , Windows , 真是棒啊

咖啡偶習慣把這些東西作成簡單好用的工具函式庫 , 基本上就是發送指令到usb hid設備 , 然後接收到資料,請到以下連結參考:

https://bitbucket.org/inmethod/inmethodusblib

PS. 只提供usb連線的裝置超冷門的, 未來將漸漸勢微

XigmaNAS(原Nas4Free)如何卸載pool

XigmaNAS 要卸載pool的時候,必須考慮到正在使用的服務, 停用相關的服務,才可卸載(umount),

否則會出現device busy can not umount error.

建議卸載步驟:

1.備份pool的資料

2. 停用相關服務(如smb, iscsi)

3. 停用virtualbox並且刪除vm

4. ssh登入server , 輸入

zfs umount -f <mount point>

5. 使用web功能刪除pool

安裝 esxi 6.x 事前準備工作

巧婦難為無米之炊, IT人員再萬能,沒有虛擬主機服務器, 無法決勝千里之外.
因此IT很需要非專業人員, 將服務器安裝起來, 安裝esxi服務器其實也不難.

情境如下:
服務器有兩個網路卡, 一個對外, 一個對內. 服務器有8G 記憶體以上, 以及兩個usb 4G以上磁碟, 其他如Nas或是使用內部磁碟就配合IT人員指示即可.
目標:
讓服務器能成功安裝esxi虛擬系統, 不須設定對外網路卡, 只需要設定對內ip, 讓IT人員能透過安裝人員的電腦連進去處理後續作業.

1. 下載esxi 6.x 安裝片與下載 rufus
使用rufus 將esxi 6.x的 iso檔案寫進去usb磁碟(4G以上), 讓該磁碟當作開機碟使用
2.安裝esxi
將兩個usb磁碟插入服務器(一個安裝用,一個開機用), 服務器進入bios, 設定步驟1準備好的usb磁碟開機,接下來就照著安裝即可.安裝方式可參考這裡
3. 安裝完畢, 要記得設定管理ip(也就是對內ip), 不需要設定對外ip, 然後讓安裝人員的電腦執行teamviewer或是google遠端桌面, 讓IT人員接手處裡即可.

1 ... 47 48 49 50 51 ... 60