【Side Project】 开发工具及开发环境

我: 客户要的网站我已经开发好,可以架上去了。
同事: 好,谢谢。
(过几天後...)
同事: 客户说,他们主机没有对外网路,不能用怎麽办...
我: ...

这是我某个专案曾经遇到的问题,居然到准备上机测试的时候,
才发现对方公司的主机没有对外网路。这问题不仅让人头痛,
发生的时候也真的是哭笑不得阿。

开发工具

在公司开发专案可能会遇到一些合约上的问题,
例如会需要使用的设备规格、使用的网路网段、或是开发使用的套件...等,
所以可能会把需要的名目、规格都写成规格书一条一条写清楚,
避免造成日後的纷争。
虽然做Side Project 时候不会遇到此类的问题,
不过我们依然可以把确认需要使用的开发工具,
当作开发前的SOP以利日後有机会在写规格书的时候,
不会疏漏某些项目。

硬体设备

这一项算是最简单的部分,如果只是做纯软件开发需要的设备并不多。
有玩PC Game的人应该会比较了解,在官网上都会写着需要怎样的配备,
像是RAM、CPU、显示卡、硬碟大小...等。
不过有一点比较不同的地方就是,因为这次是轮到我们自己来开发,
所以除了用户端以外,服务器端的配备也要考虑进去。

因为我们这次开发的项目,同时使用人数可能最多就数十人。
也没有太多效能上的需求,现在的电脑或是智慧型手机(用户端),
应该都能正常运行,这边就简单举例Server配备规格。
Server:

项目 配备规格
CPU Intel Core i3-530
记忆体 1GB 以上
显示卡 NVidia GeForce 9600GT 以上
硬碟大小 60GB 以上

系统环境

因为在不同的系统中有着一些不同的限制,
所以一般在开发的时候就会去限制我们开发的软件,
要在怎样的环境下运行。

在网路上下载软件的时候常会看到软件都会限定某个作业系统可以使用,
当然这次做为开发者的我们,除了用户端需要有所限定,服务器端也要跟着考量。
既然我们这次打算做一个网页版的菜单,那用户端的作业系统可以不去考量,
取而代之的是我们需要考虑有支援哪些浏览器。
(在同样的设计下,不同的浏览器可能会出现不一样的效果。)

另外既然是网站不可少的就是网路。要架设在哪个IP位置、使用哪些port号,
还有我们可能会需要架设站台的工具,
因为我们需要储存客户的餐点需要储存资料,所以还需要资料库。

所以在我们这次开发的专案需要考虑的项目就有:

  • 服务器的作业系统
  • 资料库
  • 架站工具
  • 使用的IP及Port号
  • 用户端浏览器限制

程序语言和套件

可以依照这次专案的性质,或是对程序语言的熟练度去选择我们应该用哪套语言开发。
在网页上的开发很多就会习惯使用CDN的方式载入外部的套件,
若是这次开发的专案只有对内网路时,就会导致套件失效。
又或是不同套件之间有相依性,当某个套件升级或是更动的时候可能就会导致专案无法正常运行。
所以不论是在事前规划的时候,或是开发中需要新加入或是更动套件。
都需要把套件列入控管的清单中,避免不要的错误产生。

结语

这篇有很多的地方都比较偏向经验与思考的方向。
开发前,注意到越多的细节,在之後的开发就会省下越多的时间去处理非程序码上的错误。


<<:  蚂蚁集团始终走在某国传统借贷业者前

>>:  Day 06 - Google Map 在地向导也是另一种数位足迹

虹语岚访仲夏夜-13(专业的小四篇)

看过的故事有好多 有的很悲 有的很爱 但对於自己 像是吃的午饭 又吐了一半 在这战场 还是不太习惯...

Day23:【技术篇】CSS 的变数运用技巧(2)

一、前言   因为 CSS的变数能运用的地方真的很多,所以就分几篇来穿插介绍罗~ 二、CSS 的变数...

【文字分析】3-4 TF-IDF文字概念

【文字分析】3-4 TF-IDF文字概念 说明 一种分析某单词在文章中重要程度公式 TF-IDF值与...

予焦啦!Ethanol 记忆体映像规划

本节是以 Golang 上游 4b654c0eeca65ffc6588ffd9c99387a7e4...

Day26 - 铁人付外挂测试验收(二) - 导入单元测试

先来回顾一下目前铁人付外挂的资料夹结构: iron-pay ├── composer.json ├─...