macOS系統 https://marstree.ltd 火星樹資訊科技有限公司 專營系統、電子商務、資訊解決方案 Sat, 08 Aug 2020 09:55:47 +0000 zh-TW hourly 1 https://wordpress.org/?v=6.9.1 https://i0.wp.com/marstree.ltd/wp-content/uploads/2020/04/cropped-MarsTree.png?fit=32%2C32&ssl=1 macOS系統 https://marstree.ltd 32 32 176111519 自學Programming 裝備分享 – 硬件篇 https://marstree.ltd/hardware/ https://marstree.ltd/hardware/#respond Wed, 10 Jun 2020 18:12:58 +0000 https://www.theprogramclub.com/?p=258 有些人這陣子就問我,究竟我在自學Programming時,自己用了什麼裝備呢?我自學Programming應該看什麼的書籍呢?我今次一一列出我自己的裝備。

我是火星豬David! 是MARS tree的技術總監。在Programming方面已超過10年經驗,

這篇文章將會為大家分享自己在學習和做programming時,會使用到的一些裝備。

我講以下兩類的裝備:

  • [電腦硬件](#pc “電腦硬件”);
  • [書籍](#book “書籍”);

    這篇文章會介紹電腦硬件,下篇文章會介紹書籍;
    我們會不斷更新裝備清單,大家如果想一直留意我們的動態,你們可訂閱我們網站Programming 編程資訊吧!

電腦硬件 {#pc}

iMac

首先我會推薦大家用好的電腦,我起初去自學網站開發的時候,是用一台 Dell 的手機電腦,但之後就接觸到一台macbook pro, 發現性能和操作的習慣都是很方便,所以由此之後就轉會macOS 了。

在我現在MARStree 也是用macOS。關於Desktop 類電腦,我會使用iMac,使用的型號如下:

iMac 27-inch

Display: Retina 5K display
Processor: 3.1GHz 6‑core Intel Core i5 (Turbo Boost up to 4.3GHz)
Memory: 8GB (two 4GB) of 2666MHz DDR4 memory; four SO-DIMM slots, user accessible
Storage: 1TB Fusion Drive
Graphics: Radeon Pro 575X with 4GB of GDDR5 memory

更多資料可以前往Apple查閱

MacBook Pro

由於我工作的需要,需要帶laptop 外出工作,我們使用MacBook Pro 13-inch。因為MacBook Pro 都有一定的重量,外出工作可以用較為輕和小的型號,然而它的性能非常之好,可以做到很多的運算:

MacBook Pro 13-inch

Display: Retina display 13.3‑inch (diagonal) LED-backlit display with IPS technology;
Processor: 1.4GHz quad‑core Intel Core i5, Turbo Boost up to 3.9GHz, with 128MB of eDRAM
Storage: 256GB SSD
Memory: 8GB of 2133MHz LPDDR3 onboard memory

更多資料可以前往Apple查閱

Samsung T5 Portable Harddisk

然而,因為MacBook ProSSD硬盤的儲存比較細小,經常有不足夠空間的問題,所以我故意去使用一個Portable SSD 硬盤,而一般SSD 會很少去做Portable版本,而Samsung 則是做了這個領域的帶領。

Samsung T5 Portable Harddisk

Interface: Compatible with USB 3.1 Gen2 (10Gbps), backwards compatible
Capacity: 2TB
Transfer Speed: Up to 540 MB/s
Weight: 51g

更多資料可以前往Samsung查閱

Amazon Kindle

Developer 需要不斷的補充新知識,看書是一個很好的方法去學習,我習慣上去Amazon 購電子書,一般我使用Kindle 進行閱讀

Kindle Paperwhite

Storage: 8 GB or 32 GB
Resolution: 300 ppi
Wi-Fi connection: Wi-Fi or Wi-Fi + Free Cellular Connectivity

我們下一篇文章會分章Developer 可以看什麼書籍。

如果覺得文章有用記得分享。
你還有什麼問題問我?在留言區留言吧!

The post 自學Programming 裝備分享 – 硬件篇 first appeared on MARStree.]]>
https://marstree.ltd/hardware/feed/ 0 1275
macOS編程!用macOS自學Programming 完勝Windows https://marstree.ltd/macos_programming/ https://marstree.ltd/macos_programming/#respond Thu, 27 Feb 2020 22:23:54 +0000 http://www.theprogramclub.com/?p=178 今次我會為大家分享使用macOS編程更好的自學Programming經驗!我們會從硬體、系統、以及操作軟件,分析給大家知道對於初初自學Programming 的朋友,為何要選擇macOS。

PS:你趕時間的話,也可以只看我的標題及重點字眼,我會用粗體去標明。

有什麼關於使用macOS編程方面的問題,你可以在下面留言區留言問我!*

每年的WWDC都會吸引全球的人關注Apple有什麼新發明和設計發佈,就2017年Apple 公佈,表示 Mac 活躍用戶已經有接近 1 億人! (數據來自TechCrunch)。故此今次我們會為大家分享macOS對開發者編程有什麼好處!

Apple WWDC 19

我十年前自學Programming 時,初初都是用Windows,之後轉了macOS就不能轉會了,一直用到現在,也是用macOS進行Programming

有些人可能會提出一些問題:

  • macOS的操作與Windows好不同喎!怎樣去運用啊?
  • macOS多數人會用在多媒體製作,好少做編程開發喎?
  • 學編程使用macOS,可以從邊一些地方入門?

我是火星豬David! 是MARS tree的技術總監。在Programming方面已超過10年經驗,今天會分享macOS編程比Windows更好!

我們今次會從以下幾方面去分析:

我更會提供macOS 中使用的軟件清單以及插件清單給大家。

macOS硬件部份

macbook pro 13 inche

細心去Apple的官方網站,打開macbook pro電腦的一些基本配備,就會發現到他的配備比一般的電腦強大,就以一台13吋MacBook Pro 去做例子。(資料來源於Apple)

macOS Display 顯示器

Retina Display

Retina 顯示器: 13.3‑inch,支援千萬種顏色,
對於一些Web 或者 APP 開發者來說,設計開發外觀是對顏色需要很高的要求。

macOS Storage 儲存

macOS 的電腦基本上是用SSD 的硬盤,SSD的優點就是非常快,可以支持大量的讀寫,對Programming 要做大量傳輸數據的,速度真是十分之好;

然而,SSD硬盤的缺點是儲存空間不像其它硬盤的多,最多可能只去到1TB,所以還要記得把你編程代碼放上Github 或使用Amazon Web ServiceCodeCommit

macOS操作系統

macOS系統是基於UNIX

UNIX 系統

macOS系統是基於UNIX系統的基礎下去開發出來的,而他的終端機Terminal,也是支持Shell script,裡面有一些操作是和Linux的系統相似,而他們的文檔管理機制也是簡單。

macOS安裝一個軟件,只要簡單把軟件拖到Applications文件夾就可以了,多麼方便呢!

macOS的系統和軟件更新

對於自學Programming 的你,減少了很多的煩惱,macOS很少把系統升級完之後,使很電腦變慢的情況。

而且,macOS在更新的半年或一年前,他會提供開發者版本給軟件開發者,軟件開發者就在macOS系統更新前早就準備好軟件升級,來配合新的macOS!

macos系統和軟件升級

因此很多時候macOS更新之後,就會在AppStore 軟件中心伴隨其它軟件一起升級,免了很多升級後不支持的問題。

PS:對於其它電腦系統,最好都是不要經常更新系統!否則管理員會很忙碌,為了更新系統,而重新更新一些軟件。

macOS用於開發的軟件

我們會從不同方面的軟件去介紹給大家,由於我是一個web development 出身的人,所以會偏向web development 講起,但裡面都會有不是通用軟件。

1. MAMP

MAMP

對於web development,自然需要到web server我會推薦大家用MAMP,因為他安裝之後就有ApachePHPMySQL的引擎。

MAMP下載請按此: MAMP 下載

2. Visual Studio Code

對於開發者編程的IDE(Integrated Development Environment),我會推薦Visual Studio Code,IDE 是一種輔助程式開發員開發軟件的應用程式,開發者可以在裡面編寫程式的代碼和打包程式等。

Visual Studio Code 預覽

它支援很多programming語言,也有很多extension 可以安裝。

我在下面會列出我web development 時會用到的extension插件:

  • ci-snippets2 : 針對php framework CodeIgniter 的句式檢查;
  • Easy LESS: LESS是一個CSS編寫的簡易語言,此extension 是會令LESS檔儲存時自行生成CSS檔案;
  • Markdown Preview Enhanced: web development 中難免要寫markdown 檔案,它支持多種不同的markdown 預覽,更可以生成htmlPDF檔
  • PHP Intelephense: 這插件檢查PHP的語法,減少寫錯代碼的情況;
  • PHP IntelliSense: 這插件進階檢查PHP的語法,它會有PHP function 應用方法的提醒;

在這裡有人會說Visual Studio Code 是Microsoft的!
是的是的,我沒有說過不要用Microsoft,放心

Visual Studio Code下載請按此: Visual Studio Code下載

3. Transmit 5

Transmit 5
Transmit 5是一個檔案傳輸的軟件,它支持的傳輸機制,真是令我用了很久也沒有轉會,支持的傳輸機制如下:

4. Querious 3

Querious 3
Querious 3是一個macOS系統中連接MySQL數據庫的工具,它除了可以做到數據表瀏覽、數據表設定、SQL語句查詢之外,我最喜歡它的數據導出功能Export,它支持CSVTab、以及SQL語句的格式。

另外,它的設定可以同步上雲端,到另一台mac機也可以使用。

Querious 3 下載請按此: Querious 3 下載

5. Core Shell

Core Shell

Core Shell是一個SSH的軟件,它最好的地方,是所有的SSH設定可以同步上iCloud,每次在不同的mac機去做操作SSH時,只要同步iCloud就可以使用。

Core Shell 下載請按此: Core Shell 下載

總結來說,由於macOS系統建基於UNIX系統開發出來的,會比Windows的更支持開源代碼,對於自學Programming 的人仕,macOS機是很好的一個選擇。

常見問題

Q1. macOS的操作與Windows好不同喎!怎樣去運用啊?

Ans: 對於macOS來說,它是建於UNIX系統,而很多設定都是支持開源代碼,很多軟件都會免費使用,比Windows的軟件(大部份都要收費),更有利自學Programming 的人仕使用。

Q2. 多數人會用macOS在多媒體製作,好少做編程開發喎?

Ans: 從硬件去看,macOS的電腦比一般的電腦,使用SSD,讀寫的速度較快。從系統去看,因為macOS系統和軟件的兼容升級,使得Programming人員免了很多因系統升級,但軟件不支持的問題。

Q3. 學編程使用macOS,可以從邊一些地方入門?

Ans: 我們提供了以下一些軟件清單,期望可以幫到你

  • MAMP
  • Visual Studio Code
  • Transmit 5
  • Querious 3
  • Core Shell

如果要下載,可以在上面原文中查找到。

如果覺得文章有用記得分享。
你還有什麼問題問我?在留言區留言吧!**

The post macOS編程!用macOS自學Programming 完勝Windows first appeared on MARStree.]]>
https://marstree.ltd/macos_programming/feed/ 0 1136
自學Programming! Shell Programming – 如何利用Shell Script 簡單自動備份您電腦? https://marstree.ltd/shellscript-backup/ https://marstree.ltd/shellscript-backup/#respond Sat, 22 Feb 2020 20:50:29 +0000 http://www.theprogramclub.com/?p=118 今次我們會繼續自學Programming的講解,學會Programming其中一個目的,是為您生活或工作帶來更多自動化的便利。

所以我們今天會為大家講解以下:

  1. Shell Programming是什麼?
  2. 一起用Shell編程,去實現自動化備份您的電腦;
  3. 我們也會提供自動化程序的下載

先介紹自己:
我是火星豬David! 是MARS tree的技術總監。在Programming方面已超過10年經驗,今天會和大家逐步實現自動化備份您的電腦

PS:如果你趕時間取得自動備份電腦的Shell Script 的話,可以直接按這裡下載

有什麼關於自學Programming方面的問題,你可以在下面留言區留言問我!*

Shell Programming是什麼?

Shell Programming 就是在UNIX系統中的BASH Shell中進行指令的編程,去實現不同電腦系統的自動化。對於系統管理員來說,自己學會Shell Programming 就是在UNIX,可以大量減省操作時間。

UNIX系統包括:

Shell Programming vs Linux Programming

講到這裡,可能有些人在外面會聽過Linux Programming, 那麼同時在Linux中的Shell, 有什麼不同呢?

Shell Programming Linux Programming
操作層面 在應用層面的操作,不會修改Linux 核心 修改Linux 的核心
使用編程 Shell Script C
修改難度 容易 困難
程序運行速度
操作功能 功能會受限於BASH支持的指令 功能較多,因為可以直接編輯Linux 核心

總括來說:
對於初學的朋友來說,最好先選擇Shell Programming,因為困難和風險都是較小,萬一改錯了Linux 的核心,那就gg了!

這裡也附上一個影片關於Shell script 的 基礎語法:

好吧!說了很多概念,不如我們進入實戰吧!

Shell Script編程: 實現自動化備份您的電腦

STEP1. 定義變量

我們會為Shell Script定義以下的參數:

  • 變量 backDir:是指需要備份的目錄;
  • 變量 destDir:是指備份之後壓縮檔存放的目錄;
  • 變量 numberOfDayFileKeep:是指備份壓縮檔存放的天數
#!/bin/bash
#
# 自動備份電腦Shell Script
#
backupDir="/home/davidchu/lession1" #需要備份的目錄
destDir="/home/davidchu/lession2/back_dir" #備備份之後壓縮檔存放的目錄
numberOfDayFileKeep=30 #備份壓縮檔存放的天數

STEP2. 開始為需要備份的目錄進行壓縮備份

這個步就是會為需要備份的目錄進行壓縮備份,我們會壓縮備份檔會以backup年月日時分秒.tar.gz 命名,儲放於$destDir

#!/bin/bash
#
# 自動備份電腦Shell Script
#
backupDir="/home/davidchu/lession1" #需要備份的目錄
destDir="/home/davidchu/lession2/back_dir" #備備份之後壓縮檔存放的目錄
numberOfDayFileKeep=30 #備份壓縮檔存放的天數

#壓縮檔會以backup年月日時分秒.tar.gz 命名
tar zcPf $destDir/backup`date +%Y%m%d%H%M%S`.tar.gz $backDir 

STEP3. 檢查存放的目錄中備份壓縮檔是否超過30天

以下是Programming 的過程及解釋:

  • for f in \ls -1r $dest\ :意思是把存放的目錄中備份壓縮檔按名稱由大於小排序,並給予變量 f 使用;
  • 變量 i :負責計算數量,在存放的目錄中數到一個文件時會加1;
  • let "i++" :幫變量i加1
#!/bin/bash
#
# 自動備份電腦Shell Script
#
backupDir="/home/davidchu/lession1" #需要備份的目錄
destDir="/home/davidchu/lession2/back_dir" #備備份之後壓縮檔存放的目錄
numberOfDayFileKeep=30 #備份壓縮檔存放的天數

#壓縮檔會以backup年月日時分秒.tar.gz 命名
tar zcPf $destDir/backup`date +%Y%m%d%H%M%S`.tar.gz $backDir 

i=0
for f in `ls -1r $dest`; do
    if [ i -ge 30 ]; then
        #進行刪除
    fi
    let "i++"
done

STEP4. 在存放的目錄中把備份壓縮檔存放超過30天刪除

我們會使用rm -rf $dest/$f 把過期的壓縮檔刪除,故此程序如下:

#!/bin/bash
#
# 自動備份電腦Shell Script
#
backupDir="/home/davidchu/lession1" #需要備份的目錄
destDir="/home/davidchu/lession2/back_dir" #備備份之後壓縮檔存放的目錄
numberOfDayFileKeep=30 #備份壓縮檔存放的天數

#壓縮檔會以backup年月日時分秒.tar.gz 命名
tar zcPf $destDir/backup`date +%Y%m%d%H%M%S`.tar.gz $backDir 

i=0
for f in `ls -1r $dest`; do
    if [ i -ge 30 ]; then
        #進行刪除
        rm -rf $dest/$f
    fi
    let "i++"
done

STEP5. 完成程序編寫!

恭喜您!您已經完成了自動備份的程序編寫了,之後就是設定你的電腦,實現自動備份。

來到這裡:

  • 如果大家遇到有問題,可以在留言區留言;
  • 如果覺得實用請分享給朋友,感謝

自動備份電腦Shell Script

以下Shell Script內容適合以下系統使用者:

Shell Script 調教

下面是自動備份電腦的Shell Script,可以自行修改的位置:

  • 變量 backDir:是指需要備份的目錄;
  • 變量 destDir:是指備份之後壓縮檔存放的目錄;
  • 變量 numberOfDayFileKeep:是指備份壓縮檔存放的天數

    火星豬David: 調教後便能自行使用了!

#!/bin/bash
#
# 自動備份電腦Shell Script
#
backupDir="/home/davidchu/lession1" #需要備份的目錄
destDir="/home/davidchu/lession2/back_dir" #備備份之後壓縮檔存放的目錄
numberOfDayFileKeep=30 #備份壓縮檔存放的天數

echo "START BACKUP $backupDir"; #開始做備份壓縮檔
tar zcPf $destDir/backup`date +%Y%m%d%H%M%S`.tar.gz $backDir #壓縮檔會以backup年月日時分秒.tar.gz 命名

i=0
for f in `ls -1r $destDir`; do
    if [ $i -ge 30 ]; then
        echo "REMOVE THE OLDEST FILE $destDir/$f" #如果壓縮檔存放超過30天,會被此程序刪除
        rm -rf $destDir/$f
    fi
    let "i++"
done

exit 1;

使用方法

macOS 用戶

macOS 可以用以下步驟實現自動排程:

  1. 請把上Shell Script複製到文件中 backup.sh
  2. 開啟終端機(Terminal);
  3. 執行 chmod +x ~/Documents/backup.sh 意思是開放系統執行權限;
  4. 執行 crontab -e;
  5. 按 "i" 進入INSERT MODE, 加上以下文字:
    0 0 * * * ~/Documents/backup.sh > /dev/null
  6. ESC,再按:wq儲存便可以了(意思是設定系統每天00:00執行備份)。

Linux 用戶

Linux 可以用以下步驟實現自動排程:

  1. 請把上面Shell Script複製到 /usr/local/src/backup.sh
  2. 執行 chmod +x /usr/local/src/backup.sh 意思是開放系統執行權限;
  3. 執行 echo "0 0 * * * root bash /usr/local/src/backup.sh > /dev/null" >> /etc/crontab
    意思是設定系統每天00:00執行備份
  4. 執行 service cron start,便可以了。

Shell Programming 常用情景有什麼呢?

最後我們也總結了下面一些情景,是需要到Shell Script

  • Senerio 1. 自動備份
  • Senerio 2. 自動send Email;
  • Senerio 3. 快速處理多個操作(生成大量檔);
  • Senerio 4. 自動下載網上的檔案;

我們會不斷補充相關的Shell Script 的指令的!
如果大家還想知道更多Shell Programming 的指令,記得訂閱我們了!

The post 自學Programming! Shell Programming – 如何利用Shell Script 簡單自動備份您電腦? first appeared on MARStree.]]>
https://marstree.ltd/shellscript-backup/feed/ 0 1134