[為你自己學 Rust] 資料型態(原始型別 - 字元、布林值)

[為你自己學 Rust] 資料型態(原始型別 - 字元、布林值)

在 Rust 裡的原始型別(Primitives)是指一些最基本的資料型別,這些型別在 Rust 中是直接內建支援,不需要另外引入其它模組或標準函式庫。

原始型別分兩大類,有純量型(Scalar)以及複合型(Compound)。純量型除了在上個章節介紹到的整數跟浮點數之外,還有字元(char)以及布林值(bool)這兩種;而複合型則有陣列(array)跟元組(tuple)。

這個章節就來跟大家介紹跟上個章節介紹的數字系統比起來,字元以及布林值就相對單純的多了。

[為你自己學 Rust] 哈囉,Rust!

[為你自己學 Rust] 哈囉,Rust!

據說,在很早很早以前,有某位美國貝爾實驗室的大大在他們內部的技術文件的範例程式碼裡提到了 Hello World 這一串字,從那之後許多程式語言的第一堂課都跟風的在畫面上印出 Hello World ,所以我們也來試試來印個 Hello Rust 吧!

不過在這之前,得先把軟體以及開發環境給搞定。Rust 的安裝還算簡單,在 Rust 的官網上可以找到最適合各位的安裝方式跟版本,這我就交給大家動手做了。並不是不想浪費篇幅來寫如何安裝,而是一來 Rust 的安裝真的不難,各作業系統都有支援,我預設各位是有一點工作經驗的工程師,這應該難不倒大家;二來就以往寫文章或寫書的經驗,每次軟體改版,改的不一定是程式語法本身,倒是很常改安裝方式。

[為你自己學 Rust] 前言

[為你自己學 Rust] 前言

嘿,各位好!

我平常的工作主要是教學、企業訓練以及網站專案開發,所以這二十多年來大部份的技術堆疊、工作圈以及生活圈都是網站開發相關,認識的工程師朋友也大多是網站前、後端的工程師。

也許各位不一定認同我這個看法,但我個人一直認為,一位優秀的網站工程師,不管是前端、後端還是整碗全部端走的全端,手上除了平常開發網站用的程式語言外,口袋裡應該也要準備另一款像是 C 語言這種相對比較低階、比較接近系統層級的程式語言,雖然不一定派的上用場,但我相信一定可以在學習的過程中對程式語言或其執行環境有更深一層的了解。

為你自己學 Git(第二版)- 寫在最前面

為你自己學 Git(第二版)- 寫在最前面

本書正在連載、撰寫中,待完稿後會集結成冊出版

人生不能重來,但 Git 可以!

不知道大 家是否曾經看過周星馳的電影呢?在周星馳的《大話西遊》電影裡,主角至尊寶拿著月光寶盒大喊一聲「波若波羅密」便可穿越時空,回到過去救他的娘子;或是陪我們一起長大的動畫《多啦 A 夢》,只要拉開房間的抽屜裡、搭上時光機,隨時可以回到過去拯救世界。雖然以目前人類的科技應該還不能真的做出穿越時空的時光機(有的話請務必讓我知道,我要回到過去買大樂透!),不過對電腦工作者來說,Git 這個工具就像時光機一樣的神奇,可以讓你回到特定的時間點,或是救回不小心被刪除的檔案。

以目前現行的 Git 版本(2.42.0)來說,從比較常見的高階指令(Porcelain)到比較不常用的低階指令(Plumbing)加一加大概有一百多個,但在一般工程師的日常使用指令大概頂多十來個。如果各位讀者原本日常工作就有在使用 Git 的話,應該會知道 Git 常用的指令大概就是那幾個,像是 git addgit commit ,開分支、合併分支,也許再加個 git pushgit pull 上傳、下載同步進度,加起來常用的指令大概真的就十來個吧,看起來很容易(事實上也不難)。

不過在第一版的《為你自己學 Git》出版到現在這五年期間,我曾在許多學校、社群及企業內部分享或講授 Git 的使用技巧的時候,才發現事實上並不是這麼一回事。

報名 Bootcamp 課程之後,然後呢?

報名 Bootcamp 課程之後,然後呢?

你想轉職工程師嗎?

也許是因為疫情的緣故,或是個人職涯遇到天花板的關係,這幾年來不少人會試著轉換到軟體工程師跑道,看看能不能在家裡就能遠距工作,或是得到更好的薪資。

不管是前端還是後端,不管是學著做網站還是手機 App,或者是自學還是去上課,或也許是實體課程還是線上影片,都好,只要能學會、能順利轉職成功拿到軟體工程師的門票,都是好的方法。

至於實體跟線上的學習比較,我相信網路上應該不少參考資料,事實上就算不用看這些比較文章,不同方式的學習、轉職管道的優缺點比較以及成效的好壞,大家大概也都心裡有數。

簡單的說,如果對自己有自信,覺得自己可以很自律把買的線上課程影片看完而且跟著做些作品出來,Udemy 之類的線上影片課程算是相對高品質且低成本的自學管道。不過如果覺得自己是個需要人押著才能乖乖的寫作業的人的話(就像我),剛好同時手邊還有些預算,想在三個月到半年之間就轉職成功的話,參加實體的 Bootcamp 培訓課程可能是相對有效的方法。

坊間類似的培訓單位不少(請讓我自肥的宣傳一下我們自家的 ASTRO Camp,不過本文的目的並不是在比較這些機構或課程,而是想跟各位說,假設大家報名了 Bootcamp 之後,然後呢?

為你自己學 Ruby on Rails(第二版)- 第一章 簡介及生態圈

為你自己學 Ruby on Rails(第二版)- 第一章 簡介及生態圈

Ruby 生態圈

本書正在連載、撰寫中,待完稿後會集結成冊出版

Ruby 這個程式語言可以說是因為 Rails 的盛行而興起的也不為過,我認識大部份的人會開始學習 Ruby 或知道 Ruby 這個程式語言,大多也是因為 Rails 的緣故。事實上,目前我所知道大部份在使用 Ruby 進行開發的專案,大部份也都是 Rails 相關的專案。

關於 Ruby

什麼是 Ruby?

我相信很多人因為聽聞 Rails 可以快速開發網站而開始知道有 Ruby 這個程式語言(甚至認為 Rails 是一種程式語言),所以會認為 Ruby 主要就是用來開發網站,或是以為 Ruby 是近幾年才新發明的程式語言。事實上 Ruby 是一種泛用的腳本式程式語言,從資料分析、繪圖、3D 建模、系統管理、遊戲開發等程式都可以使用 Ruby 來開發,而且它的年紀說不定比各位讀者還要大,Ruby 目前已經已經超過 25 歲了。

Ruby 是由一位名叫松本行弘的日本人所發明的(日文:まつもとゆきひろ,網路上大家通常稱他 Matz)。發明人 Matz 當年參考了部份 Perl、Lisp 及 Smalltalk 等程式語言的設計,開發出一款更容易撰寫、語法寫起來更像一般人類語言的程式語言。

Matz 在 1993 年開始設計,於 1995 年釋出了第一個版本。早期使用 Ruby 的開發者並不算多,相關的技術文件也大多是日文居多,直到 Rails 開始風行之後,才慢慢的有越來越多人關注它,並於 2006 年獲選為 TIOBE 年度程式語言。Ruby 目前在 TIOBE 網站上的排行榜一直都在前 20 名的位置,以全世界眾多程式語言來說,算是前段班的位置。

為你自己學 Ruby on Rails(第二版)- 序 寫在最前面

為你自己學 Ruby on Rails(第二版)- 序 寫在最前面

這是一本 Ruby 程式入門書,同時這也是一本可以讓你快速做出產品的參考書籍。

本書正在連載、撰寫中,待完稿後會集結成冊出版

第一版的「為你自己學 Ruby on Rails」是 2017 年的事,轉眼已過了五年,Ruby 的主流版本從原本的 Ruby 2 系列變成 Ruby 3 系列,而網站開發框架 Ruby on Rails(本書將會以 Rails 簡稱)也從版本 5 昇級到版本 7,除了 Rails 本身的功能有不小的進步外,Rails 對於網站前端的開發配置方式也有很大的變化,但這些變化,也都跟整個網站開發的生態的變化有關,例如:

  • 瀏覽器對 JavaScript/ES6(ECMAScript 6)的支援度越來越高,因此不再需要 CoffeeScript 之類的 JavaScript 轉譯工具,直接寫原生的 JavaScript 也很順手。同時,也因為原生的 JavaScript 的進步跟成熟,原本對一些套件(例如 jQuery)的依賴也降低不少。
  • 同時,瀏覽器也開始支援模組化的 JavaScript(ESM),程式寫起來越來越有架構,而不是全部寫在一個 .js 檔裡面。
  • 越來越多厲害的打包工具,從功能強大但設定有點麻煩的 Webpack,到號稱無痛、免設定的 Parcel,有效能超猛的 esbuild,還有被某前端框架耽誤的打包工具 Vite
  • 網站協定從 HTTP/1.1 慢慢變成 HTTP/2 的形狀,而且大部份主流的瀏覽器都已經有支援。在 HTTP/1.1 時期可能會為了減少對伺服器的請求次數或網路連線數,會藉助上述提到的打包工具把網站的 JavaScript 或 CSS 打包成同一個檔案,但到了 HTTP/2 因為支援多管道平行下載,反而不會特別鼓勵打包,就讓每個檔案小而美就好。
  • 新的前端套件跟框架不斷的推出…

上述這些種種的變化,都不斷的挑戰各種網站開發框架跟前端開發的整合程度,同時也改變了網站開發者們的開發流程。