「直播」xdite教你克服情緒 & Nic 教你克服 DB

今天是一次兩個講師直撥,那背景音樂我聽出來是let it go很好聽。

xdite教你克服情緒

首先老師先介紹了一本書『腦能量整理術』是一位日本的腦神經權威著作,老師的網站上也有自己整理的筆記,這本書主要在講如何用科學方式控制情緒起伏,讓自己保持正面樂觀提高記憶力。

首先我們最常遇到『學習上』最崩潰的問題就是為什麼學習時間差不多的人做出來的東西會比我牛逼這麼多?

先來想想有沒有辦法讓自己沒有情緒,答案是不可能的,所以再來探討為什麼我們會有這個崩潰感?

大部分的原因是因為自己的大腦跑太快了開始爆衝了,腦袋想了一堆事情卻沒有辦法去實現,這時候焦慮感會直線的上升。

那以科學的角度來看是因為血液裡的血清素降低,血清素在晚上也會比較低所以人在晚上才會多愁善感,這時候要讓自己的大腦慢下來才能降低焦慮感拉回血清素,所以常常會聽人家說去走走路跑跑步去散散心,因為我們在做這種運動的時候大腦是需要專心的,專心才可以把四處暴衝的大腦給停下來。

那如何在寫代碼的時候讓自己的大腦慢下來?我們有時候不會隨時站起來運動,這時候還是要利用其他身體元件部分去執行,既然我們不能用腳站起來運動就用手去『寫』下來,記住一定要寫而不是用電腦打字,當專心做這件事情的時候大腦就會慢下來了。

老師給的建議

先拿出一張紙。

  • 『寫』下自己的最終目標
  • 把這個目標轉變成有實際數字的數據目標

首先第一個『寫』下自己的最終目標不難解釋,就是像上面講的讓自己大腦慢下來

那把目標轉變成有實際數字的數據目標是什麼意思呢?

像這次的魔改大賽,寫下的目標可能是我要拿到前三名,但是這個目標很籠統又模糊,因為自己的大腦開始想我要css寫得很漂亮,我要js做哪幾個很不錯的功能,然後好了,看了一下別人的牛逼網站崩潰感直接衝進來,大腦又開始爆衝了。

所以停一下,想一下怎麼拿到前三名,最重要的是拿到『票數』,但票數跟程式碼是沒有直接關係的,那怎麼拿到更多票數呢?

思考一下VIP會員一張是10票,非VIP會員一張只等於1票,所以當然我們要主攻VIP會員,那也許我們不是真正做一個很屌的網站去吸引他們(別用自己的短處打別人長處),而是上社群網站分享一些技術文或心得去跟他們做交換。

再不行取得VIP的票,我們也可以放在自己的公眾號去拉票,怎麼樣都是往自己最清楚的小任務去前進達,成任務,而不是望著自己模糊的大目標讓自己的大腦高速空轉。

再來以自己網站為出發點的話,不要一直想著要坐著比別人牛逼的功能,因為自己實力不到就是不可能做出來的,再者其實功能牛逼並不一定可以讓別人喜歡,最重要的是看重使用者的體驗和操作。

什麼意思呢?

體驗上或許你可以針對整個網站的style和配色做調整,讓別人一進入這個網站就感覺到很舒服,也都可以快速清楚知道怎麼要使用這個網站。

操作上自己做的功能可不可以真的解決掉使用者的問題,譬如說做了一個查詢系統,但是資料庫裡面只有十筆資料給使用者查詢,這時候這個功能做得再漂亮或在牛逼都只是沒什麼用的東西而已。

這就是把模糊的大目標(想進入前三名),切成許多細小又清楚的小任務,我們一直不斷的做前進這個動作,不要一直讓自己的大腦處在高速空轉的暴衝狀態。

Nic 教你克服 DB

在rails101裡面我們很常下db migration這個指令,那到底這個指令是什麼東西呢?

其實就是在操作資料庫裡面的資料

第一如果我們不這樣去下達指令,而是直接去資料庫裡面篡改資料,一筆兩筆或許真的沒什麼,但如果今天有一千筆資料我們會改到崩潰,加上這樣的錯誤率會大幅提升,最後搞得非常麻煩。

第二我們這樣子下指令都會有紀錄,是誰新增了什麼,大幅提升專案的穩定性。

第三我們可以做到遠端許多裝置去協作一個專案,像是db:migrate就可以把自己本地端的專案同步為雲端最新的狀態。

常用指令:
1.rake
db:drop
db:create
db:migrate
db:reset
db:seed
db:migrate
db:rollback

rake是什麼??
我們可以直接收尋 rails rake 是什麼,老師說Google的能力是很重要的。

Schema綱要

1.改了沒有用(改他也沒意義)
2.記錄DB的版本號(像是DB的Git)
3.目前欄位狀況(像是log一樣可以列出來)

老師推薦一個gem是annotate,他可以直接在model裡面註解schema的東西。

我們直接在專案底下下rake db:migrate:status可以看到目前數據庫的進度和狀態。
up是執行到這一步down是還沒執行或者是退後過

譬如老師先新增了一個資料庫(model) 名稱是post title:string,此時執行rake db:migrate:status會出現down是因為數據庫並還沒有新增(更新),此時可以開atom去看自己的db文件看變化,我們下rake db:migrate後他會新增東西,然後再下rake db:migrate:status剛剛的down就變成up了,這時候如果又下rake db:rollback文件會有東西被刪除(最後一次新增的),而下rake db:migrate:status又會看到剛剛的up變為down了。

migrate可以操作資料庫,而schema是可以把資料庫git化,查看版本大綱,那我們不用去動schema,因為他是自動在記錄的,所以rake db:migrate:status才看得到變化。

剛剛講的annotate套件是什麼?
在Github上直接查詢他就有許多資訊。

先安裝後bundle install,最好是下只幫model生成的指令(他的Github上面有),這樣資料庫會直接生成註解,我們不用一直出來看schema的大綱。

觀念

讓數據庫保持在前進的狀態
除非不得已才退一步

退一步之後修改完馬上進一步,盡量不要退太多,如果是很久以前的錯誤不如前進一步去修改錯誤(修補的概念),例如到第十步的時候第二步有錯可以去使用rename功能,那如何使用老師叫我們上網查就有很多了!

關鍵字示範:rails migration rename

Q&A:

1.如何實現管理員權限,分高低級?
google can can can有套件

2.聽不懂

3.如何複製別人網站的JS效果?
JS不太能直接抄,很難debug,還要考慮到他們用什麼套件,再來不要求好先了解簡單的就好,現階段多使用小套件就好。

4.有沒有推薦css或html的教程?不然很容易遇到挫折
收尋 w3c html就很多了。

5.heroku更新數據會有問題?
heroku不給執行drop,要去找一下在上面的執行方法。

6.如何不同的電腦做同一個專案?
下載dropbox或者是雲端的東西直接把整包專案的資料夾丟進去。

comments powered by Disqus