2020年4月13日 星期一

GT125機車,更換機油DIY教學

要DIY更換機油之前,請先確保有下圖幾項工具




















由左至右分別為:
1. 17mm套筒(必要),
2. 4T機油一罐(必要),
3. 空寶特瓶,裝漏出的機油(必要),也可以找其他容器替代
4. 長漏斗,最好買長一點的,要塞到放入機油的孔內(必要)
5. 剪刀,用來裁剪第三項寶特瓶 >.<

工具都齊全之後,把機車架好中柱,就可以來DIY換機油了,步驟如下:

1. 使用17mm套筒打開洩油螺絲,逆時針鬆開螺絲順時針鎖緊螺絲,洩油螺絲的位置,位於機車的左側,如下圖所示:
















再更近一點的圖:(逆時針鬆開螺絲,要鬆開時記得壓緊套筒再轉,避免滑牙)



















2. 快要轉開時,記得要先把寶特瓶容器放在下方,接住廢油,等待廢油全部漏光,就可以把洩油螺絲再鎖回去



3.  鎖好洩油螺絲之後,換到機車右側,有個加入機油的地方(油尺),油尺是用來確認機油的新舊與機油剩餘容量的地方,我們徒手把它轉開,把新的機油從這個地方加入.
記住逆時針是鬆開順時針為鎖緊





4. 轉開之後,把準備好的漏斗插入孔內,接著開始加入新的機油,GT125是可以加滿一公升的機油的.



5. 加滿之後就把油尺順時針鎖回去,最後把漏斗放到空的機油罐,把廢棄機油從寶特瓶倒回機油罐內,拿去回收,這樣就大功告成了!


備註:在外面給機車行換機油,基本也都要$150,自己DIY買機油Mobile 4T大賣場才賣$88,DIY就省了$60元,而且半小時就可以搞定了~

2020年3月10日 星期二

C語言的運算符號"^"表示為XOR運算

如標題,C語言程式碼中看到    "^"   符號,是去做XOR運算的意思

XOR運算的真值表如下:










下面是一個簡單的範例:

int A=0, B=0;
int C;
C=A^B;  ==>   C結果是0

==============================

int A=0B=1;
int C;
C=A^B;  ==>   C結果是1

==============================

int A=1B=0;
int C;
C=A^B;  ==>   C結果是1

==============================

int A=1B=1;
int C;
C=A^B;  ==>   C結果是0

2020年3月8日 星期日

Linux底下parted工具的使用方式,建立GPT磁碟分割表

Linux底下,切割硬碟使用的工具,最常看到的是fdisk或是parted,而這兩個工具都可以輕鬆完成硬碟分割的工作

當硬碟大於2TB時,磁碟分割表需要建立為GPT時,就必須使用parted工具

parted的操作方式如下所介紹:
=================================================================
首先輸入 sudo parted /dev/sda 就可以針對/dev/sda 進入parted的操作介面 ,如果要操作的為/dev/sdb,則輸入sudo parted /dev/sdb(若是沒有parted,請使用apt-get去安裝)





操作介面:




輸入help可以顯示指令的使用說明





輸入quit則可以離開parted操作環境





輸入print指令,可以列出目前磁碟的分割區資訊



====================================================================

刪除磁碟分割區的指令
=================================================================
首先用print查詢有幾個分割區,再使用rm指令加上分割區編號來做刪除

輸入 rm 1 則刪除第一分割區
輸入 rm 2 則刪除第二分割區





=================================================================

建立磁碟分割區的指令
=================================================================
首先要建立磁碟分割表

建立 msdos(一般MBR): mklabel msdos





硬碟大於2TB,可以使用GPT:mklabel gpt





如果硬碟存在之前的分割表資訊,則會出現如下警告




若確定要重新建立,輸入y

接著建立磁碟分割區: mkpart





接下來依序輸入一些參數

Partition name?   [ ]?     test     <=== 輸入分割區名稱,不想輸入可以直接Enter
File system type?    [ext2]?      <=== 檔案系統格式,預設ext2,按Enter就可以
Start? 1                                     <=== 輸入起始位置
End?  50000                             <=== 輸入結束位置,磁碟大小為50GB

接著離開parted





最後在Linux底下,使用mkfs.ext4格式化剛剛切割好的分割區
mkfs.ext4 /dev/sdb1











2020年3月7日 星期六

大潤發牌抽取式衛生紙 VS 愛買牌抽取式衛生紙

之前衛生紙之亂的時候,有先買了200包全家的衛生紙,但是在半年前也已經用完,全家的衛生紙,說實在的滿好用的,不會太薄,那時候一包七塊,真的超級划算.

後來補了大潤發牌的衛生紙,130抽,結果用起來,很不滿意,紙張太薄,有時候抽取的時候就破了,上廁所擦屁股也很容易破掉,至少必需抽三張才比較不會破

今天去逛愛買,看到有愛買牌的衛生紙!! 100抽,24包,$185,換算下來一包約7.7元,而且整袋提起來,很有重量感.
結果回家迫不及待想打開用看看,發現觸感怎麼跟大潤發牌的一樣,也是一樣的薄,後來看了一下製造廠,兩間製造廠在隔壁,名字又差一個字,該不會是同一家吧(這個還需要查證) @@“

大潤發牌:僑豐造紙
愛買牌:英豐造紙

所以結論是,如果你不喜歡使用太薄的衛生紙,大潤發&愛買 自有品牌的衛生紙,是都不太推薦的,雖然便宜了點,但是用起來會讓你很想趕快用完,再換別牌的衛生紙使用.

以上是個人的使用心得~


2020年1月6日 星期一

printf印出16進制(HEX)的值

假設有個變數i,印出16進制的值的方法,如下:
printf("0x%08x\n", i);

簡單的範例如下:
==========================================
#include <stdio.h>

int main()
{
    int i=20;
    printf("i=0x%08x\n", i);
    return 0;
}
===========================================

Result:





2019年11月16日 星期六

永豐大戶升級帳戶並且可以自行設定約定帳戶

**** 前提必須要有讀卡機 + 電腦 ****

步驟如下:
1. 首先必須臨櫃告知行員要"開啟網路設定約定帳戶功能",行員會幫你升級帳戶等級,升級後你就有自行設定的權限,臨櫃設定後的次一工作日生效。

2. 接下來你必須申請網路銀行,因為要設定約定帳戶,只有"網路銀行""行動銀行"(手機APP)可以做設定(網路ATM無法設定),網路銀行申請網址如下(必須用到讀卡機):
申請網路銀行/密碼重置 --> WebATM申請(連接讀卡機)
https://mma.sinopac.com/MemberPortal/Member/ApplyMmaIndex.aspx

3. 網路銀行申請完成之後,馬上就可以登錄網路銀行,登陸之後,請選擇:
申請/設定 --> 常用非約定帳號--> 約定轉入帳號 --> 新增帳號


以上步驟完成,就可以了~

2019年10月15日 星期二

一版source code要編譯出兩個版本,#ifdef 加上 -D Macro 的用法

假設今天我有一隻code,我想要讓他編譯的時候可以編譯出VER1與VER2的不同結果,以不動到source code為原則,該怎麼作呢?

首先Code必須這樣寫:

=========== source.c =================
#include <stdio.h>
int main()
{
    #ifdef VER1
        printf("This is VER1 !\n");
    #else
        printf("This is VER2 !\n");
    #endif

    return 0;
}
====================================

編譯的時候,如果要編譯出VER1,則必須如下修改:
gcc source.c -o source -D VER1

如果要編譯出VER2,則必須如下修改:
gcc source.c -o source -D VER2











若是這些#ifdef是要改在 Linux Kernel,在source code 加完之後,-D Macro的部分可以直接加在 Linux Kernel的Makefile裡面,請找看看CFLAGS相關的,並且加在CFLAGS上面試試看,編譯後應該可以成功。













另外Makefile加完成之後,編譯時記得要下:
# make VER1=1

這樣子編譯才會跑到VER1定義的地方