Ajax 板


LINE

大家好 小弟现要撰写一个网站 功能如下: 这个网站有一个用html table做成的行事历 所有使用者可以上来看本月的行事历 也可以新增事项上去 这样的功能 需要把资料整理成table易处理的形式 也就是大概要4~5个阵列 每个阵列有7个data 这样就可以用回圈去做出多个<tr>以及其内的<td> 就做出行事历的样貌了 小弟想问的是 整理资料这件事 应该由前端还是後端来做? 用後端做 怕server loading太大 用前端做 怕client端会跑太久 请问各位大大高见? 谢谢! --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.106.65
1F:推 mrbigmouth:前端 client端都会跑太久的东西 server肯定吃不下 12/21 14:28
2F:→ mrbigmouth:而前後端在跑的时後前端还不是一样要等? 12/21 14:28
3F:→ mrbigmouth:分功上 後端要作的在於有安全需要的东西 比如说帐号 12/21 14:29
4F:推 adamp3:肯定是前端 你试想假设同时有几万人做同样的指令 要放哪好? 12/21 15:53
5F:→ TonyQ:资料整理听起来是server side , data provider 该负责产出 12/22 01:46
6F:→ TonyQ:的 json ,这个应该是归类在server side 。 12/22 01:46
7F:→ TonyQ:我的看法是「提供资料」=> server side的责任 12/22 01:47
8F:→ TonyQ:界面、事件、互动=> client side的责任 12/22 01:47
9F:→ TonyQ:另外我不同意mrbig 说client端跑太久的东西 server吃不下 12/22 01:47
10F:→ TonyQ:client 的 performance 相对於 server 是超级弱的。 12/22 01:47
11F:→ TonyQ:同样一个xml parsing , server 只要1s , client 可能要2~4s 12/22 01:48
12F:→ TonyQ:只是client用的是使用者的资源,server用的是server的资源 12/22 01:48
13F:→ TonyQ:考虑到资源的运用上,能尽量转嫁给user的就尽量凹。 12/22 01:48
14F:→ TonyQ:但 server 是不是吃不下,要视状况决定。 12/22 01:49
15F:推 mrbigmouth:假设server的速度是client的4倍 同时有4人以上使用serv 12/22 10:41
16F:→ mrbigmouth:er的机率有多少? 如果很少甚至通常只有一人的话当然可 12/22 10:41
17F:→ mrbigmouth:以全丢给server... 12/22 10:41
18F:→ mrbigmouth:但还要考虑网路传输的问题 通常情况,未经过处理的原始 12/22 10:42
19F:→ mrbigmouth:资料会比经过处理格式化的资料要小 传输速率也会快 12/22 10:42
20F:→ mrbigmouth:再怎考虑各种情形 我还是觉得能转嫁给user的就全给user 12/22 10:44
21F:→ mrbigmouth:server只要考虑"应该丢给使用者什麽资料才安全"即可 12/22 10:44
22F:推 mrbigmouth:除非你的主机已经强大到跟google一样的可当云端层级... 12/22 11:07
23F:→ mrbigmouth:而且还到处都有分支主机保证传输速率在一定之内... 12/22 11:09
24F:→ mrbigmouth:云端计算的模式才会有比较快的可能 12/22 11:10
25F:→ TonyQ:我觉得你想的有点多 如果是预先处理好的资料 在存档时就可以 12/22 14:11
26F:→ TonyQ:先按照他要输出的资料格式先做好。我用1:4 是很客气的假设 12/22 14:11
27F:→ TonyQ:他输出时还要经过处理,正常来讲作为资料提供通常都已经先 12/22 14:12
28F:→ TonyQ:做好该作得资料格式转换甚至是cache 。而且server横竖是需要 12/22 14:12
29F:→ TonyQ:提供资料的。而且未经过处理的资料怎麽可能比格式化还小, 12/22 14:12
30F:→ TonyQ:真的是这样那根本是格式有问题吧。 12/22 14:12
31F:→ TonyQ:再加上server 还可以作gzip,比起丢一堆大量的原生资料进行 12/22 14:13
32F:→ TonyQ:分析,当然是先搞定资料啊。Orz 12/22 14:14
33F:→ TonyQ:他的这个需求计算的部份很小,倒是资料怎麽储存怎麽最低成本 12/22 14:16
34F:→ TonyQ:转换成VO的多,几乎都可以将运算量压到最低的case。 12/22 14:16
35F:→ TonyQ:应该要讨论的是怎麽储存资料跟怎麽转换成Json最有效率, 12/22 14:17
36F:→ TonyQ:client跟server 的效能根本不是这个问题的重点。 12/22 14:17
37F:→ TonyQ:我不是不同意可以转嫁成本给 client ,但是干嘛要先把成本弄 12/22 14:20
38F:→ TonyQ:得很高再让client 收尾巴,一开始就让成本很低就好啦... 12/22 14:21
39F:推 mrbigmouth:做gzip也需要主机端的资源 预先以需要输出的资料格式储 12/22 14:42
40F:→ mrbigmouth:存也只是把运算时花的时间移到储存时 12/22 14:42
41F:→ mrbigmouth:我相信这样搞之後 也许最後加起来的总消耗时间或许真的 12/22 14:43
42F:→ mrbigmouth:比"全部丢给client端就好"加总再平均之後来得快啦... 12/22 14:45
43F:→ mrbigmouth:但你确定原po需要的是这种答案?|| 12/22 14:45
44F:→ mrbigmouth:我所谓"处理过後的资料"指得是"已经确定必须的资料"再 12/22 14:48
45F:→ mrbigmouth:上"格式"後的结果,即使是json都要加上一堆{}"": 更何况 12/22 14:48
46F:→ mrbigmouth:是html...原始资料肯定比较小啊... 12/22 14:49
47F:→ mrbigmouth:至於server端的资料从何而来...我一直以为大部分初学者 12/22 14:51
48F:→ mrbigmouth:都是直接从DB捞啦...如果原po是那种是先按输出做好格式 12/22 14:52
49F:→ mrbigmouth:外加视情况写好快取的人...千万不要听我的话 我是小咖 12/22 14:52
50F:→ TonyQ:你原始资料还不是要有separator 要有escaping 12/22 14:56
51F:→ TonyQ:不然你怎麽分段切割 12/22 14:57
52F:→ TonyQ:{} "" 那都是判断资料格式中的必须 你省他只是找自己麻烦 12/22 14:57
53F:→ TonyQ:从db捞出来也不过就是一堆RecordSet 你还是要output啊 12/22 14:58
54F:→ TonyQ:我很确定这个需求不可能产生你说的这种情况,这种需求我 12/22 14:58
55F:推 mrbigmouth:所以你的意思是 json比CVS还小? 从DB捞出来的资料转为 12/22 14:58
56F:→ mrbigmouth:CVS花的资源比转为json还大? 12/22 14:59
57F:→ TonyQ:做过没有二三十次也至少有十次以上,很基本的需求啊。 12/22 14:59
58F:→ mrbigmouth:更正 是CSV 12/22 15:00
59F:→ TonyQ:我觉得如果你output 是 cvs ,1.除非你db就是存cvs字串 12/22 15:00
60F:→ TonyQ:不然转csv 跟转json来讲,效能上几乎是一样的。 12/22 15:00
61F:→ TonyQ:但是前者可以避免client side 的多余逻辑跟运算效能。 12/22 15:01
62F:→ TonyQ:2.csv 跟json 来讲 谁大谁小 以array来讲 ok 他的确有机会 12/22 15:01
63F:→ TonyQ:小一点,但是那个差距几乎可说是小於可忽略的。 12/22 15:01
64F:→ TonyQ: *我的意思是转json 12/22 15:02
65F:→ TonyQ:而且你说csv,那他就限定不能有多层结构,一有多层结构csv 12/22 15:03
66F:→ TonyQ:绝对没有json经济。 12/22 15:03
67F:→ TonyQ:当然 我也不是建议原po输出html ,如果你以为我说的资料提供 12/22 15:07
68F:推 mrbigmouth:问题就在於从DB捞出来的资料不会有多层结构啊... 12/22 15:07
69F:→ TonyQ:是html,那的确是误会。因为单就产html这件事情而言,我是 12/22 15:07
70F:→ mrbigmouth:你有多层结构就肯定经过"在处理=花资源"了 12/22 15:07
71F:→ TonyQ:能接受client产html的。 12/22 15:07
72F:→ TonyQ:是吗?你今天有一个日期有多个事件,这就是一个层次了。 12/22 15:08
73F:→ TonyQ:这些日期可能又会有跨日期的事件,也是层次。而且一样为什麽 12/22 15:08
74F:→ TonyQ:client 可以直接吃的json 不用,要弄个csv,然後client还要 12/22 15:09
75F:→ mrbigmouth:我觉得我们这样讲满乱的 你先讲吧 我晚上有空再po一篇 12/22 15:09
76F:→ TonyQ:再稿支 csv parser ,量大还会lag(client 效能差) 12/22 15:09
77F:→ TonyQ:我不觉得server产csv跟产json 有量上的差别,你说产xml或 12/22 15:09
78F:→ TonyQ:html会肥 我很同意,但是json 没有这个问题。 12/22 15:10
79F:→ TonyQ:我觉得我们直接举实例来讨论可能比较快。 12/22 15:10
80F:→ TonyQ:我回文啦 剩下的交给你回吧 12/22 15:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP