# 資訊科技與媒體識讀 共筆筆記 (114下) ## 3/02 ## 一些名詞 - analog 類比、 digital 數位 - 連續 & 離散(0、1) - bit 位元、 byte 位元組、 pixel 像素 - 1 byte = 8 bits - 大部分時候 1 pixel = 3 bytes (RGB三原色成分各佔用1個byte); 較低色彩解析度或灰階圖片則可能更省空間 - 點陣圖檔: bmp、 png (不失真,壓縮效率差)、 jpg (會失真,壓縮效率高) ; 向量圖檔: svg - source code 原始碼、 binary file 二進位檔、 reverse engineering 逆向工程 - [radix conversion](https://www.numberworld.org/y-cruncher/internals/radix-conversion.html) : 進制轉換。16 radix conversion(hex)、8 radix conversion(oct) ,etc。 - 字元編碼 character encoding 的方式 - [ASCII](https://ss64.com/ascii.html):常用英文和符號 - **length** : 1 byte - big5:台灣編碼;每一個中文字用2bytes表達 - gb2312c中國簡字編碼 gb=國標 - shift jis:日本編碼 - [Unicode](https://zh.wikipedia.org/zh-tw/%E7%BB%9F%E4%B8%80%E7%A0%81):萬國碼,啥都有;最常見的: 最常用的編碼方式是`utf-8` - utf-8一個中文字佔3bytes - character encoding字元編碼 - 雜湊hash - - 過程不可逆,但不等於「加密」 - sha256 在終端機,你可以用下面這個指令把任何字串做 hash ```bash $ echo -n "something" | sha256' ``` ## 3/09 - source code:原始碼 - 人類講給電腦聽的話 - 二進位檔 binary - 裝了很多 0 和 1 ,是 [ISA](https://en.wikipedia.org/wiki/Instruction_set_architecture) 定義的操作指令,給機器看的 - 編譯:原始碼轉換成可執行檔 executable (屬於二進位檔的一種) - reverse engineering 逆向工程(將可執行檔轉換成人看得懂的原始碼) - 有些情況開發者會用原始碼混淆(Obfuscation)來避免有人直接看懂程式碼邏輯 - 常見圖檔格式 - png 非破壞性壓縮(lossless)的每一格稱為pixel,png就是壓縮過的bmp檔 - BMP 未壓縮,檔案很大 - JPEG 破壞性壓縮(lossy) - SVG scatterable vector graphic 可縮放向量圖檔 - 向量,全是數學表達式紀錄軌跡和顏色,完全不失真 - 用數學式[畫圓範例](https://www.w3schools.com/graphics/tryit.asp?filename=trysvg_myfirst) - [W3C SVG intro](https://www.w3schools.com/graphics/svg_intro.asp) > 破壞性壓縮:重複壓縮再解壓縮會失真 > 非破壞性壓縮:不會失真,但佔空間大 | | 點陣圖 | 向量圖 | | -------- | -------- | -------- | | 格式 | bmp. png. jpg | svg. ps. | |開源解決方案|GIMP|Inkscape| |對應授權軟體|PhotoShotp|以拉| - 辦公軟體開源格式 - odt (open document text)文字 - 兼容 docx - ods(open document statistic)試算表 - 兼容 xlsx - odp(open document presentation)簡報 - 兼容 pptx - *file format specification* 檔案格式規格書 - 開放檔案格式會放在網路上寫出定義,這對於開發者會比較友善,容易有其他衍生品被貢獻 - 舉個例子:我如果今天要實作看圖軟體,有提供規格書的會比較好實作支援 - barrier of exit 轉換障礙 - import 匯入 - export 匯出 - network externality 網路外部性 - 例: [Metcalfe's law](https://blog.maxkit.com.tw/2017/03/metcalfes-law.html) 說:通訊工具的價值大約和使用人數平方成正比 => 所以即使 [LINE 很爛](#解釋為什麼你該逃離-LINE)大家還是不得不用 - 不過也有負的例子,例如衣服(怕撞衫) - 電腦開機順序 1.進bios/UEFI (韌體(Firmware)取得控制權 ) 2.進作業系統(有好多分割區 [partition]) -boot loader 開機載入程式:硬碟上最早取得控制權的程式 - 選擇開機方式 - 硬碟開機 - 硬碟有好多分割區 [partition](https://linux.vbird.org/linux_basic/centos7/0130designlinux.php) - 網路開機 - 搜尋技巧 - 當你知道一個付費授權閉源軟體可以加上open souce 找到替代方案,通常一般人的使用量不需要用到付費方案 ## 3/16 - [Richard Stallman](https://www.stallman.org/) 開啟了自由軟體的運動 - 原始碼授權觀念 - 開放原始碼軟體 opensource(自由軟體 free)提倡四大自由 - 使用、研究、散布、修改 - GNU general public license 革奴計畫:授權 - public domain 公領域 - 任何人都可以隨便用,包括重製成封閉原始碼、商業軟體 - Free as in free speech - 自由軟體並不侷限「免費」,你依然可以使用自由軟體賺錢 - - kernel 核心(by linux torvalds) - 和硬體溝通最核心的元件 - secure boot 安全開機: UEFI 裡面的設定。 [名不符實](https://ckhung0.blogspot.com/2024/09/secure-boot.html)。 - linux 有很多不同的發行版本 [distribution](https://commons.wikimedia.org/wiki/File:2023_Linux_Distributions_Timeline.svg) - 歷史總數 1000+ - Debian Family - Red Hat (RPM) Family - Arch Linux Family - SUSE Family - 教終端機技巧 - 指令型態 - 動作 <參數> ## 3/23 - [Regular Expression](https://frdm.cyut.edu.tw/~ckhung/b/re/index.php) - 語法:PCRE Perl Compatible Regular Expressions ## 4/6 - 放假停課 ## 4/13 - [計畫報廢](https://ckhung0.blogspot.com/2016/09/apple-planned-obsolescence.html)(planned obsolescence) - 故意把產品生命週期設計的很短 - 軟硬體無法向前支援 - 刻意宣傳用舊版本的缺點 - linear scale vs log scale - scatter plot 散點圖 / bubble chart 氣泡圖 (可以用位置、位置、面積、顏色四個視覺變數同時呈現四個數值欄位,甚至可以用斜率顯示其中兩欄位的比值) - [視覺變數](https://ckhung.github.io/a/m/23/viz/viz-vars.jpg)(visual variable),由容易辨識程度由高到低排序: - 位置 - 長度 - 角度、斜率 - 面積 - 體積 - 顏色、密度 ## 4/20 - graphviz 的 dot 格式 - 智慧財產權 vs 注意力經濟 - 諾貝爾經濟學獎得主 Herbert Simon - 資訊會消耗人的注意力,注意力是珍稀資產 - Michael Goldhaber:網路的自然經濟 - 談論網路為經濟模式帶來的改變 - Lawrence Lessig 「自由文化」作者、創用 cc 發明人 - 傳統 copyright vs. creative commons 創用 cc vs. public domain 公領域 - Derivative Work 衍生創作 - Copyleft 概念的諸多實作案例: GPL、 MPL、 創用 cc 當中的 "sa" 條款 - by/Attribution/保留姓名、 nd/No Derivative/禁止改作、 sa/Share Alike/相同方式分享、 nc/Non-Commercial/禁止商業使用 - 創用 cc 的六種常用組合套餐, 其中 cc-by 類似自由軟體的 MIT/BSD/XFree86, cc-by-sa 類似自由軟體的 GPL, 維基百科只敢收這兩者 - default 預設值 ## 4/27 - Chris Anderson 提出長尾現象 (long tails) - 以熱門度為縱軸、 排名為橫軸所畫的圖 - Popularity - y -axis - ranking x-axis - 網路讓圖的尾巴變長、變厚、重心從頭部往尾部移 - 市場出現多樣化的商品,但每樣都少量供給 - surveillance pricing - 需求定價,發現你的需求比較高,就把價格調高 - Shoshana Zuboff 提出 surveillance capitalism - dark patterns / deceptive patterns / 暗黑模式 - 使用價值 use value / 多有用 - 販售價值 sale value / 價格 - seo (search engine optimization) - 搜尋引擎最佳化 - 幫網頁做有利網路爬蟲編入搜尋引擎索引的資訊補充 - 劍橋分析案 (cambridge analytica) - 提供用戶資料再傳回去造成很大影響力 - 與 Facebook 利用 social media 散佈操弄過的資訊,影響大家的決策 - 高牆花園 walled garden - 被刻意設計成進容易出去難的網路平台,還有要進去才看得到內容 - targeted ads 定向廣告 - 針對個人偏好投放廣告 - grassroot movement 草根運動 - astroturfing 偽草根運動 - 偽草根運動 - 大公司操弄出來的草根運動 - 洗讚數、流量、網軍 - 歐盟 GDPR - 作業內容,自己回家看 ## 5/04 - reputation economy 信譽經濟 - rage bait / emotional marketing / neuralmarketing - biometrics 生物辨識資訊 - brain rot 腦腐 --- # 【上機提示及其他較長的筆記】 ## 通用 - [廣播視窗](http://140.120.151.65:6080/vnc.html) - markdown 可以讓你自己決定字有多大 ```markdown # h1 ## h2 ### h3 list - 清單 font **this is bold** *this is Italics* ~~刪除線~~ ``` - 老師的 novnc (「單一視窗廣播」) 網址: - putty 連線: 參數請寫在自己的筆記裡, **不要在這裡公開!!** 登入時的操作重點: - 打密碼時,看起來沒有反應? 但伺服器其實已有收到。 不要害怕,矇著眼睛有信心地打完就對了。 - 建議先在 geany 裡面打出密碼, 再剪貼到 putty 去。 - 30分鐘內打錯5次會被停權6小時。 ### 用終端機連線進去老師的主機 - 進 cmd 或任何終端輸入(自己替換帳號和主機位置): ``` ssh -p 22919 s<student-id>@<domain> ``` - 然後會要求密碼,密碼不會顯示在螢幕上 ### 如果你不想每次登入都打密碼 那好,首先你得固定使用自己的電腦,然後做下面這些操作 ### 產生金鑰 這會產生一對金鑰,一個是你的原檔名,另一個加上 .pub 。如果你不知道什麼是公鑰私鑰,RSA 非對稱加密了解一下。簡單說世界上只有這兩個檔案有辦法認出彼此。你帶著私鑰給持有公鑰的主機,對方就會知道真的是你來了。 ```bash ssh-keygen -o -t ed25519 -f ~/.ssh/<key-name> ``` 輸入這個指令的時候會叫你打 phrase 和反覆確認,這是之後使用這把鑰匙的文字鑰匙,你可以直接按 enter 留空,使用就不用再打任何東西。 ### 複製自己的公鑰到伺服器 用參數`-i` 指定要用哪一把公鑰(如果有你很多把的話),只有一把就不用`-i ~/.ssh/my_server_key.pub` ```bash ssh-copy-id -i ~/.ssh/my_server_key.pub remote_user@remote_host ``` ### 寫config 在`~/.ssh/config`這個檔案中寫 ```bash= Host nimbus Hostname numbus.frdm.info User s<YOUT_STUDENT_ID> IdentityFile ~/.ssh/<YOUR_KEY_FILE> Port 22919 ``` 這樣之後在終端機輸入`ssh nimbus`就會直接連上去。 ## 作業系統 ![image](https://hackmd.io/_uploads/r1IF_KMtZg.png) - 電腦開機需要有operating system(OS)作業系統 ### 其他常見作業系統 - Linux - 有超多發行版,Arch 超棒!! - FreeBSD - MacOS ## 為什麼要學下指令 - AI 可以更好的輔助你操作,圖形化可能就得依靠 MCP 還不一定做對 - 指令在各個電腦大多通用 - 電腦公司希望綁住你在他們的產品!! - [扫盲 Linux&UNIX 命令行——从“电传打字机”聊到“shell 脚本编程”](https://program-think.blogspot.com/2019/11/POSIX-TUI-from-TTY-to-Shell-Programming.html) - [shell introduction slide by NYCU CSIE](https://gamma.app/docs/Introduction-to-HPC-2m2boog2daohdkc?mode=doc) ## 作業 - 看[影片](https://www.youtube.com/watch?v=q09z946XeWE),到點名表貼上影片中最有感覺的一句話 ## 03/09 ## 如何逆向工程 這裡有一些工具和它的功能 - IDA 把 bin 丟進去裡面,他就會解析出原始碼邏輯和機器語言 - gdb ``` gdb ./<your_binary_file> ``` gdb是一個動態(邊執行邊偵錯)偵錯debuger,可以顯示出 bin 的 assembly language,就可以推敲~~通靈~~出原始碼。 ## 圖解開機流程 ![image](https://hackmd.io/_uploads/HJ8QAkH5We.png) > [image source](https://www.linkedin.com/pulse/understanding-linux-boot-process-how-your-system-comes-rajeev-barnwal-3mjfc) ## 解釋為什麼你該逃離 LINE - [Each:給 Line 的一封信](https://www.iach.cc/dear-line/) - [Wiwi 我同意](https://wiwi.blog/blog/line-privacy-policy/) - [資訊人權貴:Line 準難民的逃亡計畫](https://ckhung0.blogspot.com/2025/10/line.html) - [資訊人權貴:Line 不僅是高牆花園, 也是國安要害](https://ckhung0.blogspot.com/2018/07/line.html) ## 如何更有效的認識 Linux 不同的發行版 - ~~探索作業系統娘~~ - https://www.iach.cc/os-tans/4 ## 3/16 - 關於 os... ![image](https://hackmd.io/_uploads/Bkom7xrc-g.png) - 一個程序在電腦中的層級 - 如下圖,最外層 utillties 就是 applaction ,是平常使用者接觸的介面和軟體。 ![image](https://hackmd.io/_uploads/r1rXJxrcbe.png)