惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
月光博客
月光博客
AI
AI
B
Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
C
CXSECURITY Database RSS Feed - CXSecurity.com
WordPress大学
WordPress大学
GbyAI
GbyAI
L
Lohrmann on Cybersecurity
O
OpenAI News
Schneier on Security
Schneier on Security
P
Palo Alto Networks Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
W
WeLiveSecurity
L
LINUX DO - 最新话题
人人都是产品经理
人人都是产品经理
S
Security Affairs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
Recorded Future
Recorded Future
Microsoft Security Blog
Microsoft Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
GRAHAM CLULEY
N
Netflix TechBlog - Medium
TaoSecurity Blog
TaoSecurity Blog
C
Check Point Blog
Scott Helme
Scott Helme
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
PCI Perspectives
PCI Perspectives
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Vercel News
Vercel News
The Hacker News
The Hacker News
Y
Y Combinator Blog
Latest news
Latest news
SecWiki News
SecWiki News
Hugging Face - Blog
Hugging Face - Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Google Online Security Blog
Google Online Security Blog
Webroot Blog
Webroot Blog
Google DeepMind News
Google DeepMind News
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cisco Blogs
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
L
LINUX DO - 热门话题

Nic Lin's Blog

謝明真 - 高效領導力的課後筆記 NFT 開發實戰!基礎智能合約入門 (3) NFT 開發實戰!基礎智能合約入門 (2) NFT 開發實戰!基礎智能合約入門 (1) 如何自我檢測 log4j CVE 漏洞 Rails 如何在資料寫入時記錄來源 IP 位置 如何經營工程師 Youtube 頻道 - Part 8 營收篇 如何經營工程師 Youtube 頻道 - Part 7 酸民文化篇 如何經營工程師 Youtube 頻道 - Part 5 設備器材篇 如何經營工程師 Youtube 頻道 - Part 4 後製剪輯篇 如何經營工程師 Youtube 頻道 - Part 3 文案企劃篇 如何經營工程師 Youtube 頻道 - Part 2 設備器材篇 如何經營工程師 Youtube 頻道 - Part 1 制訂頻道方向篇 如何經營工程師 Youtube 頻道 - Part 0 Rails 中避免 race condition 的最佳實踐(二) Rails 中避免 race condition 的最佳實踐(一) 10 分鐘整合 google sheet 做自動化開發功能週報 經營 Side Project 300 天所帶來的收穫及挑戰 我的 Youtube 影片製作流程 API 設計時必須注意的 HTTP header 底線問題 如何提升你的程式可讀性之實務技巧(三) 如何提升你的程式可讀性之實務技巧(二) 如何提升你的程式可讀性之實務技巧(一) Ruby 中使用 freeze 優化效能的時機 避免 React 中的 useEffect 無限 render 在 Rails 內輕量使用 Vue Component 的最佳實踐 如何在區域網路用 Docker 架設有 SSL 的 Gitlab 從被問到問人,那些我常問的面試問題 [Rails] 如何漂亮寫出可維護的 query (Maintainable Rails Query) 在已知長度情況下優化 slice 的性能 [ReactNative] 如何在 iOS APP 上主動要求用戶評分 Rails 的 scope 為什麼用 lambda? Proc 與 lambda 不同之處 淺談 Active Record 的 Lazy load 特性 Rails 專案搭配 Github Actions 進行 RSpec 自動化測試 JavaScript 中 require, import 的差別及效能 React 效能優化基本招 ES6 箭頭函式 (Arrow functions) 2 個月擁有 6000 用戶 Side project 這樣做(一) 如何讓自己成為失敗的軟體工程師 如何用 Rack::Attack 阻擋 DDOS / 惡意流量 用 OpenSSL 自簽開發用 HTTPS SSL 憑證 為機器加上登入訊息,在 ubuntu 設置登入歡迎詞 Ruby Memoization 性能優化之記憶化 淺談 SSH agent forwarding 和 proxy command 的安全風險與應用 [Rails] Service / Library / Concern 的差異 避免過度的 Defensive Programming 防禦性程式設計 1:1 攪亂器,如何用 Ruby 做可逆推序號 Rails 中的欄位及方法命名原則 [Rails] 用 puma-dev 作為本地開發伺服器 (支援 https 自簽憑證) 將 Rails 專案從手動部屬遷移使用 Capistrano 自動化部屬 工程師提昇自己的教學和簡報技術的方法 [筆記] Rails 3.2 升級 Rails 6.beta 經驗分享 Class method 氾濫帶來什麼問題 RDBMS 課程心得與筆記 常用的 Rails 開發規範 Rest-Client 如何做 Basic Authentication 驗證 [Rails] 何為 tld_lebgth? 遵循 Semantic Versioning 軟體開發語意化版本管理 請直接在 MySQL 裡面直接用 utf8mb4 取代 utf8 如何解決在 awesome print 中遇到 ActionController::Parameters unable to convert unpermitted 如何在 Mac 上升級 PostgreSQL 並遷移資料 如何解決 Mysql2::Error: Incorrect string value 讀書心得 - 「信任因子:信任如何影響大腦運作、激勵員工、達到組織目標」 我是如何寫部落格筆記的 讀書心得 - 「先問,為什麼?:顛覆慣性思考的黃金圈理論,啟動你的感召領導力」 [Rails] 解決 Reset Password 帶來的 token 洩漏問題 我的軟體工程師生涯:如何挑選適合你的公司 Rails 中的 delegate 用法 淺述 SSR SPA 優缺點 Rails 非同步工作請用 Global ID [React] Class Component 傳遞 props 的 2 種方式 好用的隱私權政策 URL 自動生成 Rails 5.1 之後的 tag helper Rails 5.2 Encrypted Credentials 最近面試被給的建議和書單 一般架構需要用到 K8S 嗎 透過 commit SHA 找 github Pull request 從零搭建,如何讓 Rails 跑在 Kubernetes(k8s)(二) 從零搭建,如何讓 Rails 跑在 Kubernetes(k8s)(一) React Stateless Functional Components 搞懂 React 中的 state 和 props 物件導向基本原則 SOLID (Ruby Sample) 在以太坊智能合約上是可以預測隨機數的 在台灣租屋必須注意的事 Rails 5 簡單雙向加解密 如何用 ABA 培養自律型員工 不要在 rake task 中定義 method, 請用 RAKE::DSL rails 非hash只想用array輸出page 如何處理陣列裡有重複的值 [Rails] 如何重設你的專案名稱 Ruby on Rails install on Mac 安裝步驟 使用 Friendly_id 與 Babosa 美化你的Rails 網址 Devise使用Google實作登入 [iterm2] 如何新增alias 一個新鮮人找尋Rails工作的面試經驗 如何讓兩個資料表建立關聯 routing 的 namespace strong parameter user story 的格式 user story 是什麼?
Junior Rails 兩個月實戰心得
Nic Lin · 2016-04-10 · via Nic Lin's Blog

關於我

我是Nic,自從xdite的Rails即戰力畢業後,工作至今也即將滿兩個月,其中的收穫與成長,讓我感覺就像是一場冒險,希望能夠透過文字記錄下來,同時希望能幫助更多在這條路上,亦或是想踏進來的人一點方向。

上課之前的背景

從小學時期就對電腦情有獨鍾,喜歡玩電腦,「想要」寫程式,但「不會」寫程式。 大學就讀私立科大於2014/6月畢業的學士,修習的系別是資訊工程系,就學期間學習的科目如大家所知的資料結構、演算法、計算機概論等等,皆是拼拼到課率,然後背背題目低空飛過。 大學四年的實力僅有寫個簡單網頁(如asp.net實作身分證驗證)以及對linux Centos 指令熟悉。

在這之前,我從未做出一個完整的網站,或是值得一提的程式,更別說連聽都沒聽過Ruby on Rails。

學習動機

我的學習動機,原本要在這邊寫一段,但就像Rails簡潔的風格(Don’t Repeat Yourself),不想寫重複的東西(根本是懶鬼!!),所以在實戰班心得有寫到,也許可以到這裡看

課程影響

上完xdite的Rails即戰力課程,其實我很後悔,很且深深地後悔。

後悔為什麼不在早個幾梯報名!!後悔為什麼那麼晚才知道這相消息!!

這無庸置疑是真的超後悔啊啊啊啊!

然而這堂課,學習到的東西,以及能學習的東西,遠超乎我所想像,那種感覺就像百貨公司限時大搶購,你有能力拿走多少東西,都是你的。

一開始,還對於Ruby這個語法陌生,對Rails這個框架完全摸不著頭緒的時候,我硬逼自己去報名上課,在課前瘋狂練習所謂Rails101,因為我對一件事情在短時間重複做會感到厭煩,就像你不會一個禮拜五天都吃魯肉飯(大多數不會,不要說你是例外XD),所以xdite的提醒,我分了兩週才做完所謂三遍的101。

其實做完三遍當下,我覺得不過就如此,好像知道該把code打在哪裡,卻又無法了解其中奧義,只是有個模糊的概念知道,何者與何者之間的關聯,如果你要我即刻開發一個網站,當時的我完全不知從何做起!

上課時,xdite老師講的很快,我的手速完全無法超越他的口速,但我發現也許是我做了Rails101三遍的緣故,在教材的指引和老師的講解下,我可以大約知道這樣的code會做出什麼功能,如何替自己解決bug。

然而課程中出現了在練習Rails101時不曾碰過的bug,我利用舉手求救的機會,讓助教為我解bug時,能夠藉此學習解決陌生的bug,久而久之就不在對滿滿的錯誤訊息感到害怕。

很快的,上完四堂課,有種意猶未盡的感覺,但卻對課程的內容無法完全掌握感到不安,於是我利用空閒時間,把不懂的地方試著靠自己的方式寫一遍,並思索其中道理,不懂的地方找meetup問助教或是上網查資料,然而在這過程中,依舊會遇到你似曾相似的錯誤,這時沒有助教在身邊,你能第一時間找到答案的地方就是Google,在這個時候,你必須學會將問題粒度切小和如何下對關鍵字,最後找到適合你的答案。

在課程結束後,最需要培養的,是「自學能力」,你如何能夠遇到問題時,靠著自學能力解決,縱使這個課程就像坐火箭,把你快速拉到另一個層次,但當推力消失了,如何靠自己在進入下一個層次呢?

這堂課程對我而言,xdite讓我大幅降低自我摸索的時間,減少重複撞牆與原地踏步的時間,盡可能的避開起步的冤路,快速的送我到一個登山口,告訴我技巧跟經驗,至於能爬多高,就得靠自己了。

在實戰之前

課程結束後,我邊投履歷,邊練習Rails,面試的過程可以看這篇[文章]( “http://niclin-blog.logdown.com/posts/413505-interview-experience")。 在面試遇到瓶頸的時候,我利用Meetup的機會,詢問xdite的意見以及履歷的建議,xdite不會拐彎抹角的跟妳說你寫的怎麼怎麼,而是直搗黃龍的告訴你,你寫的某個部分有著何種缺點,如何去改善,甚至不介意你在給他看第二次第三次,這部份讓我覺得,除了課程以外,竟然還有含金量如此高的課後服務,根本值回票價且超乎我所想像。

說也奇怪,我還真的就是那個你們現在課程看到的投影片上那句「改完履歷就上了」的學長,「我完全沒有Rails經驗」,只憑著一個月的課程,跟除了三餐外的時間努力寫code,還真讓我找到了工作,我花了一個月的時間面試,總共十間公司,獲得兩間聘書。

這堂課我從其中獲得了這些資源:

  1. 業界不見得有人跟你說的心法(思考架構)
  2. 強大的助教群(可以從中學習)
  3. 健全的Rails meetup可以交流
  4. 專業的履歷修改建議
  5. Rails的特殊用法以及整理心法

進入實戰

開始上班的兩天後,主管交付我一個目前以Rails為架構的旅遊網站,其中的商業邏輯與主要架構,主管在我來之前已經完成,我必須著手進行維護以及新增未來需要的功能

我滿懷期待的打開專案,發現整包code是我上課所學的三倍以上,我心想慘了,要是寫不出主管要求的功能,試用期之前肯定掰掰了。

但是樂於接受挑戰的我怎麼能就此放棄,我先是與主管討論我需要立即修復的是哪個區塊的功能,以及在未來幾天需要完成什麼項目,很快的我掌握了接下來的目標。

在維護及改善的過程中,除了大量閱讀前人所寫的code,我利用了之前xdite上課所學到的如何整理程式碼,藉此邊整理,邊了解整個邏輯跟架構,慢慢的我可以寫出一些簡單的東西了、可以從模仿變成創造。

經過第一個月的熟悉後,我實作第二個主管交付的項目,我漸漸發現在實作的過程中,像是有一股內力一直湧出,我腦袋的邏輯能夠在MVC架構內穿梭自如的感覺,對於實作不出來的功能,能夠把粒度切到最小進行詢問或是上網查詢,進而解決每個難題。

對於完成自己從來沒作過的項目,感到不可思議,我差點以為是天生神力,但其實這一切都是更多的自我努力與xdite課程的推力,讓我能夠在短時間內快速進步。

很快的,Rails的正式工作也滿兩個月,回頭看看第一個月寫的code,還真是超級沒有羞恥心的啊XD,不過也很開心能夠清楚看見自己的進步,並回頭整理不乾淨的code。

實戰兩個月提升的技能: 1. 可以利用Sass編寫成css進行前端排版 2. Git更熟悉各種用法 3. 能夠導入JavaScript Plugin並且能夠利用ajax送參數後經由controller處理且進行資料庫操作。 4. 能夠銜接API並且處理資料 5. 能夠解決網站N+1 query問題

接下來,可能是工作滿半年考慮會在寫一篇XD。

謝謝觀看。