實習

Flutter – StreamBuilder 邏輯與應用情境

Widget 邏輯 – 就記住一句話 The StreamBuilder widget connects to a Stream and asks Flutter to rebuild every time it receives an event using the given builder() function.也就是說,每次收到新的 async 通知都會 rebuild 一次。(根據 builder function 行動。) 因此 只要有需要「即時性」更新畫面、有所反應,我們就會使用到 StreamBuilder。 小故事 和各位分享一個小故事,我曾聽聞 StreamBuilder 用在 Authentication。當下我思索了腦中 Authentication 的結構模樣,實在想不出為什麼身份驗證需要透過 StreamBuilder 這等即時性驗證的東西來完成。 透過 http request 也可以實現 Authentication 啊?只要存取 Client Session 就可以知道使用者是否為登入狀態。 …

Flutter – StreamBuilder 邏輯與應用情境 Read More »

Llama 2 調研!文章解析 – 透過 CPU 運行 Llama2 模型?!

原文章 標題:構建能夠使用 CPU 運行的 MetaAI LlaMA2 中文大模型 網址:https://zhuanlan.zhihu.com/p/645426799 技術分析 前幾天和老師聊到 Meta 最新出的 Llama2 模型,老師就請我做一個 Colab 的實驗,結果我發現 Free 版本的 Colab 資源根本不夠用來運行 Llama2 模型,結果老師就丟了一篇文章還影片給我,問我為什麼別人可以。 於是,這篇文章就誕生了。 我把這篇文章丟給 ChatGPT,問他他用了哪些技術,為什麼可以降低跑模型的資源使用量,然後得到了一個技術名詞: 「知識蒸餾(Knowledge Distillation)」 知識蒸餾(Knowledge Distillation) 「知識蒸餾」是一種模型壓縮技術,其中一個大的、準確的模型(被稱為教師模型)被用來訓練一個較小的模型(被稱為學生模型)。 學生模型不僅學習從數據中得到的標籤,還學習教師模型的輸出。 這樣可以使學生模型達到與教師模型相似的性能,但模型大小和計算需求卻大大降低。 軟標籤 在知識蒸餾的過程中,學生模型不僅學習原始數據的標籤,還學習教師模型的預測結果。 這種學習過程通常涉及到使用「軟標籤」,這些標籤反映了教師模型對每個類別的信心水平,而不僅僅是最可能的類別。 這種方式提供了更多的信息,有助於學生模型學習更豐富的表示。 溫度縮放 知識蒸餾還可能涉及到「溫度縮放」,這是一種調整軟標籤的技術。 通過增加「溫度」參數,可以使軟標籤的分佈變得更加平滑,這有助於學生模型學習更多的信息。 訓練過程 在訓練學生模型時,使用了一種結合了軟標籤損失和硬標籤損失的損失函數。 這種方法允許學生模型同時學習教師模型的知識和原始數據的標籤。

AppSheet Automation Main Component Tutorial

快速帶你了解 AppSheet Automaiton 有哪些主要的 Component!

快速帶你了解 AppSheet Automation 有哪些主要的 Component! 前言 AppSheet Automation 是一個強大的自動化工具,能夠模仿人類在處理事務時的行為,提供更高效和準確的結果。 本文將說明 AppSheet Automation 有哪些主要的 Component。 故事! 我希望大家可以把兩個目標放在心中! 第一個要跟大家分享的,是我其實很希望可以將工作的內容分享給別人(沒有保密資訊啦哈哈)。一部分的原因是,可以和別人共享資訊,一起學習,另一個是讓家人知道自己在做什麼,不至於擔心。因此,所有文章的第一個短期目標,就是能夠透過 Email 通知其他人 Google Sheet 中更新了哪些資訊! 第二個要跟大家分享的,是公司其實有很多的學員、客戶,而公司內部其實會不定時的更新一些最新的資訊。後來老闆(也就是老師)希望把內部更新的這些資訊,一但更新了,可以一同通知想收到通知的人,一起跟上最新的資訊!因此,所有文章的首要目標,就是讓大家能夠做出一個可以更新資訊,就發送通知給擁有這個 App 其他使用者,就像是 Line 有新訊息會跳通知一樣。 主要的 Componenet Bot Bot是AppSheet自動化的核心組件,它定義了AppSheet自動執行的規則。通過設定Bot,你可以根據特定的條件和事件觸發相應的操作,實現自動化。 例如,你可以設定Bot在特定時間或數據更新時執行相應的任務和行動,如發送電子郵件或更新表格條目。 Event Event是用於識別數據變化或計劃的組件,它是觸發Bot執行的觸發器。通過設定Event,你可以指定當數據發生變化或符合特定條件時,觸發相應的Bot執行。這使得你能夠根據不同的事件來自動執行相應的操作,提高工作效率。 Process Process是描述Bot執行步驟的組件,它按照指定的順序引導Bot的操作。在Process中,你可以定義觸發Bot時需要執行的一系列步驟,包括任務和行動。透過Process,你可以精確地控制Bot的執行流程,確保每個步驟按照順序執行,從而實現更高效的自動化流程。 Task Task是基於任務的步驟,用於定義流程中的具體任務。在Task中,你可以指定需要執行的具體任務,例如發送電子郵件、生成報告或更新數據等。透過Task,你可以將流程細分為不同的任務,使得自動化的流程更加清晰和可管理。 Action Action是基於行動的步驟,用於定義流程中的相應行動。在Action中,你可以指定需要執行的具體行動,例如添加表格條目、發送通知或生成文件等。透過Action,你可以根據需求定義相應的行動,使得自動化流程更加靈活和多樣化。 Document Processing Documentation(文檔處理)是 AppSheet Automation 中的一個重要組件。它允許你自動從存儲為PDF、GIF、PNG、JPEG或TIFF文件的文檔中提取有用的內容。這使得文件處理更加便捷和自動化,節省了人工提取和整理數據的時間和精力。 總結 AppSheet Automation 提供了強大而靈活的自動化平台,可用於自動化商業流程和基於文件的工作流程。 Bot、Event、Process、Task、Action和Document processing是AppSheet自動化的主要組件,它們共同為用戶提供了一個全面的自動化解決方案。 透過這些組件,你可以定義自動化的規則、觸發條件、執行步驟和相應行動,從而節省時間、提高效率並加速開發。同時,AppSheet Automation鼓勵組件的可重用性,讓你可以在不同的自動化中重複使用組件,進一步提升開發效率。 無論是分享工作內容還是跟上最新資訊,AppSheet …

快速帶你了解 AppSheet Automaiton 有哪些主要的 Component! Read More »

AppSheet Automation, Google WorkSpace AppSheet Bot Tutorial Image

探索 AppSheet Bot:4步驟搞懂 AppSheet 在做什麼?

探索 AppSheet:4步驟搞懂 AppSheet Bot 在做什麼? 前言 AppSheet Bot 是一個強大的自動化工具,能夠模仿人類在處理事務時的行為,提供更高效和準確的結果。 本文將深入探討 AppSheet Bot 的運作流程,以四個步驟為主軸,並運用人類世界的行為作為例子,讓您更加了解這一自動化工具的運作原理。 故事! 從這篇文章開始,我希望大家可以把兩個目標放在心中! 第一個要跟大家分享的,是我其實很希望可以將工作的內容分享給別人(沒有保密資訊啦哈哈)。一部分的原因是,可以和別人共享資訊,一起學習,另一個是讓家人知道自己在做什麼,不至於擔心。 因此,所有文章的第一個短期目標,就是能夠透過 Email 通知其他人 Google Sheet 中更新了哪些資訊! 第二個要跟大家分享的,是公司其實有很多的學員、客戶,而公司內部其實會不定時的更新一些最新的資訊。後來老闆(也就是老師)希望把內部更新的這些資訊,一但更新了,可以一同通知想收到通知的人,一起跟上最新的資訊! 因此,所有文章的首要目標,就是讓大家能夠做出一個可以更新資訊,就發送通知給擁有這個 App 其他使用者,就像是 Line 有新訊息會跳通知一樣。 四步驟搞懂 AppSheet Automation / Bot 在做什麼! 第一步:Event(事件) 事件是觸發 AppSheet Bot 行動的起點。 當使用者的輸入、時間觸發或特定條件的數據更新發生時,即可視為事件。 在人類世界中,當我們按下按鈕、發送郵件或到達特定時間點時,這些行動都可以視為事件。AppSheet Bot 也同樣依賴事件作為觸發機制,來啟動機器人的下一步行動。 第二步:Process(處理) 一旦事件被觸發,AppSheet Bot 進入處理階段。 機器人根據事件的內容和設定,開始處理相關的任務或指令。像是,當我們按下按鈕後,機器人就會根據按鈕設定的任務執行相應的操作,例如檢索數據、生成報告等。 在人類世界中,按下按鈕後,我們會期望看到相對應的反應。 AppSheet Bot 的處理階段也類似,它根據事件的內容和設定來進行相關的處理任務。 第三步:Step(步驟) 在處理階段中,AppSheet Bot …

探索 AppSheet Bot:4步驟搞懂 AppSheet 在做什麼? Read More »

Google WorkSpace 強大工具組提升你的工作效率​

Google WorkSpace:強大工具組提升你的工作效率

Google WorkSpace:強大工具組提升你的工作效率 前言 Google Workspace 是一個功能強大且全面的協作工具組,旨在幫助個人和團隊提高工作效率、增強協作能力並加快工作流程。 底下將簡單介紹 Google Workspace 裡的各個 App,分別有哪些功能! 為什麼要使用 Google WorkSpace Apps? 在我過去的經驗中,我遇到了一個情境,讓我深刻體會到使用 Google Workspace Apps 的重要性。 有一次,我外出旅行時,突然需要處理一些行政文書。然而,我發現我身上沒有攜帶檔案,而且手邊的電腦也沒有安裝 Microsoft Office 軟體,這讓我感到非常不便。 於是我開始思考,如果我能夠將所有工作所需的文件都放在雲端,並且只需透過網頁操作就能進行編輯,那該有多方便呢?正是出於這樣的需求,我開始嘗試辦公軟體的另一大品牌 Google Workspace。 雖然現在 Microsoft Office 也已經能夠在網頁上執行,但身為一位軟體工程師,我發現它在處理程式相關文件方面的支援並不完善。然而,Google Workspace 再次滿足了我的需求。 不論是無程式開發平台的 AppSheet,還是可以撰寫程式的 App Script,Google Workspace 都讓我能夠透過程式大展身手,協助我處理各種文書工作。 除此之外,Google Workspace 還提供了一系列其他強大的應用程式,例如 Gmail、Google 日曆、Google 文件、Google 表單等,這些應用程式可以協助我們提高工作效率、增強協作能力,並加速工作流程。 最重要的事,要開始使用這些軟體,只需要申請一個 Gmail 帳號,就能體驗以上這些 App! 總結而言,Google Workspace Apps 提供了一個完整且便捷的工作平台,讓我們可以輕鬆地將文件放在雲端,透過網頁操作進行編輯,並且還滿足了程式相關工作的需求。這不僅方便了我的工作,還讓我能夠更加專注和高效地處理各種文書工作。 無論是在處理日常行政文書還是進行程式開發,我強烈推薦使用 …

Google WorkSpace:強大工具組提升你的工作效率 Read More »

無代碼應用程式開發平台 – AppSheet

打造您的應用程式:AppSheet 無代碼應用程式平台 介紹 AppSheet 簡介 AppSheet 是一個無代碼開發平台,旨在讓使用者輕鬆地創建和管理應用程式,而無需寫複雜的程式碼。 這個強大的工具由 Google 提供,並允許使用者快速建立各種表格和網頁應用程式。 AppSheet 與 Google Workspace 數據以及其他第三方軟體和硬體的外部數據來源連結,為使用者提供了更廣泛的應用可能性。 為什麼選擇無代碼開發平台? 無代碼開發平台的選擇是為了提高開發效率和降低技術門檻。 相較於傳統的應用程式開發,無代碼平台讓非開發人員也能夠輕鬆參與應用程式的建立和維護。 這樣一來,不需要大量的時間和資源學習編程技能,企業和個人就能夠迅速地推出自己的應用程式。 無代碼開發平台還具有高度靈活性,允許使用者根據自己的需求自定義應用程式的功能和外觀。 這種簡單易用的開發方式為中小型企業和個人提供了一個理想的解決方案,讓他們能夠快速、便捷地建立自己的應用程式,提升工作效率和創造力。 AppSheet 的基本功能 創建和管理表格應用程式 AppSheet 可以使用直觀的界面來建立表格,定義欄位,設定數據類型,以及添加驗證規則。 舉個例子,假設您需要創建一個工作報告的應用程式,您可以在 AppSheet 上輕鬆地建立一個表格,包含日期、工作內容、工時等欄位,並設定欄位的格式和驗證規則。 這樣,您就可以方便地管理和追蹤每天的工作報告。 支援各種行動裝置和瀏覽器 AppSheet 的應用程式具有高度的動態性,可以在各種行動裝置和瀏覽器上運行。 不管是在您的手機、平板還是電腦上,您都可以輕鬆地訪問和使用這些應用程式。 舉個例子,假設我們正在使用一個在 AppSheet 上建立的調查應用程式,我們可以在任何時間、任何地點使用自己的手機填寫調查表單,而且即使切換到平板或電腦,仍然能夠輕鬆地瀏覽和編輯相同的應用程式。 數據連結與整合功能 AppSheet 具有強大的數據連結和整合功能,可以讓您輕鬆地連接到各種數據來源。 它可以與 Google Workspace 的數據庫進行無縫連接,同時也支援與其他第三方軟體和硬體的數據庫集成。 舉個例子,假設要建立一個銷售記錄的應用程式,我們可以將其連接到您的 Google Sheets 試算表,從而實時更新和查看銷售數據。 同時,哪怕銷售數據存儲在其他系統中,比如 CRM 軟體,我們也可以輕鬆地將這些數據整合到 AppSheet 應用程式中,實現全面的數據管理和分析。 自動化工作流程的整合 AppSheet …

無代碼應用程式開發平台 – AppSheet Read More »

2023/6/17 每日筆記

每日筆記 前言 以下是今天的主題: 數位行銷 & 數據行銷 數位行銷 & 數據行銷 來到公司後,規劃中有一項目標是「協助公司進行內部數據系統彙整」,每一個系統的開發、設計,背後都有其相應的理由。目前預計使用 Google Sheet、AppSheet、AppScript 來協助公司彙整、分析已有的數據。 因此,有幾個目標需要學習: 如何進行 數據分析(包括 取得、處理清理、彙整、創新、呈現) Google AppSheet、Google AppScript 使用、開發的學習。 數位行銷 & 數據行銷 我還不是很清楚這兩者的差異,以及其內容「大概」在做什麼,因此先調查相關資訊。 digitspark – 淺談數位行銷 & 數據行銷  電子豹 – EDM 行銷為什麼還是這麼夯?再行銷:抓住老顧客、增加黏性、提升客戶終生價值 EDM(Electronic Direct Mail) 目的大致可以歸類為: 加強印象延長關係 電子商務增加營收 提高實體活動參與 訊息傳遞 -> 客戶點閱 -> 點擊信件內的 CTA 連結而成功轉換。 以「新客戶」來說 => 潛在客戶 -> 使用廣告簡訊、廣告聯播、FB、Line@、IG、Youtube等 準客戶 -> …

2023/6/17 每日筆記 Read More »

2023/6/15 每日筆記

每日筆記 前言 今天有以下幾個主題: Networking & http JSON & serialization Networking & http 使用 http package Future is a core Dart class for working with async operations. A Future object represents a potential value or error that will be available at some time in the future. The http.Response class contains the data received from a successful http call.  “If …

2023/6/15 每日筆記 Read More »

2023/6/16 每日筆記

每日筆記 之後應該不太會在這裡寫詳細的 Flutter 學習內容了,就紀錄一些自己讀過的東西,又或是當隨手筆記來做。 前言 今天有以下幾個主題: Flutter Networking & http & JSON & background process  (Flutter) Application Development Standard Operation Procedure(SOP) Flutter Error handling CTO、CIO? Flutter Networking & http & JSON & background process [1] Flutter – Networking – Fetch data from the internet[2] Flutter – Networking – Make authenticated requests[3] Flutter – Networking – …

2023/6/16 每日筆記 Read More »

2023/6/14 每日筆記

每日筆記 前言 今天有以下幾個主題: 上台報告的準備 Flutter Learning 上台報告的準備 今天花了很多時間在處理簡報,以及練習如何報告。 簡報在製作時是一種資訊的主觀詮釋,要知道如何控制焦點,視覺上應該有反差點,反差點是想暗示的部分。除此之外,當版面有點混亂時,可以先拿掉次要插圖、框下減少雜訊,再針對講解重點增強資訊。 Flutter Learning Debugging Debugging 可以分為 Breakpoints 和 Stack Trace,詳細的內容可以參考以下的影片。 https://www.youtube.com/watch?v=O0UvfT5bUPg State Management 接下來要進入 API Call 的部分,不過在實際進入之前,應該先好好了解一下「State Management」。 和 Android SDK or ios UIkit 不同,在 Flutter 中,我們可以重建部分 UI 而不是修改它。Flutter 有足夠的速度可以每次都做這件事(甚至每一個 frame)。 Flutter is declarative. This means that Flutter builds its user interface to reflect the current state of …

2023/6/14 每日筆記 Read More »