Re: [请益] 后端精进的方向?

楼主: Hsins (翔)   2022-01-12 01:13:38
: → 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://www.ptt.cc/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方式获取到的资料渲染到页面上,但各自的实作略
有差别
至于前后端分离与前后端不分离之间的差异和优缺点我就不多加赘
述了。只希望有些人可以做点功课再来说话,不要人家就已经是烦
恼想要求解了,还在那边被你乱。
作者: shomingchang ( )   2022-01-12 01:19:00
从实作角度来看这跟侦测档案产出程式码没啥差距吧侦测socket产生HTML?
作者: superpandal   2022-01-12 01:21:00
我上次说的是wine测试成果不大 一堆dll跟我说100%有什么用 有时候还是得用native dll至于模板引擎很多实现都有输出 要不要弄成档案的差异跟我讲没有产生...那篇我给的建议就是继续不纯软 我到底在乱什么?还嘴前后端不分离? 就你一个人知道? haha我也希望有人看不懂就不要在那边五四三 的确没有高深只是你测不到 你还是继续觉得你的理解才是对的最好当然如果你继续觉得最终html才是产出我也不反对那个结果你跟我说是自动化测试结果... 后来有解释了这叫什么自动化测试? 当然也知道他有测试 怎么测而已 前后端不分离可以用模板 分离也可以用模板很多js的server本来就会根据档案改变更新 这不是因应变化是什么?前端框架有含模板 这么一说php有cache起来就不算模板搂? XD 到底是谁讲得很高深我说的自动化测试是智能测试 因应那个主题的智能 鸡蛋挑骨头根本牛头不对马嘴再来嘴别人不懂
作者: MoonCode (MoonCode)   2022-01-12 02:24:00
红明显 你们两个人一起定义并给出一个模板引擎的语法后然后同时开个 GitHub repo 提交实作 看谁做得出来好了 这是我在知乎看到人家吵架的时候的解法 只是给个建议 以和为贵喔
作者: superpandal   2022-01-12 02:26:00
我已经描述的很准确了 如果要挑准确性 这个版很多都很不准确 你要挑毛病是挑不完的 如楼上所说尽量换位思考 不口出恶言
作者: MoonCode (MoonCode)   2022-01-12 02:28:00
我记得当初在知乎的那两个人是在吵谁比较懂 c 的 preprocessor 跟 lexer
作者: superpandal   2022-01-12 02:39:00
是你接受不了还是这是个错误? 强大的模板还是模板你刚刚讲过 模板与框架 这是回应
作者: tnfshjcc (↖煞气a携阿携↘)   2022-01-12 04:15:00
我只记得s大不刷题
作者: Firstshadow (IamCatづミ'_'ミづ)   2022-01-12 05:11:00
请定义一下你们认知的模板==
楼主: Hsins (翔)   2022-01-12 08:11:00
看一下文啦,我有给出定义。
作者: superpandal   2022-01-12 08:25:00
我确实不刷题 如上篇所说我不觉得这是什么了不得的技术 要做都做的出来 比较底层的知识才是宝贵的至于模板应该是特性符合就是了
作者: CRPKT (crpkt)   2022-01-12 11:17:00
尤雨溪的说法是准确的,详细来说,任何模板功能的核心都是string * data -> string至于延伸的功能怎样算,就要另外讨论了
作者: xxi511 (少北)   2022-01-12 12:19:00
S大你说的是不是webpack 的hot reload
作者: ttss4092 (玉雨霰)   2022-01-12 13:01:00
他是不是只是想说开发时的 autoreload 而已他的文字表达真的不是很好懂
作者: Lomonosov (罗蒙诺索夫院士)   2022-01-12 13:08:00
真的难懂 我觉得S大与其描述自己用的技术做了什么 不如直接说自己用什么技术
作者: superpandal   2022-01-12 15:33:00
是 这很多框架都有 来这边本来就没要谈什么技术 本来就几句带过就可以 是有人想要挑骨头反应过激其实不只开发 生产都可以用那推文的重点其实不是这个 只是表达这不是真正有技术含量的东西所以推荐该楼楼主最好还是碰底层比较好
作者: MoonCode (MoonCode)   2022-01-12 19:45:00
你吃过鸡仔蛋吗
作者: superpandal   2022-01-12 20:56:00
你看得懂那是两句话吗 我上篇提的是web技术 而不是刷题技术 只是纯粹陈述事实 你还可以联想到轻视的意思刷题有少少底层没错 但知识只是冰山一角热重载对于现今模板技术中不重要? 如你所说模板可以有很多方式实现 所以我关心要怎么实现了?肯定不是脸的问题 我都不能以web评web搂 我只是陈述事实web本来就不会高深 也许他会觉得很有趣 但时间久还是会懂 我什么时候跟他谈底层? 请你告诉我反应过激还怕人说阿 明显不针对人 你在那边自以为眼尖做出来的反应不是反应过激是什么 另一个词讲就是脑补 传递什么错误知识? 我主要传递的是web技术并没高深 你还探讨别人是不是推论错误 然后嘴又很臭 我是在做学问?至于工具 有很多人都做的出来 自己做工具不用考虑与别人经验差距 也不一定得要协同做出 要做出好用差不多的不难上层工具做的出来是神 下到上都做的出来不就是上帝..我肯定不是神 因为神不神不是我定义的 也是做不到很多事情
作者: tnfshjcc (↖煞气a携阿携↘)   2022-01-14 08:07:00
我忘记s大有没有抱怨台湾找不到好工作 只记得s大不刷题
作者: superpandal   2022-01-14 23:12:00
你是不是觉得别人只会拼凑api? XD 不是瞧不上 是太多浪费时间的技术 计算机本来就是要方便 你要我说我就说? 本来就是发表看法不然呢 你自己先把你之前推文发表的看法详细解释再说 原来以上只有一句...当然在你这位大佬口中说资料科学就low掉了 这是人造海洋 你都可以喷人了怎么会是小孩呢? 肯定是大人 要管东管西才能心情舒坦 我在指你只是在膜拜技术 你会创造不就证明你不是一无所获了 当然我不知道你能不能本人被你喷的一无是处才要静听观摩你的高见我不是抱怨台湾找不到好工作 是台湾好工作真的少 以我的level当然不如楼主这么有行情 深入了解别人的工程运作原理

Links booklink

Contact Us: admin [ a t ] ucptt.com