你看過 Elixir 嗎?如果沒有,現在讓你看看!

你看過 Elixir 嗎?如果沒有,現在讓你看看!

你看過 Elixir 嗎?如果沒有,現在讓你看看!

Elixir 這個名字,對女生朋友來說也許比較熟悉一些,因為它是一款知名化妝品廠商所推出的某一種保養品的品牌,但我並沒有接廠商的業配而且自己也沒在用保養品,所以今天也不是要介紹這款保養品。

我第一次認識 Elixir 這個單字,其實是因為當年玩 Final Fantasy 這款遊戲時候,遊戲裡有一款叫做「エリクサー」的道具,使用後會恢復全部的 HP 跟 MP,而這個「エリクサー」其實就是從 Elixir 這個英文字轉變來的日文外來語。

這篇文章要介紹的,是一款名為 Elixir 的電腦程式語言。本文的目的並不是要告訴你 Elixir 有多好多棒、效能有多好多棒(雖然是事實),而僅介紹一些我認為這個程式語言讓我覺得寫起來很開心的地方,特別是對一個喜歡 Ruby 的人來說。

為你自己學 Git

離上一篇文章已經是一個月過去了,又好陣子沒寫 Blog 文章了,其實是在忙別的事(藉口)。這回本來在忙的是公司的線上課程,但因為在準備這個線上課程的過程中需要先準備課綱及講稿,結果就不知不覺的把一本大概 300 頁約 15 萬字左右的書寫出來了(我也不知道是怎麼辦到的)。

既然都寫出來了,而且我自認這些我會的東西都是從網路上學來的,所以也沒什麼好藏私,就一樣放出來給大家參考。

網址:https://gitbook.tw

「為你自己學 Git」,如其標題,學習不需要為公司、長官或同事,不需要為別人,只為你自己。

為你自己學 Git

所有內容都是我在五倍學院以及線上課程「人生不能重來,但 GIT 可以」所用到的教材,若發現內容有誤或有任何問題,歡迎直接來信,或是在該章節頁面下方留言 :)

除了少數幾個章節外,HTML 版本的內容將會在網路上供大家參考,不會收費;實體平面出版物目前已與出版社洽談中,應該這一、兩個月會有下文。當然,線上課程也是希望大家多多捧揚。

希望這本書的內容對大家有幫助。如果您對我們其它的培訓課程有興趣,歡迎您參考這個連結

「你知道 Git 是怎麼一回事嗎」

「你知道 Git 是怎麼一回事嗎」這是我在今年 ModernWeb 研討會上分享的講題。這個主題基本上算是一個科普等級的分享,主要是介紹關於 Git 一些你可能知道,也可能還不知道,或是以為已經知道但其實是不知道的東西。

適合對象

主要適合平常工作有在用 Git 或是曾經有用過 Git,或是大概略懂略懂 Git 的朋友,如果這是你第一次看到這三個英文字母的組合,有滿大的機會你可能會不知道我在說什麼。但也沒關係,既然都來了,就安心坐下來吧,就把我當做是天橋底下說書的,當故事聽也可以。

為你自己學 Ruby on Rails

好陣子沒寫 Blog 文章,其實是在忙別的事(藉口)。雖然 Ruby on Rails 的學習資源向來不少,但看了一下坊間關於 Ruby 跟 Rails 中文書並不多,特別是專門給新手更少,於是在今年趁著參加 iTHome 舉辦的鐵人賽活動,把之前寫了一百多頁的 Rails 書拿出來繼續寫下去。

網址:https://railsbook.tw

「為你自己學 Ruby on Rails」,如其標題,學習不需要為公司、不需要為長官、同事、不需要為別人,只為你自己。該書所有內容是我在五倍學院 Ruby on Rails 培訓課程所用到的補充教材,將以 Ruby 2.4.1 以及 Rails 5.1.0 之後版本為主,若發現內容有誤或有任何問題,歡迎直接來信跟我說(eddie@5xcampus.com),或是在該章節頁面下方留言 :)

HTML 版本的內容將會在網路上供大家閱讀,不會收費;實體平面出版物以及 PDF 電子書版目前已與出版社洽談中,應該近幾個月會有下文。

希望這本書的內容對大家有幫助。當然,如果您對我們的培訓課程有興趣,歡迎您參考這個連結

在 Gemfile 裡看到版本寫法有好幾款,各是代表什麼意思?

隨便打開一個 Rails 專案底下的 Gemfile 檔案,大概會長得像這樣(以 Rails 5.0.0 beta 4 為例):

source 'https://rubygems.org'

gem 'rails', '>= 5.0.0.beta4', '< 5.1'
gem 'sqlite3'
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'turbolinks', '~> 5.x'
gem 'jbuilder', '~> 2.0'

group :development, :test do
  gem 'byebug', platform: :mri
end

group :development do
  gem 'web-console'
  gem 'listen', '~> 3.0.5'
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

移除部份註解節省點空間。在這個例子裡,有些 gem 的後面有加註版本號碼,有的沒有,這些分別是代表什麼意思呢?

你知道 require 幫你做了什麼事嗎?

也許你曾在 Ruby 或 Rails 專案中寫過這行語法:

require "digest"
puts Digest::MD5.hexdigest("I love you")    # => "e4f58a805a6e1fd0f6bef58c86f9ceb3"

上面這段語法的大意是「引用 "digest" 模組,然後使用那個模組裡的某個方法產生 MD5 編碼字串」。但你知道這個 require 到底做了什麼事嗎? 以下將用我自己寫的一個名為 takami 的套件為例,它是一個完全沒功能的空包彈套件,純粹練功用途。

常在終端機裡下 rake db:migrate 指令,這個 rake 是什麼,後面那個 db:migrate 又是怎麼回事?

在開發 Ruby on Rails 專案的過程中,一定都看過或用過 rake db:migrate 這個指令,大部份的教學資料可能只會跟你說「只要照著打這個指令就行了」,沒有太多詳細的介紹。

其實這個 rake 指令,是一位已過世但我非常景仰的大師 Jim Weirich 所開發的。如果各位曾經聽說過 Make 這個工具,Rake 就像是 Ruby 版的 Make,你可以用 Ruby 語法來編寫 makefile。

gem install 之後,那些 gem 安裝到哪裡去了?

在 Ruby 要安裝套件超簡單的,只要 gem install 指令加上套件的名字,敲完按下 Enter 鍵,就自動會連上網路、下載套件、安裝套件,一氣呵成:

$ gem install takami
Fetching: takami-0.0.1.gem (100%)
Successfully installed takami-0.0.1
Parsing documentation for takami-0.0.1
Installing ri documentation for takami-0.0.1
Done installing documentation for takami after 0 seconds
1 gem installed

如果該套件有需要其它套件,它也會一併順便一起下載、安裝。這個 takami gem 是我自己做的,其實沒有任何內容在裡面,所以可安心安裝!(咦?!)