現在老師上課出「作業」給學生或是「筆試 」,能夠有效辨識學生的學習成效嗎? 答案很清楚 : 不行。 為何「作業」無法有效辨識學生的學習成效呢? 因為任何作業題目都可以透過 ChatGPT 或是 Google Gemini 等工具互相驗證得到水準以上的作業內容。這個作業內容再經過人類的修飾之後,AI 的味道就會逐漸淡化,最後就很難分辨到底是人寫的還是 AI 寫的? 為何「筆試」無法有效辨識學生的學習成效呢? 因為學生習慣使用 AI 工具,已經不太記憶一些基礎的東西。就像計算機用習慣了,加減乘除的能力自然會降低一樣。 Closed Book 的筆試下,大半學生寫的答案內容慘不忍睹,根本無法辨識學生程度。學生都已經習慣打字並且依賴AI協作,就算好學生也可能書寫得亂七八糟。 Open Book 的筆試下,學生寫的答案內容大多是從 AI 工具抄襲而來,根本沒有意義。就像考試時有個老師在旁邊協助,根本無法知道答案內容到底是誰寫的。 現在要有效驗收學生的學習成效,只有五種方式 : 口試、討論、即問即答、實作 、不看稿報告 。 以 MySQL 課程來說,因為口試、不看稿報告這兩種方式太花時間,大多不太可能施行。討論的方式對於工科的學生來說像是凌虐,因此透過工具「即問即答」或是「實作」,就是比較可…
InfinityFree 可以安裝 WordPress,也可以安裝 Woocommerce 外掛,但是當你測試下訂單再去看後台的 Woocommerce 的分析數據時,會發現怎麼訂單數字都是「0」? 這不是你的問題,而是 InfinityFree 提供的免費帳戶關閉了 Cron jobs。 Cron jobs 是什麼? 為何關閉後會讓 Woocommerce 不正常呢? 因為 Woocommerce 很多工作都依靠 Action Scheduler 在運作,而 Action Scheduler 會運作就是依賴 Cron jobs。 Cron 是一款基於時間的任務管理系統,使用者們可以通過 cron 在固定時間、日期、間隔下,執行定期任務。InfinityFree 不提供 cron 給免費帳戶是為了安全與效率因素,因為如果免費帳戶用 了太多的 cron jobs,會浪費資源拖垮其他使用者。 如果你去後台觀察,就可以看到如下圖 : 以上如果很多行程都沒有「完成」,就是因為 Action Scheduler 無法運作了。 因為效率問題,Woocommerce 不會在處理訂單時把彙整的動作一起做,他只會做寫入的動作,因此很多關聯的資料就必須靠 Action Scheduler 把正確的…
在學校課堂練習時,訂單資料表可能只有 order_head、order_body 兩張而已。但到了職場上,老闆叫你「從後台撈訂單資料做報表」,你會發現 WooCommerce 的訂單資料被拆在一堆 WordPress 核心資料表裡面,再加上一些 WooCommerce 自己的資料表,結構跟你熟悉的「訂單表頭/表身」完全不一樣。 我們在" WordPress 加上 Woocommerce 電子商務,如何從後台撈出商品資料? ",已經知道如何從後台撈出商品資料,現在我們來看看如何從後台撈出[訂單資料]。 首先要確定你的 Woocommerce 是舊的還是 HPOS (High Performance Order Storage 高效能訂單儲存) 的結構。 HPOS 高效能訂單儲存是什麼? 它是 WooCommerce 把「訂單」從 WordPress 的 posts/postmeta 架構搬出去,改用專用訂單資料表來儲存的一套機制(以前叫做 Custom Order Tables)。它採用 WooCommerce 的 CRUD(Create, Read, Update, Delete) 設計,讓訂單查詢更符合電商需求、也更好擴充與最佳化效能。 以往 WooComme…
我們在之前的文章探討過很多[產品/訂單]的實作練習 : 公司的產品資料與訂單 B2B網站的資料流流向圖 這些資料表結構其實都很簡單,就是產品資料表、產品類別資料表、訂單表頭資料表、訂單表身資料表。但是在實際應用上,到了公司上班以後,當老闆叫你從後台撈資料做報表時,你會發現怎麼跟我在學校學的都不一樣呢? 就好像下面這幅漫畫描述的一樣 : 學生會抱怨「老師教的都是沒用的東西」,因為上班時會發現怎麼跟學校學的差這麼多? 其實老師心裡想的是 : 「我教這麼簡單的內容,你都學不會了,我教企業現場應用的東西,不是自找麻煩嗎?」 現在,我們就來自找麻煩一下,看看許多中小企業在使用的 WordPress 平台下,使用 Woocommerce 電子商務的資料表是長什麼樣子? 我們將使用 InfinityFree 的免費平台安裝 WordPress 跟 Woocommerce ,安裝過程就不在這邊贅述,有空再另文說明。 從 phpMyAdmin 管理介面可以看到 WordPress 與 Woocommerce 的一大堆資料表如下 : 我們的目的不是要研究全部資料表,我們只把焦點放在跟 Woocommerce 有關的資料表上。 Woocommerce 由於要跟 WordPress 整合…
先簡單定義: 「資料庫 Database」就是一般的概念,「網路資料庫 Networked / Online Database」是透過網路來存取的資料庫,「分散式資料庫 Distributed Database」則是把同一個邏輯資料庫拆成多個節點分散儲存與運算的系統。 其實「資料庫」跟「網路資料庫」不容易區分開來,只能說某些資料庫更適合使用在網路上,提供使用者同時存取,就能夠稱為「網路資料庫」。 也就是「資料庫 Database」本身只是資料儲存與管理的系統,而「網路資料庫 Networked / Online Database」通常指的是部署在伺服器上,讓多個使用者可以透過網路「同時」連線存取的資料庫。也就是說,多數常見的資料庫系統,只要配合網路與伺服器架構,就可以成為網路資料庫。 早期使用的 Microsoft Access 資料庫,大多都使用在單機上,但是其實他也可以透過網路同時連線存取,只是連線存取的效能不一定可以滿足需求。 我們來嚴謹的定義一下「資料庫」與「網路資料庫」: 「資料庫」定義 : 資料庫是依照某種資料模型 (data model) 與結構化規則 (structured rule),持久化儲存的一組相關資料及其描述(中介資料/詮釋資料,metadata),它…
兩年前這篇" ChatGPT會不會寫MySQL指令? ",還在觀望ChatGPT是否真的可以寫MySQL指令,現在這些生成式AI的功能已經超乎想像了。 現在來使用 Perplexity + Comet 瀏覽器,嘗試讓他去規劃 MySQL 資料庫。 Perplexity 網址 : https://www.perplexity.ai/ Perplexity 推薦網址 (可以獲得免費專業版) : https://plex.it/referrals/W5FVMTVU Comet 瀏覽器網址 : https://www.perplexity.ai/comet/ Perplexity 是一家AI服務公司,他本身並沒有真正開發生成式AI,而是使用開源的大語言模型再去進行後續的微調和增強。此外,Perplexity 也整合了包括OpenAI的GPT-5、Claude、Llama 3等主流模型,並將這些模型與即時搜尋和多種技術結合,打造其AI搜尋產品和服務。 並且 Perplexity 推出 Comet 瀏覽器,將AI代理的功能整合在瀏覽器內,讓使用者可以直接讓AI代理自動處理瀏覽過程。 我們現在就來測試使用 Perplexity + Comet 瀏覽器,是否能夠自動規劃 …
通常初學者要練習MySQL,都必須先安裝MySQL,然後才能開始使用。如果經常使用不同電腦,除非使用雲端的MySQL,不然就必須每台電腦都要安裝。 現在的 AI 工具能否解決這個困難呢? ChatGPT 與 Gemini 都無法提供,但是竟然 Manus 提供了。 ChatGPT 網址 https://chatgpt.com/ Gemini 網址 https://gemini.google.com/ Manus 網址 https://manus.im/app Manus 推薦碼 https://manus.im/invitation/GX042V3UFP05U 使用這個推薦碼,註冊成功可獲 500 credits。 我們向 ChatGPT 詢問 : 「能否在此練習MySQL?」 獲得以下的答覆 : ChatGPT 答覆說可以一起練習,但這個對話環境無法直接啟動 MySQL 伺服器來「真的」執行 SQL指令。 再向 Gemini 詢問 : 「 能否在此練習MySQL? 」 獲得以下的答覆 : Gemini也是說無法直接在這個聊天室介面中「實際操作」或執行即時的 MySQL 指令。 但是向 Manus 詢問 : 「能否在此練習MySQL?」 獲得以下的答覆 : Manus竟然…
學生用了ChatGPT,他就可以獲得最複雜的MySQL指令,那麼老師應該怎麼教學MySQL呢? 老師出了再困難的資料庫作業,學生用了ChatGPT,每個人的作業都洋洋灑灑的,那麼老師應該怎麼評分呢? 不止是MySQL教學,這是很多老師都需要面對的問題。 根據我的經驗,老師授課應該「教導模式而非單純知識」。 以MySQL為例,知識就是指令,模式就是解決問題的方法,也可以說是解決問題的經驗。 學習MySQL時,指令當然還是很重要,但它是可以外掛的,也就是知道就好了,而不需要能夠默寫出來,需要的時候去Copilot或是ChatGPT一下就可以得到。因此,這個部分就不是MySQL教學的重點。 況且「知識」可能會過時,舊版的某些指令在新版就不適用了,例如舊版指令 CREATE TABLE t (...) TYPE=MyISAM; 現在新版指令是使用 CREATE TABLE t (...) ENGINE=MyISAM; 那麼MySQL教學的重點是什麼? 就是「模式」,碰到一個問題時,解決問題的方法或是經驗,這個部分就需要老師來引導。 舉個最簡單的例子,有了AI工具,大家都可以變成作家、畫家、動畫家、作曲家,但是困難的是在於要使用什麼工具? 要下什麼指令? 要做哪些設定? 也就是你要如何驅使…
MySQL 資料庫管理的範疇很廣,可以簡單理解成「確保資料能安全、快速、穩定地被儲存與使用」。 具體來說,管理的重點應該至少包含以下幾個項目: 使用者與權限管理、資料結構與資料表管理、資料庫效能管理、資料安全與備份、交易與鎖管理、安全性與稽核、整合與應用、系統維運及資料庫擴展等。 MySQL 資料庫管理就是在「設計結構 → 儲存資料 → 保護資料 → 提升效能 → 確保穩定 → 變動管理」這六大循環中持續運作。 台灣MySQL研究院認為可以根據「六大循環」來說明MySQL資料庫管理,到底是要管理什麼? 一、設計結構 資料結構與資料表管理 (Schema 設計、正規化、索引設計),資料庫擴展 (分區、分片、垂直/水平拆分)。 我們在 好壞資料庫結構 (database schema) 的差異是什麼? 也說過 : 好的資料庫結構 (database schema) 和壞的資料庫結構在多個方面存在顯著差異,這些差異會直接影響資料庫的效能、可維護性、擴展性和數據完整性。並且當開發系統時,好的資料庫結構可以讓程式容易撰寫及維護,而壞的資料庫結構可能讓程式變得很龐大,並且無法在變更系統需求時還能修改維護。 資料庫與資料表的結構是資料庫管理的基礎,這個包含了最初的資料庫有無考慮到擴展問題、資料…
面試時經常會問 : 「你會某某技能嗎?」 這是一個爛問法,讓面試者很難回答,因為什麼情況才算會? 因此台灣MySQL研究院今天要來談一下 : 能夠回答哪些問題,表示你懂MySQL? 根據台灣MySQL研究院多年經驗,MySQL的知識拆開為各個類別,大概可以分成以下幾類 : (1) MySQL資料庫的基本概念 (2) MySQL資料庫/資料表設計與正規化 (3) MySQL基礎語法與資料型態 (4) MySQL進階查詢 (5) MySQL索引與效能調校 (6) MySQL上鎖與交易 (7) MySQL程式邏輯與進階功能 (8) MySQL管理與備份 (9) MySQL整合與應用 以上這些類別的知識也有淺有深,我們把各個類別的知識從淺到深列出來探討。