Ubuntu下無法解析網址

可以透過IP直接連線到相對應的網站

但是無法透過網址進行連線

造成下指令時~$ sudo apt-get update,產生XXX無法解析

或者PING IP可以,PING 其他網址不行

此時需要進行DNS的設定,

~$ sudo nano /etc/resolv.conf

#Google

nameserver 8.8.8.8

#Hinet

nameserver 168.95.1.1

儲存後,sudo /etc/init.d/networking restart,重新啟動網路

可以順利連到網路了

不過重新開機後,發現DNS解析又出現錯誤了,

打開~$ sudo nano /etc/resolv.conf來看,原本的設定又跑掉了

注意到裡面的說明,此檔案建議不要編輯,否則重開機後會被復原

收尋了一下問題,找到有人說要去修改這個檔案 /etc/resolvconf/resolv.conf.d/head

輸入之後發現,無法編輯檔案,原來是我的resolvconf版本太舊,需要更新

透過以下指令重新安裝

sudo apt-get install --reinstall resolvconf
sudo apt-get remove --purge resolvconf && sudo apt-get install resolvconf

安裝後,修改  /etc/resolvconf/resolv.conf.d/head,加上DNS

sudo resolvconf -u
sudo /etc/init.d/networking restart 

轉錄 Sublime Text 3 將 Sass Scss外掛安裝

SASS(SCSS)的編譯需要透過Ruby進行編譯,不用懷疑

SCSS是SASS的一個分支,因此安裝SACC就可以

因此Sublime 安裝SCSS時需要先安裝Ruby

(或許可能還需要安裝node.js)

  1. 首先安裝Ruby,選擇適當的版本就可
  2. 安裝完成後,可開啟command的黑色視窗,輸入 ruby -v,確認版本是否正常,(如果顯示為找不到命令,須重新開啟command)
  3. 在command輸入 
    gem install sass
  4. 如果顯示找不到gem命令,於開始>ruby>開啟 Start Command Prompt with Ruby,然後再一次執行命令
  5. 在command輸入 sass -v,確認sass安裝的版本
  6. Sublime 上利用 Package Control 安裝 Sass 、 SASS Build 跟 SublimeOnSaveBuild,
  7. 重新開啟Sublime,開啟後打開一個.scss的檔案,右下角會自動切換為SCSS
  8. Sublime > tool >Build system>選擇一個適當的建置模組(預設為SASS-compressed)
  9. Sublime > tool >Build,將會自動產生.CSS與.MAP檔案
  10. 大功告成,享受SCSS的優勢吧!!

NI FPGA 錯誤 error -63192

今天執行 CRIO 9030的時候出現了以下的錯誤訊息

NI-RIO: (Hex 0xFFFF0928) Either the supplied resource name is invalid as a RIO resource name, or the device was not found. Use MAX to find the proper resource name for the intended device.

簡單的來說就是CRIO的名稱有問題或者是找不到CRIO,RT端可以正常使用!!

結論>>>重過CRIO之後,總算可以正常跑FPGA,看起來是CRIO內部程式出錯了,現在能用就先這樣吧!!!

 

labview sql mysql mssql Connection ODBC driver 透過ODBC連接MYSQL

突然心血來潮,來試試看用labview連接 mysql的資料庫,但是搜尋了一下labview的原生程式,
蝦米,沒有相關的範例,只有一個Database的相關工具,但是說明有點少,看來這個MYSQL有點難用
搜尋網路,只有班哲明大大在LABVIEW360的論壇比較詳細解說
https://labview360.com/forum/forum_posts.asp?tc=i3ww6quo0fil&pn=1&tpn=1
大至上的作法為透過MYSQL Connector/ODBC 與 LabSQL的程式進行MYSQL連結

  1. 安裝MYSQL資料庫與Connector/ODBC,https://dev.mysql.com/
  2. 設定MYSQL的相關資料
  3. 然後下載LabSQL的程式,http://jeffreytravis.com/lost/download/
  4. 接下來連線到MYSQL的方法有兩種,

方法一

  1. 透過ODBC的設定再透過LabSQL進行連結
  2. 控制台→所有控制台項目→系統管理工具→ODBC 資料來源 (32 位元)
  3. 系統資料來源名稱→新增→選擇MySQL ODBC 5.3 Unicode Driver→填入相關資料,紀錄Data Source Name
  4. LabSQL的範例程式Example – Fetch a Table.vi中,ConnectionString填寫DSN=剛剛紀錄的紀錄Data Source Name;
  5. Command Text就輸入SQL的命令比如 SELECT * FROM `user`
  6. 這樣就可以輸出資料了,不過這種資料模式還需要再改善,不然不容易閱讀與修改

透過ODBC的設定不是一個好方法,因此需要以下的 方法二

  1. LabSQL的範例程式Example – Fetch a Table.vi中,ConnectionString填寫 Driver={MySQL ODBC 5.3 Unicode Driver};Server=localhost;Database=**;
    User=**;Password=***;Option=3;。
    其中Driver是MySQL ODBC的版本。
    Server可能為IP地址,localhost為本機的一個代號。Option=3,目前不知道有何目的
  2. Command Text就輸入SQL的命令比如 SELECT * FROM `user`

這個方法比方法一簡單好用,但是接下來要再研究怎樣把資料分離,目前的問題也是我覺得labview不夠彈性的問題。

labview for loop array幾個小概念

請問以下三個小程式哪一個程式運作速度最快呢?

請問以下三個小程式哪一個程式運作速度最快呢?
請問以下三個小程式哪一個程式運作速度最快呢?

答案揭曉:第一個程式36 ms ,第二個程式150 ms ,第三個程式172 ms 。
蝦米,怎麼會這樣,為何第二個程式與第一個程式運算時間為何會差異這麼多啊
其實原因與labveiw的運作模式有關

1.第三個表示labview會自行變成多核心平行運作,這點不重要

2.第一與第二的程式可以看出labview最大的問題,矩陣大小變化的時候會消耗很多的時間(雖然不到0.1m)與記憶體空間,但是累積很多之後,就會看到之間的差異了。
而對於FOR LOOP而言,因為知道運作的次數,因此系統會自動產生固定的矩陣出來,所以不用變更矩陣的大小。因此速度可以快很多。(第一個程式)。
而第二個程式,每一個迴圈都改變一次矩陣的大小,因此消耗很多的時間與記憶體空間。

***不要頻繁的改變矩陣的大小,對於系統而言,會消耗時間與記憶體。

php htmlentities 將特殊字串轉換為HTML字串

輸入字串的時候有時候會輸入特殊字串,這時候只好進行字串的傳換,
如果是要存進DB裡面,可以透過mysqli_real_escape_string(); 將次串進行轉換。
而PHP內建的字串轉換函數為 htmlentities($test );
根據htmlentities的說明,htmlentities包含了以下四個參數
string htmlentities ( string $string
[, int $flags = ENT_COMPAT | ENT_HTML401
[, string $encoding = ini_get(“default_charset”)
[, bool $double_encode = true ]]] )

需要注意第二個參數flags(可察看下表),如果未設定flags時,
預設為ENT_COMPAT,會轉換雙引號,不轉換單引號, 需要特別注意

有效 flags 標記常量
常量名 描述
ENT_COMPAT 會轉換雙引號,不轉換單引號。
ENT_QUOTES 既轉換雙引號也轉換單引號。
ENT_NOQUOTES 單/雙引號都不轉換
ENT_IGNORE 靜默丟棄無效的代碼單元序列,而不是返回空字串。 不建議使用此標記, 因為它可能有安全影響。
ENT_SUBSTITUTE 替換無效的代碼單元序列為 Unicode 代替符(Replacement Character), U+FFFD (UTF-8) 或者 � (其他),而不是返回空字串。
ENT_DISALLOWED 為文檔的無效代碼點替換為 Unicode 代替符(Replacement Character): U+FFFD (UTF-8),或 �(其他),而不是把它們留在原處。 比如以下情況下就很有用:要保證 XML 文檔嵌入額外內容時格式合法。
ENT_HTML401 以 HTML 4.01 處理代碼。
ENT_XML1 以 XML 1 處理代碼。
ENT_XHTML 以 XHTML 處理代碼。
ENT_HTML5 以 HTML 5 處理代碼。

節錄自 http://php.net/manual/zh/function.htmlentities.php

Sublime text 3 使用 SublimeLinter 檢查 Javascript, HTML, CSS, php, js等語法錯誤

入門容易,專精難,這時候就需要好用的工具了
目前是看到Sublime text 3 外接套件工具很好用
不過有些使用者推薦VS code這套軟體
我個人覺得VS code的缺點是軟體太龐大,有點耗資源
但是VS code有PHP,tml,js等程式錯誤檢測
以及SQL偵錯編譯等(這部分還沒有研究,找時間要再研究一下)
而,相對於Sublime text 3 的而言
我覺得最大的優點在於Sublime text 3 可以協助填寫字串
以及可以自動偵錯物件function,而可以透過外掛工具來達到
此篇就是來介紹 SublimeLinter 程式碼檢測工具,以下是安裝外掛工具方式

步驟1,首先把Sublime 的Package Control 的套件下載到電腦上,讓後續的安裝可以快速一點

連結 https://packagecontrol.io/installation  這個網站清楚明瞭的介紹怎麼安裝
使用快捷鍵ctrl+`(或者View → Show Console)開啟Sublime 下方的console輸入小框,可以自行條整高度。
再根據你的Sublime text的版本,輸入相對應的程式碼!!
接著系統會去下載檔案,等到執行完成就好了。

步驟2,安裝Sublime​Linter 3,其實這個Sublime​Linter 3是一個框架而已,以這個框架下面,後續再進行Javascript, HTML, CSS 檢測外掛的安裝。

使用快速鍵ctrl+shift+p(或者 Preferencesn → Package Control )開啟上方的輸入列(Package Control ),
然後輸入 Install Package ,會自動Loading步驟1載入的資料,
此時可以進行步驟3。

步驟3,安裝node.js,蝦米,怎麼跟node.js有關係,其實是因為Sublime​Linter 3是透過node.js進行套件的安裝與運行的,因此需要node.js的環境。

連結 https://nodejs.org/en/ ,node.js相對的簡單,這裡就不囉嗦的,直接跳過。

步驟4,安裝node.js之後,就可以來安裝主角了。

安裝Javascript
與步驟1一樣呼叫 Package Control: Install Package,再輸入 Sublime​Linter-jshint 按確認即可安裝,請務必用輸入的方式,用複製貼上的方式可能會找不到字串。
安裝完成後,需要再透過Windows的命令列輸入 npm install -g jshint,才算完成。

安裝Css 
Sublime​Linter-csslint ,同樣在Sublime安裝完後,在Windows的命令列輸入:npm install -g csslint

安裝HTML
Sublime​Linter-htmlhint ,同樣在Sublime安裝完後,在Windows的命令列輸入:npm install -g htmlhint

安裝PHP
Sublime​Linter-php,同樣在Sublime安裝完後,在Windows的命令列輸入:npm install -g php

PHP雖然可以順利安裝,但是中間也些小問題,無法進行PHP的偵錯,還在尋找解決問題的方法,後續待補上

Agilent 4284A LCR Meter的控制系統

這次串接Agilent 4284A LCR Meter的控制系統,對電容進行掃頻的動作並記錄數據。
接觸過之後才知道,原來還有這種高級的LCR Meter,不但可以進行掃頻的動作,還可以量測好多種不知道的數據(Dissipation factor,Suscept ance)。

最後,原來有負電容值這種東西,不過還是搞不懂負電容的意義。