[Day33] 一条龙总结

本系列文章从 Web API, 架设云端 VM,资料库操作到前端 app,一步一步做出一个虽然很阳春但是完整可运作的网站。虽然每个部份实做的东西都很少,但是许多网站的基本功能其实就这麽简单,改变一点画面跟资料处理逻辑就能做出很多功能。当然,比较进阶的网站会需要更多的技术与知识,但是只要熟悉这些基本,要再自学精进绝对不是问题。

初衷

笔者当时写这篇文章的目的本来就不在介绍高深的技术,目标只有一步一步做出整个网站,让读者大概知道网站的各个部分在做什麽事。但是,笔者因为时间与心力的不足,一直没有在实作的过程中一起介绍这个领域需要什麽样的技术或人格特质,也就是说,当初所希望的「让读者找出有兴趣的领域,并专精学习它」的目的并没有实现,今天,我们就用最後一篇总结来聊聊,写网站的时候,在这四个领域分别适合什麽样的人、需要什麽样的技能。不过,这里还是要再次强调,这些只是笔者的自身经验,每个人所遇到的环境、团队不尽相同,可能无法反映每个职缺的真实现况。

工作内容

  • 主机/云端 VM

    • 管理主机/VM 必须对作业系统(Windows Server, Linux, 等等)相当熟悉,因为网站所在的系统的稳定度及效能与作业系统的设定、调校有高度的相关。笔者曾经有某一支程序怎麽跑都扛不了 100 qps 的流量,公司的 SE 贴给我一串 Linux 指令换一下设定,马上顺畅无比 400 qps 都还顺顺的。另外,由於现在非常多的服务都会上云端,所以也必须对於云端系统有一定程度的了解,例如 GCP, AWS, Azure 的设定与使用。

    当然 400 qps 在大型系统中是个笑话,笔者只是想强调管理主机的工作需要对作业系统很熟悉。

    • 这个领域适合喜欢钻研底层技术的人,需要多充实作业系统、网路协定与安全性相关的知识。
  • API 程序

    • 撰写 API 程序特别注重两个地方:软件架构与效能。API 程序与前端页面一样常常需要修改与扩充,不良的软件架构会让技术债快速的累积,并让以後的除错与功能扩充变成恶梦。效能方面,由於 API 程序可能会需要服务短时间高量的网路请求,所以在写 API 的时候同时要考虑程序的执行效率,必须审慎的思考程序的执行流程,在不破坏软件架构的条件下尽量的提升速度。

    • 这个领域适合喜欢「设计程序」的人,如何设计一个好的架构、如何设计好的演算过程,让程序跑得又快又好、别人又容易使用。这个领域需要多学习软件工程与演算法的知识。

  • 资料库

    • 操作资料库极度讲究正确性与效能,作为资料中心,只要这边的资料有误,整个系统就全部都错,而且因为所有有关资料的操作都在这,必须要对资料库的语法及资料库引擎的运作非常熟悉,如此才有办法写出高效能的 SQL 指令。因此,操作资料库的人首先要细心,因为绝大部分的资料只要有一个地方错误,就会污染与他相关的资料,或者多一个零少一个零都会出大事。
    • 这个领域适合心思细腻而且有耐心的人,需要学的东西比较专一,就是资料库引擎跟他的语法。
  • 前端 App

    • 写前端 App 主要注重软件架构与沟通能力,随着前端 app 越来越大越来越复杂,没有良好的架构很容易改不动程序或者越来越容易出 bug,或者之前做的东西无法重复利用,这些都会大大的阻碍前端 app 的开发、扩展。沟通方面,因为前端 app 直接接触使用者,所以非常多的时候需要与使用者沟通,根据使用者的喜好做页面与设计使用体验。

    唔...其实还要有好脾气,无理取闹的使用者比比皆是

    • 由於前端 app 还需要有美感的呈现,如果团队里没有设计师,而且连外包都没有,那这时候还会需要一点美学的基础,除非这个 app 只是给内部用的,而且别的部门也能接受完全没有美学的工程师页面。
    • 这个领域适合喜欢有视觉回馈的人,因为前端 app 是整个网站中唯一有视觉呈现的部分,其他通通都是黑白的 console 输出或资料表。这个领域需要很强的学习动能,需要一直学习新的 JS 框架或其他前端技术,因为前端技术的变化是所有领域中最快的,但相对的,对於效能与演算法比较不用那麽讲究。

优缺点

上面说的是各个领域需要学习什麽、适合什麽兴趣的人,这里也来讲一下四个领域的优缺点

  • 主机/云端 VM
    • 优点 - 受人崇拜,因为 Linux, Windows, 网路协定、安全性这些都不是好学的东西,厉害的 SE 是受所有人景仰的
    • 缺点 - 出事的时候很累,像是被 ddos 或莫名原因机器挂掉,所有的服务都会中断,这时候压力会全在管理主机的人身上
  • API 程序
    • 优点 - 成就感很高,写出好扩充、好维护、效能又挺过公司最高峰流量的时候,真的只有一个爽字了得
    • 缺点 - 被压时程的时候会很崩溃,被迫用烂架构写粪 code,然後再被指责为什麽写不好
  • 资料库
    • 优点 - 首先是「掌握 DB 的人就掌握公司命脉」,越能接触到核心资料越容易有高薪。第二个也很重要:有妹子!不知道为什麽,满多女生很排斥写 API,但是写 SQL 就 OK
    • 缺点 - 出包的时候,受到的惩罚比其他三个领域都严重
  • 前端 App
    • 优点 - 首先是职缺多,现在前端需求越来越大,职缺非常的多,大公司开出的薪水也已经跟後端平起平坐。第二个一样很重要:有妹子!更多的妹子!笔者待过的工作环境中,做主机/VM 管理与写 API 的女性同事人数为 ,资料库为 2,前端为 4。
    • 缺点 - 技术演进太快,甚至有可能去年学的一个新技术,今年就被淘汰,需要不断不断地学习新技术。再来是如果被压时程,与 API 程序一样会很崩溃,更糟的是还要受使用者/客户的气

Say Good Bye

好不容易终於把本系列撑完了,希望这一点点的浅薄内容,能给正在观望不同领域的人有一丝丝些微的帮助,感谢每一个读过本系列的邦友,祝大家学习顺利工作开心,bye bye~


<<:  结语 - 相关的展望

>>:  Day30 Gin with Drone

2.4.12 Design System - Lists

不要什麽都说的艺术 想起之前一位在澳洲结交的台湾朋友 後来我们又在另一个国家重逢 我们有很多话可以...

DAY7 - 图

之後会有几天与图相关的演算法,所以今天先看一下表示方式~~ 边 1135. 最低成本联通所有城市这题...

33岁转职者的前端笔记-DAY 13 图片格式及影音格式

图片 网页上一定会有多许多图片元素我们在开发网站时需多了解图片的特性及格式,在开发的过程会更加顺利。...

【第四天 - Flutter BottomNavigationBar(上)Animation】

前言 一般来说,写 BottomNavigationBar 会使用这个方法,官方文件,这个是官方的范...

透过 EventBus 解决 TransactionTooLargeException 问题

最近在 App 里面加上了纪录使用者登山轨迹的功能後,上线的第一个周末 Firebase Crash...