starting out with Ruby
前言:
本文的目標是隻要高中畢業,具有基本的計算機概念,都能輕鬆上手的傻瓜版教程。
// 特別是我這種零基礎文科小白
基礎概念篇
-
我們目前使用的開發語言都是經過封裝和優化的,更接近人類語言的存在,所以我們需要:
- 程序運行環境,e.g. Java 的JDK,Ruby和Go的基礎lib
- 具備諸如代碼補全、高亮、運行…的編輯器/IDE
當然也有大神直接用記事本/notepad擼代碼,那種非人類的操作只可遠觀不可隨意模仿
-
開發語言,無論Python、Go、Perl、Prolog…最終目的都是通過一系列的邏輯來處理數據,那麼我們需要:
- 一個容器可以承載和運行我們的處理邏輯
- 一些容器用來儲存我們的數據
- 一些路徑可以讓我們控制邏輯去做處理
- 一些方式讓我們看到處理的結果
-
在瞭解了這些之後我們瞭解到需要做以下到準備:
- 計算機/服務器上開發和編譯程序用的環境
- 趁手的IDE
- 程序運行和部署工具
環境準備篇
-
開發環境(以下的手順都以Mac爲基礎環境)
0. Java JDK (somehow bazel 的安裝需要JDK 1.8…emmmm…)
>https://blog.csdn.net/deliciousion/article/details/78046007-
Ruby的安裝
-
Mac自帶有Ruby,可以查看ruby版本
chens-MacBook-Pro:~ chenchen$ ruby --version ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin17]
-
ruby的包管理器gem也是預裝過的,可以查看版本
chens-MacBook-Pro:~ chenchen$ gem --version 2.5.2.3
-
-
接下來安裝HomezBrew,這是Mac上的包管理器,類似Notepad++裏面的pluginmanager。
這玩意同時依賴了Xcode和Ruby,本着要用就用最新的想法(希望能避免好多坑),直接搞最新版。
這命令我抄的,在命令行裏敲:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
一大堆下一步,會有一些需要輸入管理員密碼的地方,用來在系統目錄裏創建一些文件
因爲這玩意會依賴xcode,所以可能會提示要求裝xcode-select
果斷自己先手動安裝掉
chens-MacBook-Pro:~ chenchen$ xcode-select --install xcode-select: note: install requested for command line developer tools
當然,像我臉這麼黑的肯定是安裝失敗了,只好去Apple developer裏面去下了自己裝
需要登陸appleId
https://developer.apple.com/download/more/ -
安裝Xcode相關的東西,主要爲了編譯各種C++的包
上一步已經做好了的話,就只做3和4就好
- xcode-select install
- 如果失敗了,從app store裏裝一下xcode
- 更新一把
- 然後重定向xcode:sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
- 裝下xcode的license:sudo xcodebuild -license
- xcode-select install
-
安裝protobuf
- brew install protobuf
0. https://blog.csdn.net/u014534808/article/details/80203018 - 遇到類似 xxx Permission denied xxx /usr/local/Frameworks的時候:
0. 可能是這個文件夾不存在,跑一下- sudo mkdir /usr/local/Frameworks
- sudo chown $(whoami):admin /usr/local/Frameworks
- 再run一下#1 裏面的 install 命令就好了
- brew install protobuf
-
安裝gRPC相關組件
- grpc 使用環境
gem install grpc
- grpc 編譯工具
gem install grpc-tools
- grpc 使用環境
-
安裝mysql
-
brew install [email protected] (目前線上環境有5.6和5.7兩種instance,裝5.7也一樣。不過需要自己建my.cnf)
這個功能貌似已經在新版本里被幹掉了,需要確認一下是否可以指定安裝版本
-
重裝mysql鏈接庫 mysql2
由於5x和8x的路徑不一樣,相互又不兼容,所以可能需要重裝一遍
通過
gem list | grep mysql2
確定是否存在
存在就執行第三步否則跳過 -
卸載當前的mysql2
gem uninstall mysql2
-
安裝mysql2 並指定配置文件位置
gem install mysql2 -v '0.4.10' -- --with-mysql-config=/usr/local/Cellar/[email protected]/5.6.42/bin/mysql_config
其中通過 -v 指定 mysql2 版本,通過 --with-mysql-config 指定mysql配置文件路徑,這個路徑可能根據安裝包的不同而不同
由於路徑不同,我們可能還需要把mysql裏面用到的一些應用做超鏈接
mysql本尊
ln -sf /usr/local/Cellar/mysql\@5.6/5.6.42/bin/mysql /usr/local/bin/mysql
mysql.server
ln -sf /usr/local/Cellar/mysql\@5.6/5.6.42/bin/mysql.server /usr/local/bin/
mysqldump
ln -sf /usr/local/Cellar/mysql\@5.6/5.6.42/bin/mysqldump /usr/local/bin/
然後驗證一下
mysql --version
mysql Ver 14.14 Distrib 5.6.42, for osx10.14 (x86_64) using EditLine wrapper
這個可能不一樣,以真實安裝爲準 -
啓動mysql
mysql.server start
-
這個安裝過程可能需要重複很多遍,參考這個地方來來回卸載MySql
sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /var/db/receipts/com.mysql.* 其實不同的安裝方式有些東西的存儲位置不一樣,刪除完檢查一下下面這些文件是否刪除了,沒有的話則刪除掉: /usr/local/Cellar 裏的mysql文件 /usr/local/var 裏的mysql文件 /tmp 裏的mysql.sock, mysql.sock.lock, my.cnf文件 pid文件和err文件都在/usr/local/var/mysql裏確保刪除了 brew安裝的安裝包存儲在/usr/local/Library/Cache/Homebrew也可以一併刪除 執行brew cleanup
-
-
安裝redis
-
-
各種開發工具,目前主流的是用IDEA和VSCode來進行開發,也歡迎用其他的
0. IDEA
0. 直接官網下載
1. 破解方法百度"lan yu",支持正版從我做起:)
2. 安裝各種插件,比如"ruby"- VSCode
0. 直接官網下載- 安裝各種插件,比如"ruby"
- DB工具
0. 我直接用的MySql自己的MySQLWorkbench- 鏈接一下本地DB試試,記得改root密碼 :)
- VSCode
-
運行容器
0. 一般來說有三種方式運行程序
0. 本地直接運行
1. 虛擬機
2. docker三種方式各有優缺點可以自己找資料
- 安裝docker
0. 官網安裝教程- 下載普通安裝略
- 版本驗證
chen1:llspay chenchen$ docker --version Docker version 18.06.1-ce, build e68fc7a chen1:llspay chenchen$ docker-compose --version docker-compose version 1.22.0, build f46880f chen1:llspay chenchen$ docker-machine --version docker-machine version 0.15.0, build b48dc28d
- 然後在狀態欄小鯨魚裏面裝Kubernetes
- 安裝docker
導入項目
涉及公司信息,略。
ruby依賴庫
- bundler:Manage dependencies of an application
- pry: Ruby的debug工具。可能裝了,如果沒裝:
gem install pry
- Debug Ruby用的一些玩意兒
0. debase
gem install debase
- ruby-debug-ide
gem install ruby-debug-ide
- ruby-debug-ide
關於開發
- 教程
- Ruby on Rails Guides
官方文檔,不過是英文的
- 菜鳥教程
這裏面從安裝到基本語法都寫的挺詳細,而且是中文文檔
- Ruby on Rails Guides
- CI/CD
- 持續集成持續部署(大概這樣翻譯) Continuous Integration/Continuous Deployment
ref: https://blog.csdn.net/sinat_35930259/article/details/79429743
- 持續集成持續部署(大概這樣翻譯) Continuous Integration/Continuous Deployment