Day1. 参赛

前言

我是汉汉老师,於某公立大学电机系、某公立电机研究所毕业的新鲜人。

自大一修了C++的课以後,就没有深入碰过程序语言的我,硕二时开始重新接触软件。当时因应实验室的转型,实验室类比电路转为深度学习,我跟其他两位同学开始接触Python,而由於後期深度学习需要大量建筑物的假资料,因此接触SketchUp,并接触外挂语言Ruby,开启了Ruby on Rails的学习之路。

出社会的第一份工作为 Rails 工程师。刚开始除了Rails以外,对其他程序语言一窍不通,後来才慢慢补齐其他技巧。来到大型零售商转调到前端部门後,才又学习到如何排版。

刚出社会时候,画面的部分只会复制贴上,css的部分完全看不懂,由於当时对於 Rails 的了解很初浅,前辈们很多写法都看不懂,其实就是什麽都不会的意思。

出社会一段时间,自己逐渐习得了一些技能,以及练就自己写程序的风格,想说如果不把自己成长的经验纪录起来太可惜了,想了很久还是决定参加这次的铁人赛30天。

这次的铁人赛30天,主要想介绍成为初阶工程师可以具备的技能,这一系列的文章会将用法搭配应用实例一起介绍。

以下为铁人30天 会介绍的文章内容:

目录

Introduction

Day1. 前言

Ruby Basic

Day2. 基本用法
Day3. 字串
Day4. 阵列
Day5. Hash
Day6. Hash 跟阵列的转换
Day7. 时间

Block

Day8 Block && Functional Programming part-1
Day9 Block && Functional Programming part-2
Day10 Dive into Block

Class

Day11 Class Basic & instance method
Day12 ClassMethod & MetaClass
Day13 class_eval & instance_eval
Day14 Module & mixins
Day15 Class Inheritance
Day16 Design Pattern

Special Topic

Day17 Dynamic Programming
Day18 Slim & Pug

View

Day19 後端工程师必须懂的画面常识
Day20 後端工程师必须懂的Bootstrap用法
Day21 了解Rails 既有 helper
Day22 自己动手做 helper

Form

Day23 Rails基本运作以及基本的Controller操作
Day24 深入了解form的用法
Day25 form里面还有form怎麽办?

Stimulus

Day26 Stimulus 环境设定 & 基本用法
Day27 Stimulus 搭配 Ajax
Day28 Stimulus 搭配 dataTable

Model

Day29 了解MVC的Model
Day30 了解关联以及includes, preload, join的用法
Day31 Ransack的基本与进阶用法

Special Topic

Day32 使用Decorator Pattern & class_eval 计算摊提

RSpec

Day33 测试Services

Conclusion

Day34 结尾语以及遗珠之憾

安装环境

若为Mac的使用者,内建就会安装Ruby,只要在命令列下

ruby -v
# ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin20]

就可以知道目前的电脑ruby为哪个版本。

而若要知道目前取用的ruby位置,可以在命令列下

which ruby
# /Users/chenhanting/.rbenv/shims/ruby

另外,大部分的ruby开发者会用版本控管工具安装多个版本的Ruby。市面上常见的版本控管工具一共有三种,分别为rvm, chruby, rbenv 。我习惯用的是rbenv这篇文章详细的介绍了rbenv 的安装

Day1-Day17的内容都可以使用interactive ruby(简称irb)来互动,或者写成一个副档名rb结尾的档案,并且在命令列执行

ruby itday01.rb

⬆️ 执行上列该行,就会在当前位置里用ruby执行 itday01.rb 的档案。

结论

今天提到了30天的目录,以及基础的安装设定。到了Day2以後,便会开始介绍Ruby & Rails的二三事。


<<:  JavaScript入门 Day01_介绍

>>:  [Day-1] R语言 - 分群纲要(clustering in r)

【D12】发现新厨具:Snapshot

前言 有个Snapshot的功能,可以看当下的商品状况,让我们看看这个功能可以做啥吧! 参考网站:S...

Day23 切版笔记- 人员介绍卡片

运用到的观念 border搭配伪元素制作出三角形区块 绝对定位&相对定位 用:hover ...

【PHP Telegram Bot】Day19 - 基础(8):回圈、Xdebug

当需要重复做类似的事情时,不需要写很多行重复的程序,用回圈就能一次执行很多次 回圈 while 如...

资料驱动的元件

资料驱动绘制 (Model-driven Rendering) 英雄列表范例已经初步展示过 List...

Day14 用python写UI-聊聊Scale

今天迈入第14天了,耶~~~今天的内容我也是很喜欢,尤其是自己调整背景颜色的实作,真的觉得非常有趣~...