CTT
10種有用的AI工具 沒事收藏起來方便使用
以下是目前最常見的 AI 生產力工具介紹,以及適合的使用情境:
| 工具 | 主要用途 | 適合對象 |
|---|---|---|
| Gemini | Google AI 助理 | Google 生態系使用者 |
| Suno | AI 音樂創作 | 音樂創作者、自媒體 |
| Gamma | AI 簡報製作 | 商務人士、學生 |
| Notion | 筆記與知識管理 | 個人與團隊 |
| Deevid | AI 影片生成 | 行銷、自媒體 |
| ChatGPT | 通用 AI 助理 | 幾乎所有人 |
| NotebookLM | AI 研究助手 | 學生、研究人員 |
| Perplexity | AI 搜尋引擎 | 資訊蒐集者 |
| Canva | 設計與內容製作 | 設計新手到專業人士 |
| Napkin | AI 圖解生成 | 顧問、講師、產品經理 |
[Javascript] 物件的存取
結構:
stockTagList: { [key]: { name: "Default" } }
其中 [key]代表是變數,若沒有[],則key就是字串key
內容:
stockTagList: {
abc: { name: "Default" },
xyz: { name: "Tech" },
test: { name: "Finance" }
}
[Javascript] 超反人類語法避坑清單(實用版)
...(spread / rest)
[...arr]
問題點:完全看不出在幹嘛
正解:展開 / 複製 / 轉陣列
建議(你這種場景)
Array.from(arrLike)
✔ 比較好懂
✔ 好搜尋
??(nullish coalescing)
const name = input ?? "預設";
只在 null / undefined 才用預設
很多人以為等於 ||
0 || 100 // → 100 ❌
0 ?? 100 // → 0 ✅
坑點:0 / "" / false 不會觸發
|| 當預設值(舊寫法雷區)
const val = input || 100;
問題:
-
0 -
"" -
false
全部會被吃掉
現代建議:
const val = input ?? 100;
&& 偷偷執行(超陰)
isReady && doSomething();
意思是:
- 如果 isReady = true → 執行
問題:可讀性很差(新手完全看不懂)
建議
if (isReady) doSomething();
== vs ===(經典炸彈)
0 == false // true 😱
"" == 0 // true 😱
永遠用:
===
除非你非常確定在幹嘛(通常不是)
[] == false(地獄級)
[] == false // true 🤯
原因:JS 會偷偷轉型
解法:
不要用 ==
parseInt 沒給 radix
parseInt("08")
某些舊環境會變 0(當八進位)
正確:
parseInt("08", 10)
map 沒 return(超常見 bug)
arr.map(x => {
x * 2;
});
結果:
[undefined, undefined, undefined]
要嘛:
arr.map(x => x * 2);
或
arr.map(x => {
return x * 2;
});
forEach 不能 break(很多人中招)
arr.forEach(x => {
if (x === 3) break; // ❌ 直接爆
});
用:
for (const x of arr) {
if (x === 3) break;
}
this(最大魔王)
const obj = {
name: "A",
fn: function () {
console.log(this.name);
}
};
還算正常
但:
const fn = obj.fn;
fn(); // undefined 😱
this 會變
建議(簡化人生)
少用 this,多用:
const name = "A";
function fn() {
console.log(name);
}
或 arrow function(但也有坑)
setTimeout + loop
for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 100);
}
輸出:
3 3 3 😱
用 let
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 100);
}
空陣列判斷
if (arr) // ❌
永遠 true
正確:
if (arr.length > 0)
核心原則
如果你是走你這條路(高效 + 原生):
優先選:
- 可讀性高
- 好搜尋
- 行為明確
[Linux] 一般使用者權限的程式執行關機的方法
🔹 建立腳本
sudo nano /usr/local/bin/poweroff_safe.sh
內容:
#!/bin/bash
shutdown -h now
sudo chmod +x /usr/local/bin/poweroff_safe.sh
[Linux] RPI的GPIO控制
# 查看 GPIO 芯片
gpioinfo
cat /proc/bus/input/devices | grep gpio-keys
結果:
返回空
cat /proc/bus/input/devices | grep kbd
結果:
H: Handlers=kbd mouse0 event0
H: Handlers=kbd event1
H: Handlers=kbd event3
它們都是「鍵盤類 input device」,(可能是 USB keyboard / 虛擬 console / IR / 其他)
結論
GPIO26「很可能還沒被設成 gpio-keys」(或名稱不是 gpio-keys)
正常情況應該會看到:Name="gpio-keys"
最快確認方法
解釋 LS ES PS MP 產品階段
這些通常是硬體/製造業產品開發流程中的階段縮寫,不同公司細節略有差異,但業界常見解釋如下:
LS – Lab Sample(實驗室樣品)
-
目的:驗證概念與基本功能
-
特點:
-
多為手工製作或少量打樣
-
不一定符合最終外觀、尺寸或材料
-
主要測試電路、原理、可行性
-
-
風險:穩定度低,不適合對外或量產
半導體產業簡介
半導體產業簡介: 所謂微電子產業,就是生產 積體電路 ( 大陸稱為 集成電路 ) 的產業 。 積體電路 (Integrated Circuit ,簡稱 IC) 在電子學中是一種把電路(包括半導體裝置、元件)小型化的方式、並製造在半導體晶圓表面上。所以半導體只是製作「 ...
-
最近,隨著在中國大陸市場的獲利能力不斷攀升,溫水煮青蛙效應的無法自拔,台灣半導體企業已經喪失離開的能力和勇氣了! 首先是聯發科,大部分市場都在中國,手機客戶、電視客戶、投資匯頂科技,出售傑發科技等收益,讓聯發科樂不思蜀! 其次是台灣鎮島之寶---台積電!之前一...
-
1.一微處理機有18條位址線及16條資料線,最多可直接連接多少容量記憶體?(1) 128 (2) 256 (3) 1024 (4) 512 KBytes 16條資料線代表每字組為16bits(相當於2Bytes),可以這樣表示 1Word=16bits=2Bytes ...
-
電容器 將兩平行導電極板隔以絕緣物質而具有儲存電荷能力的器材,稱為電容器(capacitor 或 condenser)。導電極板稱為電容器之電極(electrode), 絕緣物質稱為電介質(dielectric)或簡稱介質。 電容器的代表字母是C﹝capacitor﹞,單...