作者brianhsu (墳墓)
看板Soft_Job
標題Re: [請益] 開發起來不須太等待的技術或工作
時間Thu Apr 12 09:30:19 2018
※ 引述《FacetheFaith (感恩 知足)》之銘言:
: 請教各位前輩
: 一些與back-end相關的工作似乎常會受限於back-end的回應速度而須等待
: 因為程式人員靈光湧現時不都急著想把程式寫好
: 若需等候一段時間這樣在開發上似乎有時會打亂寫程式的節奏
: 想請問軟體開發有哪些技術或工作是不太需要等待就能快速看到結果的
: 除了網頁開發外還有哪些類型的技術或工作是不太需要等待的嗎
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
看你的行文,應該是只要等資料跑完所以要等待?
那我會先看資料量有多大,除非資料量超過百萬以上,不然 DB Schema
和 Index 有設計好,Query 有下對,通常頂多也就幾秒的事吧?通常
如果超過十秒,我就會懷疑是不是程式寫錯,或是有在迴圈裡下 SQL
撈資料之類的。
而且開發的時候,就算不用 Mock 之類的,也可以用比較小的資料子集
來做,嫌慢的話也可以直接把 DB 的資料放到 Ram Disk 裡,或如果你
們的 ORM 支援的話,也可以直接用 In-Memory 的 DB。(例如 H2)
這樣再慢,就是程式本身演算法有問題了吧,例如搞了個 O(N!) 之類
的東西出來,資料量又特大的話,不慢也難。XD
不然像其他人推文說的,學寫 Unit Test / Clean Architecture 和
相關的技巧,這樣就可以開發的時候連資料庫建置都不用管。
BTW,聽他的演講很有趣,明明講題都一樣,但我還是每場都看了。XD
https://www.youtube.com/watch?v=Nsjsiz2A9mg&t=1521s
訂義好輸入輸出後,寫個測試替身把放在語言內建的資料結構裡(以
Java 來講,最常見的就是 List或 HashMap) 的資料傳回來,就可以
專心寫演算法的部份,等功能都差不多之後,再去接 DB。一開始可能
會不太習慣,覺得好像多做了不少事,但習慣了之後很方便的。
: 資料探勘或機器學習似乎也是經常需要等候一段時間才能看到結果?
--
~
白馬帶著她一步步地回到中原。白馬已經老了,只能慢慢地走,
'v'
Brian Hsu 但終是能回到中原的。江南有楊柳、桃花,有燕子、金魚……
// \\
( 墳 墓 )
/( )\
但這個美麗的姑娘就像古高昌國人那樣固執。 【白馬嘯西風】
^`~'^
http://brianhsu.moe 『那都是很好很好的,可我偏不喜歡。』
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.12.122
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1523496622.A.027.html
1F:→ robler: 自己做測試用的假資料就好啦,用真實的大量資料做開發? 04/12 09:31
所以我說可以用子集啊。XD
真不真實先不管,但在功能開發完後的測試階段,大量資料我覺得是
必要的耶,做效能測試很好用。
有的時候就是會耍蠢,在迴圈裡去撈資料,每一條 SQL 看起來都很快,
組合起來是悲據……orz.
※ 編輯: brianhsu (36.231.12.122), 04/12/2018 09:41:34
2F:→ qrtt1: 想起了有先前有人單純測試,就花了大筆的錢在 gcp, aws 的 04/12 15:08
3F:→ qrtt1: 杯具事件。弄清楚目標,想想再規劃怎麼測啊 ha 04/12 15:09