Re: 請問網頁設計師的前輩
※ 引述《gname ((′口‵)↗︴<><...<><)》之銘言:
: ※ 引述《zanyking (遙遠的旅人)》之銘言:
: 光是看到第1點就很有感觸了...
: 打著快速開發的口號,讓很多人誤以為會用點AJAX,JQuery,ExtJs 之類
: 的API,就能在WEB上吃透透,結果反而忽略了很多基本的東西...
: 經常就是看到拿牛刀來殺雞...
: 舉個使用記憶體的例子...
: 蠻多半途出家的工程師根本就不懂得什麼叫作演算法,資料結構之類的東西...
: 要做一些資料運算時,就通通一次拉到記憶體裡面就對了...
: 反正記憶體很大用免驚的啦~
: 一個陣列裡面拉了幾十萬筆資料,在運作時會稍微有點LAG...
: 但是當一個陣列裡面拉了百萬筆資料時,會發生什麼事?
: 是的,運氣差一點就當掉而已嘛,沒什麼啊...
: 然後花了大把的時間在DEBUG為什麼會當掉? 明明程式就沒錯啊...
: 我很想講, 老兄~ 你要不要考慮把整個DB通通倒進來記憶體會不會方便一點?
: 一個select 就 left join 6張表, 資料量大到一整個誇張...
在LV4 還有很多東西算是我個人主觀的東西所以我沒有提,例如:
『百步法則(hundred step role)』還有『如何吝嗇的管理Java記憶體』
Java PG在編寫程式的時候常常只從OO抽象的角度去看如何實做,而不能從整個系統
(VM, OS, network)的角度去看『該怎麼選擇solution』。
如果你是Java developer,你的工作包括全局的程式架構設計,那你可不是只有
Spring + Hibernate 看個幾下會用就可以乒乒乓乓寫程式了。
光只是開JPA 的 EntityBean 而已,你就應該得要去思考:
Entity的讀跟寫。只讀物件需要每次用還重新跟資料庫拿嗎?
EntityManager的生命週期大小。EntityManager該活多久?每次Transaction完就重抓
還是一個Request內都用同一個?
ORM one to many時該lazy還是Eager?話說回來one-to-many真的該用嗎?你是不是
常常做出『弱水三千只取一瓢飲』的傻事,只因為map.get(pk);程式碼很短?
Query發生的多頻繁?有多少地方因為架構所以你會做出:
Foreach detail in A(while A = select * from orderdetail last year)
Sum += detail.getPrice();
這種令人髮指的事情?
光這個小題目能夠繼續列下去就還有很多,包括Session Serialization 如何對Bean
做didActivate, doPassivate、Transaction Critical Section的確保、
JPA Provider的選擇、second cache 的設定與優化等種種議題...
寫程式考慮太多可能會寫不下去,不過,如果你想做重要的東西、錢想領的不錯,
這些事情就要訓練自己去考慮。
: 之前公司有位愛用AJAX的同事,對於AJAX已經是到完全濫用的境界...
: 資料量少時還OK,等程式到了客戶那裡所有的資料都import進來時,
: 每次執行就是必當機,後來又得麻煩其它同事去改寫架構...
: 要建萬丈高樓,地基就要挖的深,打的好...
: 只是現在很多人都是地面上疊了磚塊就在蓋樓...
一個系統依據使用者的原始需求、預算、新技術產生的新門檻、Production環境
硬體規格,設計上就會有所不同。
AJAX從2005年到現在也快5個年頭了。
Ajax要不要使用、用哪一種Framework、用在哪裡是得要先評估的,例如:
這是個CPU Bound的系統,還是IO Bound的系統?
這個系統會對外開放、還是單純對內?
使用人數是什麼等級?
系統本質是Content Base 的還是Application Base的?
要不要SEO?
屆時per Session會佔多少記憶體?
UI要快還是要滿?
(以下10項略)...
有的人跟我說,做網頁很簡單,大家都去做賺不了幾個錢。
我說『觀念清楚確實也沒什麼,只不過你所謂的網頁很有可能跟我所想的東西
差很遠就是了。』
--
我所信仰的科學是一種謙卑的理性,承認自身的無知與渺小才能觀察到世界在我們貧
弱的知覺上留下來的痕跡。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.177.110
推
11/07 03:46, , 1F
11/07 03:46, 1F
推
11/07 04:21, , 2F
11/07 04:21, 2F
→
11/07 04:21, , 3F
11/07 04:21, 3F
推
11/07 08:27, , 4F
11/07 08:27, 4F
→
11/07 08:45, , 5F
11/07 08:45, 5F
→
11/07 08:45, , 6F
11/07 08:45, 6F
→
11/07 08:46, , 7F
11/07 08:46, 7F
→
11/07 08:46, , 8F
11/07 08:46, 8F
→
11/07 08:46, , 9F
11/07 08:46, 9F
→
11/07 08:47, , 10F
11/07 08:47, 10F
→
11/07 08:48, , 11F
11/07 08:48, 11F
推
11/07 09:14, , 12F
11/07 09:14, 12F
→
11/07 09:15, , 13F
11/07 09:15, 13F
→
11/07 09:15, , 14F
11/07 09:15, 14F
→
11/07 09:16, , 15F
11/07 09:16, 15F
推
11/07 10:09, , 16F
11/07 10:09, 16F
推
11/07 13:09, , 17F
11/07 13:09, 17F
推
11/08 21:32, , 18F
11/08 21:32, 18F
討論串 (同標題文章)