V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Ketteiron  ›  全部回复第 24 页 / 共 27 页
回复总数  533
1 ... 16  17  18  19  20  21  22  23  24  25 ... 27  
2025 年 8 月 15 日
回复了 red13 创建的主题 程序员 你们在设计 restful api 时会用 put 和 delete 吗?
全用 post 。
现实是复杂的,RESTful 的表达能力不足以覆盖所有 case ,强行使用统一约定会让一些简单的东西变得难以理解。
2#说 `全用 POST ,那么安全审核无法直接区分这个 POST 是“新增”还是“删除”,只能靠解析 URL 或 Body ,这样更复杂印象性能且容易漏。`
为什么要区分是新增还是删除,而且一个接口本来就可以删除一些 A ,新增一些 B ,修改一些 C 。
真正的安全策略应该基于权限规则和业务逻辑,不应该简单地基于约定式的 Method ,它本质上和 /add /edit /del /info /page 一模一样,能严格遵守 RESTful 标准的人,同样能遵守自定义的语义要求。
我一直觉得接口的语义化完全没必要,一个硬编码玩出花来有什么意义,只要把代码给组织好就足够了。
2025 年 8 月 15 日
回复了 netabare 创建的主题 程序员 关于在 Java 里面实现命名参数的一些想法
语言的语法是用来增强表达的能力,你这个设计不太好,增加了阅读/编写的复杂度,但是收益无法抵消额外开销,在我看来是负优化,想在 java 里搞奇技淫巧的应该直接转 kotlin/scala ,别指望能在垃圾语言上屎上雕花,只能屎上雕屎。
命名参数这玩意,是为了把参数从水平转成垂直,就像浏览器的普通标签页 vs 垂直标签页,语法上想实现这种功能,一定要支持默认参数/可选参数,所以 java 只能洗洗睡了。
而且命名参数也不是最好的设计,js 不支持命名参数,但是 es6 的参数解构远比命名参数好用。
2025 年 8 月 14 日
回复了 llej 创建的主题 程序员 如何实现模块化加载的前端和后端代码?
@llej node 实现 ts 类型严谨具体是指什么,是前端调用了不存在的接口就类型报错吗,调用对应接口拿到入参类型和返回类型?
你可以看一下 tPRC ,或者 hono 的 RPC ,虽然重构的工作量可能会很大。
hono 的 RPC 是后端导出一个或者多个路由实例类型给前端使用,客户端底层是基于 fetch 实现,前端调用这个接口就像直接调用后端接口方法一样,带来的收益是无需专门为接口类型定义一堆的类型到处混乱地引用,因为接口本身已经有类型了。
在你这个场景下,可以每个模块都导出一个路由实例,最后在基座包组装所有路由,再把类型导入到前端,最终得到包含所有接口路径、入参、返回类型的一个 http 客户端,前端只需要调用这个客户端就行,不存在的接口或者入参不对都会报错。你也可以让一部分路由只给同个顶级包下的前端模块引用,这样就实现了或许会用到的接口 public/private 修饰功能。
2025 年 8 月 7 日
回复了 activeliangg 创建的主题 程序员 和前端小姐姐吵起来了
@williamx #84
如果接受了“谁能力强谁改”这种做法,那整个团队的平均水平就会由水平最差的那个人决定,这也同时严重影响了开发舒适度和个人前景。
正确做法是让能力不足的人滚蛋,换个能正常写代码的人进来。
说实话这就他妈一行小学生水平破代码的事,写不出来的还他妈能叫程序员?
data.map(({ x, ...rest }) => ({ ...rest, x: x.join(',') }))
就算是树结构也就 10 行的事。
type Data = { x: number[]; children?: Data[] }
type Data1 = { x: string; children?: Data1[] }
const res: Data[] = []
const recursive = (nodes: Data[]): Data1[] =>
nodes.map(({ x, children, ...rest }) => ({
...rest,
x: x.join(','),
...(children && { children: recursive(children) }),
}))
const data = recursive(res)
而且这跟简单还是困难无关,这就是前端必须要做的事情,写 100 行也好 1000 行也好就应该在前端处理。那个用字符串绑定的弱智组件也应该换个给地球人使用的正常组件。
2025 年 5 月 19 日
回复了 LinusWong 创建的主题 程序员 腾讯云 SDK 20W 个 Tag 把 github 整不会了
@dssxzuxc #27 但是->或者
2025 年 5 月 19 日
回复了 LinusWong 创建的主题 程序员 腾讯云 SDK 20W 个 Tag 把 github 整不会了
@Greendays #22 你说得对,可能后端不知道是偷懒还是设计上的限制依然需要所有 tags ,然后卡住了。试了几个 tag 数量很多的 repo ,加载都非常慢,而且每点一页都要等很久,好奇是写了什么屎山代码,但是不得不这么做没办法实现真正的分页,只能做假分页。
2025 年 5 月 19 日
回复了 LinusWong 创建的主题 程序员 腾讯云 SDK 20W 个 Tag 把 github 整不会了
@Greendays #18 因为 tag 就没必要做分页啊,看到这仓库之前我想不出 tag 要加分页的理由,看完后也没必要,而是应该加一个 tag 数量上限提前限制。虽然所有 list 都可以用 page 解决,但不代表 page 是最佳实践,这个场景不管是产品经理还是程序员都不可能会支持 page
2025 年 5 月 17 日
回复了 weiruanniubi 创建的主题 生活 今天在公园目睹一场霸凌
报警并不一定需要做笔录,除非是直接涉事人员,或者案情达到立案标准。这种事一般是喊来双方家长当场协调清楚,后面民警会跟进,报警人问几句话就可以走了,提前走也没问题,顶多有个电话回访,报警是义务,并不是责任。
奇怪,明明有 TypeScript 节点,为什么这个帖子会出现在 Node.js 节点?
2025 年 5 月 16 日
回复了 tho 创建的主题 生活 人到中年,你会后悔自己年少时浪费了很多光阴吗?
一本我不太喜欢的小说,一直记得序章有这么一句话,如果人生能够重来,我大概还是这样。
回首人生确实浪费了不少时间,选了一些错误的路,但再来一次也不会做其他选择,只是会做得更好。
时间就是用来浪费的,你不在某个地方浪费生命,也会在别处浪费生命。
2025 年 5 月 16 日
回复了 mmdsun 创建的主题 职场话题 招聘骗局疑似黑产-招聘软件可能遭到了数据泄露
同样收到过这类短信,收到 2 次,但我直接没理,因为我的邮箱已经写在简历上了。
用过 BOSS 和智联,智联是上上周才装的,而短信也是差不多时间来,我比较倾向是智联的锅。
2025 年 5 月 15 日
回复了 rizon 创建的主题 程序员 nextjs 致命未解问题! sse 连接断开事件无法获取
提 issue 吧,50804 虽然说已解决,但是翻到那条 pull 的最下面评论说了有些 node 版本下依然不行。有些功能在不同 node 版本下时好时坏太正常了,或许升级/降级就解决了。
1 ... 16  17  18  19  20  21  22  23  24  25 ... 27  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1490 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 16:42 · PVG 00:42 · LAX 08:42 · JFK 11:42
♥ Do have faith in what you're doing.