Soft_Job 板


LINE

: → superpandal: 怎麽会有人想不开想要跑过来 这些东西其实你自己碰都 01/12 00:08 : → superpandal: 可以做出差不多的工具出来... 模板语言的话用什麽都 01/12 00:09 : → superpandal: 可以 很多目前看到的不外乎就是侦测档案变化并生成程 01/12 00:10 : → superpandal: 式码 还是偏底层比较好 路广 01/12 00:11 : → superpandal: 可以说都在学怎麽应用这些工具 而不是真正的知识... 01/12 00:17 : → Hsins: 侦测档案变化生成程式码听起来好屌ㄛ,你的模板可能跟大家 01/12 00:23 : → Hsins: 的模板不太一样欸。 01/12 00:23 : → superpandal: 不然呢js很多框架就是这样 haha 不然你以为光xml格式 01/12 00:27 : → superpandal: 的语法就可以跑... 01/12 00:27 不是啊,你可不可以不要每次都想要说个好像高深莫测的东西,但 是其实自己不是很理解呀?我觉得传递错误的知识比藏拙还要更可 恶耶。比如上次在那嘴人家 Wine 不做自动化测试,可是人家明明 付出了超级多的心力在那块: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1636600658.A.81D.html 回到这次的主题来。 模板引擎(Templating Engines)这种东西虽然没有什麽学术上明 确的定义,但绝对不是你所谓的「侦测档案变化并生成程式码」好 吗?这边我借用一下 Vue.js 的作者尤雨溪曾经在一篇回答中所使 用过的叙述: 「严格的模板引擎的定义: 输入模板字串 + 资料,得到渲染过的字串。」 [REF]: https://www.zhihu.com/question/32524504/answer/55812327 或者在绝大多数的状况下,甚至可以说是将资料(data)和模板( template)合并然後生成 HTML 文件,再返回给发出 HTTP 请求的 客户端。这些资料在後端会透过与资料库进行交互取得,又不是三 十年前,你的资料不是来自於纯文字档案,请问哪里侦测了档案变 化? 在早期前後端分离架构还不流行时,这是十分常见的作法,常见的 模板引擎,比如: - Spring 搭配 JSP, Freemaker, Thymeleaf 等 - Flask 搭配 Jinja2 - Laravel 搭配 Blade - Django 自己就带有模板引擎 - Express.js 搭配 Jade, EJS 等 - Rails 搭配 Erb, Haml 等 他们在使用上都很类似,比如以 JSP来说,使用上可能是这样的 ,其中 user 的资料会在 Controller 里面从资料库中获取再带 入: <table border="1"> <c:forEach items="${users}" var="user"> <tr> <td>${user.username}</td> <td>${user.age}</td> <td>${user.address}</td> </tr> </c:forEach> </table> 如果使用过前端框架比如 React, Vue, Angular, Svelte之类的, 可能会发现在语法跟概念上有类似的地方,但在本质上是有所不同 的: 1. 模板引擎在後端将资料和模板组成 HTML 并返回给客户端 2. 前端框架通常是透过转换成 live DOM 或操作 virtual DOM 来 将透过 AJAX方式获取到的资料渲染到页面上,但各自的实作略 有差别 至於前後端分离与前後端不分离之间的差异和优缺点我就不多加赘 述了。只希望有些人可以做点功课再来说话,不要人家就已经是烦 恼想要求解了,还在那边被你乱。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.71.215.250 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1641921221.A.B4E.html
1F:→ shomingchang: 从实作角度来看这跟侦测档案产出程式码没啥差距吧 01/12 01:19
2F:→ shomingchang: 侦测socket产生HTML? 01/12 01:21
这种东西如果要说到 socket 就又扯远了,我想以常人看到那句「 侦测档案变化」所想到的要嘛是档案内容或相关资讯变动而做出行 为,在这层面上来说不会想到是 socket。 以常见的架构来说,是 後端根据客户端发送请求时夹带的资料,在控制层里依照需求去与 资料库交互,获取到资料後再放入,交由模板引擎产出 HTML。 另外这跟他扯到的 JS 框架很多也是这样是两回事,这也是为什麽 尤雨溪那篇对於提问者将东西混为一谈很有意见,毕竟「前端框架 」和「模板引擎」是两个概念,不论理念、实践跟功能上都是完全 不一样的东西。
3F:→ superpandal: 我上次说的是wine测试成果不大 一堆dll跟我说100%有 01/12 01:21
4F:→ superpandal: 什麽用 有时候还是得用native dll 01/12 01:21
虽然跟这个主题没什麽关联,但你上次的说法是「 Wine 开发者为何 不考虑一下自动化测试」,而不是测试成果不大,是我提了之後你才 改口的。
5F:→ superpandal: 至於模板引擎很多实现都有输出 要不要弄成档案的差异 01/12 01:24
6F:→ superpandal: 跟我讲没有产生... 01/12 01:25
7F:→ superpandal: 那篇我给的建议就是继续不纯软 我到底在乱什麽? 01/12 01:25
8F:→ superpandal: 还嘴前後端不分离? 就你一个人知道? haha 01/12 01:28
没嘴呀。模板引擎在早些年前後端不分离的架构下扮演着重要角色。 我觉得算是大家都知道的东西啦。生成程式码或生成文件不是我要说 你的谬误点,你的谬误点是侦测档案变化好吗?
9F:→ superpandal: 我也希望有人看不懂就不要在那边五四三 的确没有高深 01/12 01:32
10F:→ superpandal: 只是你测不到 你还是继续觉得你的理解才是对的最好 01/12 01:32
11F:→ superpandal: 当然如果你继续觉得最终html才是产出我也不反对 01/12 01:39
12F:→ superpandal: 那个结果你跟我说是自动化测试结果... 後来有解释了 01/12 01:51
13F:→ superpandal: 这叫什麽自动化测试? 当然也知道他有测试 怎麽测而 01/12 01:52
所以一来你没搞清楚自动化测试是什麽,二来根本连我贴了网址也没 回去认真看嘛! https://wiki.winehq.org/Conformance_Tests 当初 Wine 的开发团队为了进行自动化测试,建构了一组单元测试并 打包成每日更新的执行档,让世界各地的使用者可以运行之後获得每 日的测试报告,不知道花费了多少心力。 另外自动化测试可以是白盒测试、黑盒测试也可以是混合的灰盒测试 ,并不是黑盒测试就不会是自动化测试。
14F:→ superpandal: 已 前後端不分离可以用模板 分离也可以用模板 01/12 01:53
15F:→ superpandal: 很多js的server本来就会根据档案改变更新 这不是因应 01/12 01:54
16F:→ superpandal: 变化是什麽? 01/12 01:55
17F:→ superpandal: 前端框架有含模板 这麽一说php有cache起来就不算模板 01/12 02:03
18F:→ superpandal: 搂? XD 到底是谁讲得很高深 01/12 02:03
我不确定你有没有带过新人啦,但你这样的叙述方式我真希望希望 没有……不知道你说的 PHP 有 cache 起来究竟是指些什麽。如果 是指像是 Smart这样的模板引擎的快取机制,他也是会先经过上述 将资料与模板进行合并产出 HTML 文件的过程,那是 Smart提供的 而不是 PHP 提供的。 另外前端框架比如 Vue 有提供元件样板(template) ,但那与像 是 Jinja2 这类的模板引擎并不相同,上面尤大大那篇回答我真的 建议您可以看一下。
19F:→ superpandal: 我说的自动化测试是智能测试 因应那个主题的智能 鸡 01/12 02:06
20F:→ superpandal: 蛋挑骨头 01/12 02:06
21F:→ superpandal: 根本牛头不对马嘴再来嘴别人不懂 01/12 02:09
自动化测试就自动化测试,智能测试又是什麽辣><
22F:→ superpandal: 没带过新人也不适合带人 你管我怎麽论述 一定得要有 01/12 02:18
23F:→ superpandal: 专业的区隔感才可以吗? 01/12 02:19
这不是专业的区隔感,是描述问题的精确性,你如果做了很多并不 那麽精确的描述,而且这不是为了比喻所以才用白话叙述,甚至说 了些似是而非的东西,那只是「竹篙凑菜刀」而已。
24F:→ superpandal: 你只是自动而非智能 不然也不用人回报问题 01/12 02:20
25F:→ superpandal: 说说的cache肯定是php的 而且框架本来就很多组件 这 01/12 02:24
26F:→ superpandal: 不是蓝加黄必须命名为绿的问题 01/12 02:24
27F:嘘 MoonCode: 红明显 你们两个人一起定义并给出一个模板引擎的语法後 01/12 02:24
28F:→ MoonCode: 然後同时开个 GitHub repo 提交实作 看谁做得出来好 01/12 02:24
29F:→ MoonCode: 了 这是我在知乎看到人家吵架的时候的解法 只是给个建 01/12 02:24
30F:→ MoonCode: 议 以和为贵喔 01/12 02:24
这我是没问题啦。另外如果你对於我上面的内容和我的说法有什麽 问题也可以提出来呀,我会这样说是因为在我认知和所接收到的资 讯(比如上面 Evan You 的说法)中,大多数人在这样情境下谈及 的模板引擎并不是他所说的那样。 如果他本身传递的内容就是错误的,这样的状况和你说的知乎上那 件事是不同的。
31F:→ superpandal: 我已经描述的很准确了 如果要挑准确性 这个版很多都 01/12 02:26
32F:→ superpandal: 很不准确 你要挑毛病是挑不完的 如楼上所说尽量换位 01/12 02:27
33F:→ superpandal: 思考 不口出恶言 01/12 02:27
34F:→ MoonCode: 我记得当初在知乎的那两个人是在吵谁比较懂 c 的 prepr 01/12 02:28
35F:→ MoonCode: ocessor 跟 lexer 01/12 02:28
36F:推 MoonCode: 01/12 02:32
37F:→ superpandal: 是你接受不了还是这是个错误? 强大的模板还是模板 01/12 02:39
虽然不是很懂你想要表示什麽,但是好像感觉很厉害的样子:)
38F:→ superpandal: 你刚刚讲过 模板与框架 这是回应 01/12 02:49
39F:推 tnfshjcc: 我只记得s大不刷题 01/12 04:15
40F:→ Firstshadow: 请定义一下你们认知的模板== 01/12 05:11
41F:→ Hsins: 看一下文啦,我有给出定义。 01/12 08:11
42F:→ superpandal: 我确实不刷题 如上篇所说我不觉得这是什麽了不得的技 01/12 08:25
43F:→ superpandal: 术 要做都做的出来 比较底层的知识才是宝贵的 01/12 08:26
44F:推 superpandal: 至於模板应该是特性符合就是了 01/12 08:29
刷题或许不是什麽了不得的技术,但他考验的也是你所谓的底层的 知识:资料结构与演算法。另外这个不太了不得的技术,也不知道 你刷不刷得动呢。
45F:推 CRPKT: 尤雨溪的说法是准确的,详细来说,任何模板功能的核心都是 01/12 11:17
46F:→ CRPKT: string * data -> string 01/12 11:17
47F:→ CRPKT: 至於延伸的功能怎样算,就要另外讨论了 01/12 11:18
48F:→ xxi511: S大你说的是不是webpack 的hot reload 01/12 12:19
49F:→ ttss4092: 他是不是只是想说开发时的 autoreload 而已 01/12 13:01
50F:→ ttss4092: 他的文字表达真的不是很好懂 01/12 13:02
51F:推 Lomonosov: 真的难懂 我觉得S大与其描述自己用的技术做了什麽 不如 01/12 13:08
52F:→ Lomonosov: 直接说自己用什麽技术 01/12 13:08
53F:→ superpandal: 是 这很多框架都有 来这边本来就没要谈什麽技术 本来 01/12 15:33
54F:→ superpandal: 就几句带过就可以 是有人想要挑骨头反应过激 01/12 15:34
55F:→ superpandal: 其实不只开发 生产都可以用 01/12 15:38
56F:→ superpandal: 那推文的重点其实不是这个 只是表达这不是真正有技术 01/12 15:39
57F:→ superpandal: 含量的东西 01/12 15:39
58F:→ superpandal: 所以推荐该楼楼主最好还是碰底层比较好 01/12 15:40
原 Po 在文章里面提及有太多技术都可以实现网站後端,甚至是前 後端可以一起包,对照他说的熟悉 Vue 和 React 的说法,以及谦 称自己没有什麽头绪,我补充了关於框架和模板引擎的部分。 你倒好,扯个似是而非的东西出来,嘴里说着模板语言现在又成了 热重载(hat reloading)...... 可能你是名不经传的大神,这样 的东西都能随随便便「自己碰就能做出差不多的工具」,顺带跟你 提一下好了,不同模板引擎有不同的实作方式,有的甚至自定义了 自己的 BNF规则,并根据该规则解析模板字串来构造抽象语法树, 最後才是透过抽象语法树把丢入的资料生成出字串。 我不知道你说的底层是什麽啦,以 Web仔来说去跟网通系统厂工程 师谈底层,我是没什麽脸;至於要解释成底层知识,我不觉得编译 设计原理不隶属於其中。 俗话说哦鸡蛋里捡骨头找麻烦是因为鸡蛋里不会有骨头,你是丢了 骨头进去污染了鸡蛋让人捡,还怪人反应过激?我还是那句话啦! 传递错误的知识比藏拙还可恶。
59F:→ MoonCode: 你吃过鸡仔蛋吗 01/12 19:45
60F:→ superpandal: 你看得懂那是两句话吗 我上篇提的是web技术 而不是刷 01/12 20:56
61F:→ superpandal: 题技术 只是纯粹陈述事实 你还可以联想到轻视的意思 01/12 20:57
62F:→ superpandal: 刷题有少少底层没错 但知识只是冰山一角 01/12 20:58
那是问句呀,我自己觉得刷题不容易呀!您觉得不是什麽了不得的 技术那您一定信手拈来就在周赛榜上有名了吧:)
63F:→ superpandal: 热重载对於现今模板技术中不重要? 如你所说模板可以 01/12 20:59
64F:→ superpandal: 有很多方式实现 所以我关心要怎麽实现了? 01/12 21:00
我很期待您分享一下热重载对於现今模板技术的重要性,真的!
65F:→ superpandal: 肯定不是脸的问题 我都不能以web评web搂 我只是陈述 01/12 21:02
66F:→ superpandal: 事实web本来就不会高深 也许他会觉得很有趣 但时间久 01/12 21:03
67F:→ superpandal: 还是会懂 我什麽时候跟他谈底层? 请你告诉我 01/12 21:03
68F:→ superpandal: 反应过激还怕人说阿 明显不针对人 你在那边自以为眼 01/12 21:05
69F:→ superpandal: 尖做出来的反应不是反应过激是什麽 另一个词讲就是脑 01/12 21:05
70F:→ superpandal: 补 传递什麽错误知识? 我主要传递的是web技术并没高 01/12 21:08
71F:→ superpandal: 深 你还探讨别人是不是推论错误 然後嘴又很臭 我是在 01/12 21:09
72F:→ superpandal: 做学问? 01/12 21:10
我是觉得 Web技术很高深啦!当然上述的内容在使用上看起来可 能是很浅显的,但要发展到今天的规模和支持这麽多的项目,中 间一定有很多细节。我没有自以为眼尖,只看到有人穿凿附会东 拼西凑,在资讯科学领域里面,我们都不应该频频「举烛」:(
73F:→ superpandal: 至於工具 有很多人都做的出来 自己做工具不用考虑与 01/12 21:17
74F:→ superpandal: 别人经验差距 也不一定得要协同做出 要做出好用差不 01/12 21:18
75F:→ superpandal: 多的不难 01/12 21:18
76F:→ superpandal: 上层工具做的出来是神 下到上都做的出来不就是上帝.. 01/12 21:22
77F:→ superpandal: 我肯定不是神 因为神不神不是我定义的 也是做不到很 01/12 21:23
78F:→ superpandal: 多事情 01/12 21:23
这边我就不知道你在说什麽了,但好像听起来还是很厉害的样子 。您一定很厉害的,什麽东西都瞧不上,什麽东西又都能说一说 ,至少比我厉害的多了,在我眼中真的很神 :)
79F:→ superpandal: "如上篇所说我不觉得这是什麽了不得的技术" 上篇我说 01/13 18:42
80F:→ superpandal: 的是web技术而不是刷题技术 不用联想在一起 XD 01/13 18:44
81F:→ superpandal: 我不爱分享所以不用谈这个 XD 至於web我看法不同 其 01/13 18:48
82F:→ superpandal: 实不高深 很多细节本身也只是为了隐藏实作方式而已 01/13 18:49
83F:→ superpandal: 并不是很重要 你没有眼尖会看到别人说的只言片语反应 01/13 18:50
84F:→ superpandal: 这麽大? 穿凿附会? 本身就有影响的附会什麽? 我在做 01/13 18:52
85F:→ superpandal: "专"题? 这个版是软工不是资料科学研究 01/13 18:53
抱歉,我觉得都是很了不得的技术,是有很多前人铺好了路把很 多东西抽象了才能让你这样拼凑 API就觉得好像完成了全世界。 我不知道为什麽你感觉什麽东西都能够瞧不上眼,您如果觉得你 说的热启动对於现今的模板引擎有重大影响,您倒是说说呀!让 人长长见识开开眼界,而不是喷了一句闪人又补一句说自己不爱 分享就作罢呀。 对了,我上面说的是资讯科学不是资料科学。我很期待跟您讨论 技术,毕竟我觉得这些东西就像汪洋的大海,我只是在旁边捡着 石头的小孩子而已:) 如果能够得到您的指教那一定可以让我成 长很多的吧!
86F:→ superpandal: 最後面那个我在说什麽? 回应你嘴臭酸人的说法 说自己 01/13 18:55
87F:→ superpandal: 不是大神 没有瞧不上 只是在说事实 01/13 18:57
88F:→ superpandal: 不需要膜拜技术 把技术看很高 掌握技术才是真的 XD 01/13 19:00
怎样才算是掌握技术呢?好想知道认为这些技术都不是什麽大不 了的东西的大大跟我分享><
89F:推 tnfshjcc: 我忘记s大有没有抱怨台湾找不到好工作 只记得s大不刷题 01/14 08:07
※ 编辑: Hsins (111.71.215.8 台湾), 01/14/2022 14:09:16
90F:→ superpandal: 你是不是觉得别人只会拼凑api? XD 不是瞧不上 是太多 01/14 23:12
91F:→ superpandal: 浪费时间的技术 计算机本来就是要方便 你要我说我就 01/14 23:13
92F:→ superpandal: 说? 本来就是发表看法不然呢 你自己先把你之前推文 01/14 23:14
93F:→ superpandal: 发表的看法详细解释再说 原来以上只有一句... 01/14 23:14
94F:→ superpandal: 当然在你这位大佬口中说资料科学就low掉了 这是人造 01/14 23:16
95F:→ superpandal: 海洋 你都可以喷人了怎麽会是小孩呢? 肯定是大人 要 01/14 23:17
96F:→ superpandal: 管东管西才能心情舒坦 我在指你只是在膜拜技术 你会 01/14 23:18
97F:→ superpandal: 创造不就证明你不是一无所获了 当然我不知道你能不能 01/14 23:19
98F:→ superpandal: 本人被你喷的一无是处才要静听观摩你的高见 01/14 23:20
99F:→ superpandal: 我不是抱怨台湾找不到好工作 是台湾好工作真的少 以 01/14 23:24
100F:→ superpandal: 我的level当然不如楼主这麽有行情 深入了解别人的工 01/14 23:25
101F:→ superpandal: 程运作原理 01/14 23:26







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灯, 水草

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

TOP