JimmyLiu0530

@JimmyLiu0530

Joined on Sep 12, 2020

  • 綜和所得稅 報稅懶人包 (1) 計算「綜合所得總額」 以去年(1月至12月)為計算範圍,納稅義務人==本人==、==配偶==及==受扶養親屬==若有以下所得,必須一併申報:營利、執行業務、薪資、利息、租賃、權利金、自力耕作漁牧林礦、財產交易、競技競賽及機會中獎之獎金或給與、退職所得,以及其他所得。 註: 納稅義務人、配偶或申報受扶養親屬有「薪資收入」者,應分別就「薪資所得特別扣除額」或「必要費用」2擇1減除,減除後的餘額為薪資所得:
     Like  Bookmark
  • contributed by < JimmyLiu0530 > {%hackmd BJrTq20hE %} 課程錄影 (Fall 2015) 課程錄影(中英字幕) 課程介紹 (Spring 2021) 概述 CS:APP 在一開始利用所有新手程式員學的第一支程式,即在螢幕上輸出 hello world,來展示程式從被產出、執行、結束的過程,也幾乎都有點到了各章節的重點,因此接下來內容的範例幾乎都是以 hello.c 為主。
     Like  Bookmark
  • {%hackmd BJrTq20hE %} 最簡單方便的除錯工具不外乎是列印指令 (e.g., printf),但是設想下以下的情況: 某個迴圈可能在第一百萬零七十三次才出錯,這當中印出來的 debug 資料可能多到令人頭昏。因此我們需要一個工具,讓我們可以一邊執行你的程式, 一邊視需要將它停下來觀察當中某些變數的變化。如果發現問題不在此處,還可以叫它繼續執行。執行到一半,還可以手動修改變數的值,看看如果這個問題解決了,下個又在何處,一口氣解決好幾個問題。這些就是 debugger 的工作。 GDB 一種命令列模式的 debugger。若以下列語言撰寫程式 C, objective C, C++, Fortran, Pascal, Ada, ... 等等,而且採用的編譯器是來自 gnu,那麼就可以拿 GDB 來除錯。 使用方法 (以 c 程式舉例) 首先在編譯程式時,需要加上 -g 參數,以便編譯器將除錯資訊加入到程式裡:
     Like 8 Bookmark
  • {%hackmd BJrTq20hE %} 發生原因:如果 windows 中 wifi 可用,但在 Ubuntu 下不可用,那麼及有可能是無線網卡的驅動程式損壞或是消失。因此我們接下來要手動將驅動程式安裝回來。 首先,打開 terminal 使用命令查詢網卡的狀態 $ lshw -C network 得到類似的訊息如下:
     Like 12 Bookmark
  • {%hackmd BJrTq20hE %} Garbage collection on wiki Project proposal slides (link) Project presentation slides (link) Project Demo (link) Garbage Collector Basics Garbage collector: a dynamic storage allocator that automatically frees allocated blocks that are no longer needed by the program.
     Like  Bookmark
  • contributed by < JimmyLiu0530 > GitHub 測驗1: LeetCode 1409. Queries on a Permutation With Key 給定一個待查陣列 queries,陣列中的元素為 1 到 m 之間的正整數。請你根據以下規則處理所有待查項 $queries[i]$ (從 $i=0$ 到 $i=queries.length-1$): 起初排列 $P=[1,2,3,...,m]$ 對於目前 $i$,請你找出待查項 $queries[i]$ 在排列 $P$ 中的位置(索引自 0 開始),然後將其從原位置移動到排列 $P$ 的起始位置 (即索引為 0 處)。注意 $queries[i]$ 在 P 中的位置就是 $queries[i]$ 的查詢結果。
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗1: fp32 轉 bfloat16 bfloat16 浮點數格式由 Google 公司發展,最初用於該公司第三代 Tensor 處理單元 (Cloud TPU)。bfloat16 的主要想法是提供 16 位元浮點數格式,其動態範圍與標準 IEEE 754 的 FP32 (Single-precision floating-point format) 相同,但精度較低,相當於指數區和 FP32 保持相同的 8 位元,並將 FP32 的 fraction 區域縮減到 7 位元。 BFloat16 的範例 4049Hex = 0 10000000 1001001 = 3.14062510 ≈ π 下列是個轉換的程式:
     Like  Bookmark
  • contributed by< JimmyLiu0530 > Linked list 測驗題目 測驗1: singly linked list 題目給定 linked list 結構定義為: typedef struct __node { int value; struct __node *next;
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗一: Tail Recursion 給定兩個函式實作: int funcA(int i) { if (i == 0) return 0; return 5 * funcA(i - 1);
     Like  Bookmark
  • contributed by < JimmyLiu530 > 詳細作業解說 程式原理 CPY 與 REF 機制 在 test_common.c 程式碼中,針對字串地址的特性有兩種不同的機制: copy 機制 (CPY): 傳入 tst_ins_del 的字串地址所表示的值隨時會被覆寫,因此 eqkid 需要 malloc 新空間將其 copy 存起來; reference 機制 (REF): 傳進來的字串地址所表示的值一直屬於該字串,因此可將其當作 reference 直接存起來,不用 malloc 新空間。
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗1: Vector 考慮到一個針對空間處理最佳化的 vector 實作 支援以下操作: vec_push_back: 新增元素至 vector 的尾端,必要時會進行記憶體重新配置; vec_pop_back(): 刪除 vector 最尾端的元素;
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗1: LeetCode 1239. Maximum Length of a Concatenated String with Unique Characters 給定一個由 C 風格字串構成的陣列 arr,字串 s 是將 arr 某個字串連接所得的字串,若 s 中的每個字元都只出現一次,於是這會是個可能解。請提供所有可能解 s 中最大的長度。 範例 1 輸入 arr = ["un", "iq", "ue"]
     Like  Bookmark
  • 此筆記為研讀 此書 後的一些重點摘錄。 [下一章] 感知器(Perceptrons) 運作原理: 輸入: $x_1,x_2,...∈{0,1}$ 輸出: $0,\ if \sum_jw_jx_j+b \leq 0$
     Like  Bookmark
  • 人工智慧(Artificial Intelligence) 建立於機器上的類似大腦智慧的一種判斷機制 其目的以編寫程式的方式,模擬出人類大腦中的決策,並模仿、理解、學習等等特性,而形成類似人類的「智慧」 其中利用大量的硬體設備作為資訊來源作為訊息的接收,舉例以鏡頭串流影像作為人眼、以麥克風收集聲音作為耳朵等等。 人工智慧隸屬於大範疇,包含了機器學習(Machine Learning) 與深度學習(Deep Learning)。如下圖所示: 機器學習(Machine Learning)
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗一: 以下關於記憶體管理的描述,選出其中唯一正確的描述 Q1 = ? (a) 在一個 buddy system 中,最高可達 50% 的空間可因內部碎片化 (fragmentation) 而被浪費 (b) 平均來說,first-fit 演算法會比 best-fit 演算法來得慢 (c) 只有在 free list 依照記憶體地址遞增排序時,使用邊界標記來回收 (reclaim) 才會快速
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗1: 用 ANN 推理出 2-input multiplexer 的邏輯 類神經網路 (ANN) 介紹 在若干作業系統 (如 Linux, OpenBSD, MS-Windows, macOS) 中,Address space layout randomization (簡稱 ASLR) 是種防範記憶體損壞漏洞被利用的電腦安全技術,透過隨機放置行程關鍵資料區域的定址空間,防止攻擊者能可靠地跳躍到記憶體的特定位置。我們可利用 ASLR 來設定亂數種子,例如: static uint64_t splitmix_x; static void splitmix_init() {
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗一: LeetCode 1494. Parallel Courses II 給定一整數 $n$ 表示某所大學裡課程的數目,編號為 $1$ 到 $n$,給定陣列 dependencies,使得 $dependencies[i]=[x_i,y_i]$ 表示先修課的關係,亦即課程 $x_i$ 必須在課程 $y_i$ 之前選修並通過。 另外,給予一整數 $k$,表示在一個學期裡頭,最多可同時選修 $k$ 門課,前提是這些課的先修課在之前的學期裡已修過。程式應該回傳上完所有課最少需要多少個學期。題目保證一定存在一種修完所有課的方式。 [ ] 範例1 給定輸入:
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗1: RGB to Gray 給定每個像素 (pixel) 為 32-bit 的 RGBA 的位元圖 (bitmap),RGBA 代表紅綠藍三原色的首字母,Alpha 值則表示顏色的透明度/不透明度,其轉換為灰階影像 (gray scale) 的函式為: void rgba_to_bw(uint32_t *bitmap, int width, int height, long stride) { int row, col; uint32_t pixel, r, g, b, a, bw; for (row = 0; row < height; row++) {
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗1: 浮點數除法 考慮到以下浮點數除法程式: (fdiv.c) #include <stdio.h> #include <stdlib.h> double divop(double orig, int slots) { if (slots == 1 || orig == 0)
     Like  Bookmark
  • contributed by < JimmyLiu0530 > 測驗1: LeetCode 461. Hamming Distance 兩個整數間的 Hamming distance 為其二進位的每個位元的差。請計算輸入參數兩整數 x 與 y 的 Hamming distance,例如整數 1 的二進位為 0 0 0 1,而整數 4 的二進位為 0 1 0 0,則 1 與 4 的 Hamming distance 為 2。 int hammingDistance(int x, int y) { return __builtin_popcount(x OP y); } 程式說明
     Like  Bookmark