Program學習心得 https://marstree.ltd 火星樹資訊科技有限公司 專營系統、電子商務、資訊解決方案 Sat, 08 Aug 2020 09:56:00 +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 Program學習心得 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!怎樣做?10年寶貴經驗免走冤枉路 https://marstree.ltd/learn_programming/ https://marstree.ltd/learn_programming/#respond Tue, 18 Feb 2020 18:39:24 +0000 http://www.theprogramclub.com/?p=23 今天我們為大家分享自學programming怎樣做?我是David朱,我這篇文章將會為大家分享自己10年來在自學programming的心法和方法。

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

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

在2017年香港施政報告指出就正草擬把Programming 加入中學或小學階段,而這個時代Programming不能不學的一科了。

然而,有很多人初接觸編程時,都會有以下的問題:

  • Program編程是怎樣學會?
  • 看到一整版的Prorgam都不知道什麼意思?
  • 學習Programming都很姑燥乏味...
  • 學習Programming應該從哪一種語言開始?
  • 網上資訊太多了,哪裡學習編程更好?

2017年香港施政報告指教育局正草擬「計算思維-編程教育」的補充文件,供學校採用。英國、芬蘭、意大利及澳洲已經於中學或小學階段加入programming課程!

©引用 【施政報告.博評】學電腦Coding一定要上堂?自學又如何?, 香港01 01博評-政經社 ,吳俊熙

我將會在下面分別從心態和方法上去講解,如何自學Programming

我先具分自學Programing 的兩類朋友:

  • 一類是單純想玩玩自己編程的朋友,可以從Programming方法開始看;
  • 另一類是想投身Programming行業的朋友,就建議從Programming心法去入手了;

一. 自學Programming 要準備的心態

講起10年前,我大學也未畢業,當時候在澳門大學遇到張榮顯博士,他提議我學習PHP。就是這樣,我之後10年的光景都在Program 編程和現實生活中穿插互動了。輾轉間,學習和使用過以下一些編程語言:

以下我總結的是4個心法以及2個方法:

心法1. Programming - 把語法基礎和結構基礎學好,很多編程語言都是大同小異

大家需要明白到電腦的工作,就是用來運算。我們給它的是Input,它進行運算Compute,之後得出Output。我們Programer編程的工作,教會電腦去操作這個過程,就是那麼簡單的工作呢!

Program都是一種語言,而每個語言都有他基本的語法基礎和結構基礎,只要把語法基礎和結構基礎學好,很多編程語言都是大同小異。
例如下面的PHP跟JavaScript的對比為例:

PHP 例子

/**
 * 以下是PHP例子
 */
$a = 1;
if ($a == 1){
   echo 'Hello World!';
}else{
   echo 'Sorry! Program is not difficult';
}
//輸出結果:Hello World!

JavaScript例子

/**
 * 以下是JavaScript例子
 */
var a = 1;
if (a == 1){
   console.log( 'Hello World!');
}else{
   console.log( 'Sorry! Program is not difficult');
}
//輸出結果:Hello World!

他們基本是80%至90%相同,不同的地方只是兩者的用到Function名字不同,而這些可以各自的編程語言PHPJavasScript官方網站查找到Function功能。

心法2. Programing是要在實踐中學習 - 這樣才會學得快學得穩

回憶10年之前,一聽到張博士的提議,回家的晚上就興奮不已,翌日就跑去書局買了一本PHP的書籍,當時候是暑假期間,不用上課的時間,就是拿住那本厚厚的PHP書,不斷去看。但一開始看來看去,都不是有什麼感覺。

於是,自己就拿住書,抱住電腦,一步步的去試自己寫PHP,試得兩三次真的出到結果!一試就一個晚上,還記得自己通宵學習PHP的興奮。

因此,就像學英文一樣,Program 是要從練習實踐中應用,這樣才會學得快學得穩
越是怕用他,越學不到,反而學懂的是埋頭在Program編寫軟件去寫去試的人最快學懂! 我就是這樣用了一個暑期就把PHP基本上搞懂了,當然之後在工作上都有更多的深造和磨練吧!

心法3. 有明確目標Programming才會出有動力 - 先選擇投身Web/Mobile/Gaming領域

學習Programming的過程:

  1. 選一種你希望能作為未來職業的軟體開發領域;
  2. 選一種程式語言來學;
  3. 選一個線上平台/課程/書本來跟著學,文章下面會有推薦;
  4. 選編程工具及系統,例如Windows或是Linux

當時我先學會了PHP,之後就覺得要找一些東西或者事情,把它實現。所以我自己可以做到一個動態網站出來就好了,所以投身了Web Developement的領域。

之後就發現要做一個動態網站,需要的東西還不止PHP,因此之後找資料去學習 SQLHTMLCSSJavasScript等等,最終我就是這樣把自己第一個動態網站寫了出來!

學習 Programming 先為自己定一個領域一個目標,繼而把Programming變成一個手段把目標實現!這樣會更實在,更有動力!

心法4. 寫Program的樂趣是成功感 - 過程是會有辛苦,結果誕生得到成功感!

還記得當自己把第一個動態網站放上Web server時,把域名在瀏覽器上打出來,網頁出來的畫面(當然跟現在作品比較現在,真的多粗糙),但那一種成功感,我現在都記得!

用了兩個月的時間,寫Program 是一個過程,過程是會有辛苦,得到結果時候得到成功感!

二. 自學Programming 方法

分享完心法心態之後,我也提供了一些自學Programming的一些方法給大家,方便大家去自己試試編程。

方法1. 觀看YouTube頻道

這裡我們集中了一些學習Programming的YouTube頻道,供中大家學習得效率:

1. MARStree

MARStree是由我建立的一個YouTube頻道,
裡面可以學習的包括:

2. Derek Banas

在這頻道上,Derek 會解釋每個程式語言的概念。
裡面可以學習的包括:

  • Java
  • PHP
  • C++
  • HTML
  • Android
  • Python
  • Assembly language
  • Ruby

3. Learn code.academy

這個頻道適合網頁設計師或設計新手,擁有超過 111 影片及 193,000 支持用戶,你能找到一切與網頁發展有關的知識。

裡面可以學習的包括:

  • HTML
  • CSS
  • Deployment Strategies
  • Server Administration

方法2. 教學平台

我們也簡介一些學習Programming的平台給大家,

1. NodeSchool

這個平台是以 Node.js 打造跑在終端機上的開放原始碼教學為宗旨的。
主要學習JavaScript Programming為主題的平台:

NodeSchool

連結:"前往 NodeSchool 網站"

2. Treehouse

這個平台是綜合各種Programming 技巧,裡面有視頻教學以及模擬練習。
主要學習Programming:

  • Java
  • PHP
  • C++
  • HTML
  • Android
  • Python
  • Ruby
  • Swift 等等

Treehouse

連結:"前往 Treehouse 網站"

3. Udacity

這個平台是主要是教授Python Programming 技巧。

Udacity

連結:"前往 Udacity 網站"

三. Programming常用問題或工具一次搞懂

以下我們會總結一些常用問題或工具給大家,好讓大家更好的自學Programming

Q1: Programming常用編輯工具是什麼?

Ans: Visual Studio Code、Sublime,這兩個都有支持很多不同的Programming 語言,也有很多插件可以安裝

Q2: Programming常用操作系統是什麼?

Ans: 現在主流操作系統的是Windows、MacOSX、Linux。建議大家試用後面的兩個,因為他們都可以支持Open Source的軟件,同時間他們都是以Unix系統做基礎的,可以對你Programming Shell Script打一些基礎。

詳情可以看這個片段:Linux系統3大優點你要知!IT人必修課

Q3: 常用什麼軟件去管理自己寫好的Program?

Ans:我們一般會使用Github,他有代碼的版本管理功能,方便之後代碼上線時的更新操作,另外也可以幫你復回到之前的版本,避免一些不必要的錯誤

如果覺得文章有用記得分享。
你還有什麼問題問我?在留言區留言吧!
[mc4wp_form id="70"]

The post 自學programming!怎樣做?10年寶貴經驗免走冤枉路 first appeared on MARStree.]]>
https://marstree.ltd/learn_programming/feed/ 0 1126