星期四, 5月 14, 2020

Chrome Extensions 在Linux 當作獨立程式執行:以LINE為例


目的:Chrome Extensions 擴充程式,在Linux 可當成獨立程式執行

用途:1、不必開啟Chrome 就能直接執行
   2、可同時執行多支程式。這代表若有三個 LINE ID, 則能同時登入。

範例:以「 LINE 」的 Chrome 擴充程式為範例


步驟一:
  雖便找一款有GUI的檔案管理工具,然後找Chrome的執行檔(/opt/google/
  chrome/google-chrome)或任意一個檔案,做「傳送(Send To)」至桌
  面(Desktop)的動作。

  這個動作實際是在做「軟捷徑(soft link)」。


步驟二:
  用任一款文字編輯器打開這個桌面上的「軟捷徑目標」,輸入以下資料
            [Desktop Entry]
            Encoding=UTF-8
            Version=1.0
            Comment=不必開啟chrome 就能直接執行LINE
            Type=Application
            Exec=/opt/google/chrome/google-chrome --app='chrome-extension://ophjlpahpchlmihnnnihgmmeilfjmjjc/index.html'
            Icon=virtualbox-vbox.png
            Name=LINE of Chrome Extensions
            Name[en_US.UTF-8]=LINE of Chrome Extensions

  說明1:
    上述「Icon」可自行訂喜歡的圖像,筆者是對VirtualBox做軟捷徑的
    傳送,所以它才呈現VirtualBox預設的圖像名稱「virtualbox-vbox.png」

  說明2:
    程式執行字串(Exec)中的「ophjlpahpchlmihnnnihgmmeilfjmjjc」
    是LINE 在 Chrome Store 中的ID

星期二, 3月 10, 2020

Android 11 特色/功能

來源

日前就已經不小心提前曝光的Android 11開發者預覽版本,稍早終於正式向開發者提供下載預覽,支援Pixel 2系列之後機種安裝測試 (對,第一代Pixel已經不支援了)。而Google也預計在今年5月開放beta版本,屆時應該就會開放一般使用者加入體驗測試,並且會在秋季釋出正式版本,理論上也會配合新款Pixel 5系列一同推出。

而在Android 11中,Google自然加強針對5G網路傳輸支援,另外也釋出新版可計算網路傳輸流量的API,讓開發者能在服務中標明當前使用網路傳輸量。另外,在螢幕設計原生支援部分也加入螢幕開孔設計,以及像華為Mate 30系列採用明顯側邊曲面設計的螢幕規格,無需硬體廠商另外撰寫硬體描述設置。

另外,在隱私與權限部分則是增加單次使用的位置存取、麥克風存取與相機權限存取設定,同時也會自動阻擋app重複權限請求,若使用者連續兩次選擇拒絕授權,系統就會限制app持續顯示權限存取請求訊息,避免造成使用干擾。

其他部分則包含加入可懸浮畫面上的聊天訊息氣泡,並且讓複製貼上功能變得更加直覺,另外也重新加入螢幕錄製功能,而針對去年推出的Pixel 4系列手機也改善Motion Sense浮空手勢操作功能。

至於在裝置上的人工智慧運算應用,Google此次也在Android 11加入全新Neural Networks API 1.3版本,藉此加快裝置端的人工智慧運算效率與運算廣度。

此次更新也包含針對Google Play安全強化、自動建議連接訊號較強的Wi-Fi網路、加強Call Screen電話接聽功能、支援HEIF圖像顯示,以及相機拍攝過程中自動關閉即時訊息通知、來電鈴聲或鬧鐘聲響,並且改善多媒體內容或連接HDMI輸出播放延遲。

Google接下來預期會在Google I/O 2020期間說明Android 11更具體細節,並且會在今年秋季釋出正式版本。

星期四, 1月 02, 2020

清單 - 區塊鏈可能用到的技術

◆ 前端支付錢包採「React Native Crypto」
◎基本技能
  ・React Native iOS and/or Android
 ・Redux, Redux Thunk, Reselect, keychain, lodash, gRPC
  ・rn-nodeify, bignumber.js, async-storage, emitter(events),
   javascript-state-machine, i18next
 ・Socket.io
  ・Node.js
 ・Git flow
  ・Object oriented concept (flow)

◎虛擬幣知識
 ・Bitcoin wallet with BIP49, BIP39 etc.
  ・Hashing, NaCl, encryption library usage

◎單元測試
  ・Jest, Babel preset, enzyme

◎產業知識
  ・Payment gateway knowledge is preferred
 ・Cryptocurrency knowledge, specially Bitcoin

◎可加分項目
  ・electron.js
  ・CI/CD
  ・虛擬幣知識, 特別是比特幣為基本
  ・Objective-c or Android Java


◆ 網頁後端使用Node.js
・虛擬幣知識, 特別是比特幣為基本
・lodash, socket.io, bitcoinjs-lib, buffer, bignumber.js, emitter(events), javascript-state-machine
・Git flow, Babel preset
・encryption library usage
・Unit test with gulp/jest. Usage of flow-bin and babel preset
・Web security conscious
・Object oriented concept
・Redis, Dockerfile
・Bitcoin's BIP49, BIP39
・NaCl, Hashing Domain knowhow
・SQLite, MySQL C++14


◆ 後端支付閘道用Node.js
・支付匝道的專業知識經驗
・其餘與「網頁後端使用Node.js」相同


◆ 採用Golang開發應用的知識
・熟悉 SQLite/MySQL 或 key/value 資料庫 相關使用能力
・熟悉基本密碼學(加解密、對稱、非對稱、Hash)
・熟悉基本區塊鏈概念(如比特幣)
・具備 concurrency ( goroutine、chan、chan token )應用能力
・具備 context、mutex、Sync 應用能力
・使用 Git, 版控流程融合 Github 和 Git flow 的能力。
・基本 Linux 作業環境系統操作
・ethereum 程式閱讀/開發

星期四, 12月 26, 2019

AI 學習地圖

國網中心之AI 學習地圖


AI 概略知識課程

一般概略知識的AI授課課程表:

週別 主題課程 內容大綱
1AI課程簡介
2資料分析與統計學1. 敘述性統計與機率分佈
2. 參數估計與假設檢定
3. 探索性資料分析與資料視覺化
3手把手資料分析實務
4機器學習與演算法概論1. 機器學習概論
2. 非監督式學習方法
3. 監督式學習方法
4. 學習理論、泛化與特徵重要性
5手把手機器學習實務
6深度學習入門1. 深度學習簡介
2. 深度學習實務技巧與前瞻技術
3. 對抗式學習入門
4. 強化學習入門
7電腦視覺1. CNN 原理簡介
2. 代表性 CNN 模型
3. CNN 於電腦視覺之應用與實際案例
8文字探勘與自然語言處理1. 文字能挖出什麼有價值的資訊
2. 如何進行文字探勘
3. 文字探勘與自然語言處理的實務應用
9語音與音樂訊號處理
10手把手深度學習實務
11推薦系統與聊天機器人1. 關聯式推薦 (association rule)
2. 內容推薦 (content-based recommendation)
3. 協同過濾推薦 (collaborative filtering)
4. 深廣學習 (wide & deep learning) 推薦系統
5. 傳統聊天機器人 vs. 深度聊天機器人
12社群媒體與社交網路分析1. 社群分析可以為組織帶來什麼好處?
2. 社群數據分析分享
13人工智慧的金融應用
14人工智慧開發環境建置
151. 深度學習在實作上的各種挑戰與困難
2. 從今天起打造第一支人工智慧團隊
3. 在引入 AI 之前,企業必須知道的資料分析與機器學習實務

16成果驗收

星期六, 12月 14, 2019

清單 - Web 各類範例

編輯

◆ CSS Only
  ◇ 水平線
   ・Div 底框當水平線及其色系

  ◇ 文字相關
   ・文字間距(字字之間,不是列列之間)

  ◇ 背景相關
   ・CSS background 3個應用範例


◆ Javascript 為主
  ◇ CSS
   ・從Javascript 修改 CSS


◆ 綜合 (css, html, javascript 等)
  ◇ Upload - 圖片
   ・即時預覽圖片、多檔上傳 (with no bootstrap, no JQuery)
   ・即時預覽圖片、單檔上傳 (with bootstrap & JQuery)

  ◇ Share to
   ・Web Share to 語法 (LINE, Facebook)

  ◇ 表格 (table)
   ・表格第一列及第一行固定不動

星期二, 11月 26, 2019

判斷上網設備(手機,桌機),並動態導向至可不同網頁

◆ 程式目的: 判斷上網設備(手機,桌機)並動態導向至不同網頁

◆ 注意事項: 以下程式必須放在HTML head > meta > titile 之後的第一時間執行

◆ split("/")技術細節說明

  ※web url sample: https://a.b.c/web_root/language/real_root/sub_folder
  ※web_root == folder of: desktop, mobile, ftp, ...
  ※language == en, tw, cn, ...
  ※real_root == index.html, index.php, folder name of project, css, imgs, js, ...
  
  aUrl[0] == https:
  aUrl[1] == null
  aUrl[2] == a.b.c
  aUrl[3] == web_root
  ...

◆ Javascript Source Code
<script>
  // web url sample: https://a.b.c/web_root/language/real_root/sub_folder
  var sOriginUrl = document.URL;
  var aUrl = sOriginUrl.split("/");

  if (aUrl[3] === "desktop" && (aUrl[4] === "" || typeof aUrl[4] == "undefined")){
    window.location = "/desktop/<language>";
  } else if (aUrl[3] === "mobile" && (aUrl[4] === "" || typeof aUrl[4] == "undefined")){
    window.location = "/mobile/<language>";
  }

  var gotoNewWebLocation = function() {
    var w = window,
      d = document,
      b = d.getElementsByTagName("body")[0],
      e = d.documentElement,
      x = e.clientWidth || b.clientWidth,
      y = e.clientHeight || b.clientHeight;
    
    // 舊手機規格以「768px-1」為判斷依據。Bootstrap 4 已改為「1200px-1」
    // 本人建議,仍須考量幾個手機螢幕規格的判斷點:
    //     1440x810, 1600x900, 1920x1080, 2560x1440
    // 其中,以 1920 x 1080 為門檻(人類視覺只要超過1920px就無法分辨出差別)
    
    // 注意 n == 所要判斷字串的字數,若是en, tw 則是 2
    if (x <= 767) { // or 1079
      if (aUrl[3] == "desktop" && aUrl[4].substr(0,n) == "<language>" ) window.location = "/mobile/<language>";
    } else {
      if (aUrl[3] == "mobile" && aUrl[4].substr(0,n) == "<language>") window.location = "/desktop/<language>";
    }
  };
  gotoNewWebLocation();
  
  if (window.addEventListener) {
    window.addEventListener("resize", gotoNewWebLocation);
    window.addEventListener("orientationchange", gotoNewWebLocation);
  } else if (window.attachEvent) { // 相容IE事件
    window.attachEvent("onresize", gotoNewWebLocation);
  }
</script>

星期日, 11月 17, 2019

清單 - Web 開發注意事項

編輯

※資料還不多,未來再連結至不同清單

◆ CSS
 ⦁ 某些宣告出現無法覆蓋現象,要注意是否有先使用「優先權語法」
  宣告,例如「 !important 」。

 ⦁ display
   ・display == flex or inline-flex 時
    - align-items  : 父層有設定,則子層設定無效
    - justify-content : 子層設定有設定,則父層設定無效


◆ RWD
 ⦁ 判斷上網設備(手機、桌機),並動態導向至可不同網頁

星期五, 11月 08, 2019

清單 - 投資理財

◆ FIRE (Financial Independence Retire Early)
 ⦁ 成功法則,與 4% 退休法則

成功法則,與 4% 退休法則

2019-11-07 12:03經濟日報 記者楊伶雯。出處

曾獲評選為第一名外資分析師、現為異康集團暨青興資本首席資深顧問的楊應超以40出頭的年紀就退休了,現在可以開心的做自己想做的事,很多人都好奇,他是怎麼做到的,怎麼樣才可以得到財務自由、提早退休,楊應超透露,其實最重要的只有一件事,就是「習慣」,「習慣好了,基本上賺錢很容易,真的很容易」,他強調,要靠工作賺錢,達到「FIRE(Financial Independence Retire Early)」財務自由、提早退休的目標,之後的投資也很簡單,就是買股票及債券,不用挑股,只要買美國ETF就可以了。

楊應超在2008年達到財務自由後首度從投資銀行退休,2016年巴克萊銀行退出亞洲業務時,第二次從投資銀行退休,退休後的3年間,他用分析師的精神,真的研究出一套很可靠的計算方法,可以算出來如何提早退休,達到FIRE的目標,他說,這一個計算法則是經過很多財務專家、會計師、理財專家真的驗證過的,很有效,很精準,很可靠的計算方法,就是所謂的4%法則。

楊應超指出,FIRE這個運動在美國這3~5年是非常流行的一個運動,Financial Independence是財務自由,Retire Early就是提早退休,雖然是說提早退休,但比較注重的是財務自由,因為財務自由之後才能做自己想做的事情,不是說退休之後在家什麼事都不做,而是要做自己想做的事情,這才是真的人生目標。

他說,每個人基本上從25~65歲,大學畢業之後,40年是人生最菁華的40年,通常大家都是上班到65歲退休領退休金,FIRE概念就是,如果人生最菁華40年,全部奉獻給公司有點可惜,為什麼不早點錢存夠做自己想做的事情 ,而且做自己想做的事情搞不好還會賺更多錢。

楊應超舉例,大家常問說郭台銘那時候退休?或者去選總統?「我一直講說,他會做到最後一天,就跟王永慶一樣,這些人不多,那也很恭喜他們找到一個真的喜歡做的事情,順便賺點錢。」但大部分的人是被工作綁住,不得不上班養家,FIRE運動就是讓大家存到一筆錢做自己想做的事,也就是財務獨立的一個概念。

財務自由這件事情,很多人第一個問題就是要存到多少錢才能退休,楊應超表示,很多雜誌就隨便扔一個數字出來,有點不太負責,因為每個人的花費不一樣,不可能隨便扔一個數字,所以在退休的三年時間就花了分析師的精神,真的去研究一套很可靠的計算方法,叫做4%法則,也就是說錢存到夠多,裡面的4%可以付一年的費用,就達到退休目標,4%的錢能過活,就有資格退休了。

楊應超表示,基本上存到每年花費的25倍就是4%法則,所以首先要知道每年要花多少錢,要做預算,假設每年花100萬元,25倍就是2,500萬元,就可以退休了,這些錢指的是日常開銷所需要的金額,不是說突然想買一部車,如果算的更精準的話可以設立不同的基金,例如可以設一個小基金是買房基金、醫療基金、旅遊基金等。

存到可以退休的錢之後,當然不可能放定存,這筆錢就拿去投資,楊應超說,基本上一半股票、一半債券就沒問題,或者是60%股票、40%債券積極一點也可以;一半股票、一半債券差不多這70、80年的長期報酬率大約是7~8%,拿7%比較保守一點來算,每年賺7%,4%拿來花,3%存回去當做通貨膨脹,這樣即使退休後的購買力也不會消失。

楊應超強調,透過4%法則存到退休金,用實際數字來算,基本上70%的機會是花一輩子沒問題,如果比較衰的遇到股市大跌、金融風暴等,再怎麼衰,也可以花29年,所以65歲退休加上29年,可以花很久;更保守的話就是用3%法則,就是存每年花費的33倍,存到這個錢就不用擔心,就安全的退休。

他以自己為例說明,退休時也怕萬一這錢沒存夠,所以真的花很多次算,算到一個自己覺的可以了,才真的就不做事了,楊應超說,他以3%法則來存;至於要多久才存的到,也有一個存錢表,假設可以存薪水50%,每年賺的錢花一半存一半,17年就搞定了,存愈多當然就愈快退休,例如存40%就是22年,20%就是37年,大部分人都是20%,約是60多歲退休。

楊應超最近出了一本書,財務自由的人生,他說,原本想寫的勵志書,因為想寫一些建議給年輕人,上班什麼這些習慣,後來發現大家對賺錢比較有興趣,財務自由,也不是壞事,只要習慣做好,賺錢是很容易的事情,打比方說,有點像開跑車,跑車不管怎麼樣多快、多漂亮,沒有油是跑不動的,所以想讓大家先把油加好才跑的快。

楊應超表示,在書中就說明了兩個問題,一個是多久可以退休?一個是存多少錢?至於投資股票及債券要怎麼選?楊應超語出驚人的說,不要挑股,因為挑股很難,建議大家不要挑股,就只要買美國的ETF就好,很簡單,只有3種,「我現在都這樣放,什麼都不要煩,也不用挑股也不用做功課,就放在那裡就好,就等於買美國股票」。

債券也是買ETF,不過,債券較多,就要自己去挑選安全重要,股票目的是賺錢,債券目的是保本,保本就是不需要賺錢但風險要夠低,如果買公司債就要買A評等以上,但A評等以上利息低,重點是安全,公司不能倒,債券就是定存,長期定存,選不同公司,不同評等。

楊應超表示,除了教大家怎麼挑股票,怎麼找工作之外,最重要的是教大家要養成習慣,做事的習慣、成功的習慣,「習慣好了,基本上賺錢很容易,真的很容易」,他強調,賺錢要靠工作賺錢,不能靠投資賺錢,方法是投資不需要理財,是錢放那兒就好,挑股太難了,把時間花在公司裡好好上班,加薪、升職,「就像我這樣子賺這個錢比較實在一點」,存到錢退休,錢再拿來投資,而不是把時間拿去炒股票,找好工作,像台積電、鴻海,薪水也不少,這樣存的才快。

楊應超透露,會想寫書,是想把一身的武功秘笈傳給小孩、給大家,因為都是靠自己努力的,被騙很多次,希望把經驗傳承下去;有句話說:「佛祖講的學生準備好了,老師才會來,我寫那麼多東西,你沒有準備好還是聽不懂,希望大家準備好。」