2024-07-11

16 篇热帖

1. 大家都是草台班子😂,我干了这么多年开发,能把跨域问题说清楚的人也没几个😅
跨域只会出现在浏览器环境中!
跨域只会出现在浏览器环境中!
跨域只会出现在浏览器环境中!
重要的事情说三遍。
我知道为啥很多后端开发很疑惑为啥有这种问题,因为纯服务端之间应该没有这个概念。

首先解释清楚什么情况下,会被认定成跨域:
页面地址的域名是 A ,但是接口请求的地址是 B 。这就是跨域,跨越了不同的域(名)想要去请求资源。

在浏览器中会发生的现象:
浏览器会阻止给和页面地址不同的域名发请求。
这跟语言无关,这就是一个在浏览器环境下的安全策略。

怎么办:
请把你的页面域名加入白名单。使用响应头 Access-Control-Allow-Origin 来处理。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
或者使用 nginx ,前端请求的接口还是用网页的域名,但是用 ngxin 转发到服务端的地址去。

拓展:
其实后端的响应头是能帮助前端做不少事情的。
比如 Access-Control-Allow-Methods 这个头,能约定接口只能发 post,还是 get
比如 Access-Control-Allow-Headers,后端通常会返回很多响应头字段,
但是在浏览器环境下,为了安全,浏览器只允许 js 访问固定的几个响应头。
如果想让前端访问其它的响应头字段,就可以通过 Allow-Headers 进行配置。

比如如果你想让前端做一个下载进度条,正确的返回 Content-Length ,前端就能计算下载进度。

比如 Content-Disposition ,只要你声明本次请求是一个附件并正确的有文件名称,
就能自动触发浏览器的文件下载,不需要前端在额外做任何事情。

疑问 1:为啥开发环境都没事啊?
类似这个帖子的疑问: https://www.v2ex.com/t/1056317
开发的时候前端本地页面地址是 localhost ,接口地址肯定是其他的,为啥不跨域?
因为现在前端项目,开发用的脚手架通常会在本地用 node.js 启动一个 http 服务,
本来发给 B 域名的请求,会被代码改写成请求到 localhost(或者 127.0.0.1)的 http 服务去,
然后通过 node.js 的转发进行真正的接口调用。
正如我上面说的,跨域只会存在于浏览器环境,node.js 可以给任何域名发 http 请求。

我认为这是现在的前端脚手架提供的一个极其糟糕的功能。
它把跨域这个完全由后端处理的问题默默的在开发环境处理掉了,并且还附加了接口地址改写的各种功能
导致前后端都稀里糊涂的。跨域问题就应该在开发环境处理掉。

疑问 2:
既然开发环境前端都可以自行处理跨域,那我打包部署的时候部署一样应该可以啊?
类似这个帖子的疑问: https://www.v2ex.com/t/1056317
因为普通的前端构建打包后,只有前端的代码。不会包含任何 node.js 的代码。
现在的前端项目就是真真正正的一堆静态资源。不像以前的 jsp 需要服务器跑。
只需要一个 ngxin 来提供静态文件访问的能力就行。

疑问 3:不对啊,我在自己网站可以随便链接好多别的域名的涩图,不也跨域了?
对图片这种资源限制没那么严格,其它类型资源也有这个问题。
现在是可以通过 CSP 策略来告诉浏览器,我只能从什么域名加载什么样的资源。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

疑问 4:为啥我见过浏览器发 option 请求?
正如上面说的,这是浏览器的安全策略。但是有一个问题,如果浏览器从来就没请求过 B 域名,
它怎么知道页面当前域名在不在 B 域名的白名单中呢?
所以就有 option 请求,一个不带任何数据的请求,就是问一下 B 域名的服务器,你给我了啥权限。


个人结尾来点感想:
我不是嘲讽说谁谁菜不懂这个技术点,我干了这么久开发,深知每个人都有自己的局限性。
比如我上面的解释就是我当前的理解,如果有错误那就是我的局限性。
看了我上面解释的一大堆,猜到我本职是后端开发还是前端开发了吗?
如果我上面有任何错误欢迎指正批评。
我知道 V2EX 这里经常嘲讽前端是娱乐圈,但是前端开发作为客户端开发的一个分支,
在加上由于 electron 这个牛逼项目的普及,大家使用的客户端软件,事实上很多都已经是用前端页面来做了。
比如 vscode 就是。包括各种小程序等等,本质都是 web 端的扩展。
只要有技术力还是能做出很棒的软件的。(我之前听说马斯克的很多项目 UI 层都是 electron ,上太空都行)
2. 煤油罐车事件后,选择哪家的食用油相对有保障?

这玩意儿家家户户都在用,怎么敢这么搞的?都是主流品牌,他们自己不吃吗?

3. 搞笑, VidHub 播放版权警告
不知多少兄弟买了终身的

4. 北京的医院真操蛋

现在很多医院都不主动给病历了,但是保险报销又要病历。

你要是去补开病历吧,又得找原来的医生,那你怎么知道原来的医生什么时候在呢?又说服务台能打印,结果还只能工作日打印,好嘛,打工人就不配了呗?

怎么病历的数据就这么保密吗?主动给消费者能怎么着?

你要是为了省打印的钱,你倒是出个电子病历啊?

5. 现在买房这种方式可行?

​ 最近因为租的房子房东要卖了,我也不得已要搬家,昨天去看房跟中介聊了很多,我说现在租的地方住的挺好,要不是房东卖,也许不会换地方,其次就是房东 2 年前就开始挂牌了,但是期间只有几个人来看,近期突然很多人来看,可能是因为房东降价了,随即我找到接管这个房屋的中介询问。

​ 目前这房子单价在 1.47w 左右一平,位置的话在成都陆肖附近黄金时代小区。这个位置不能说很好,但是离软件园上班很近,对应的这个价格房东女儿好像是要用钱,想早点卖了。

​ 中介跟我说喊我可以考虑考虑,首付 23w 、个税 1.52w 、契税 2.28w 、中介费 1.9w ,折合算下来首次要付 30w 的样子,然后贷款利率 3.25 ,贷款总额 129w ,利息总额 75.67 ,贷款年限 30 年,月供 5685 元.

​ 目前我的顾虑就是说一次要付 30w ,而且月供要 5600 的样子,我的月税前收入就是月供乘以 2.5 ,年终奖另算,目前未婚,还贷款的话应该是没什么压力,但是现在的市场经济萧条,能少还就少还,但是首付太多了也不好,现金流就没了。总之就是觉得一次付 30w,我还得凑,还有月供 5600 ,这是我的痛点。

​ 我把上面的情况跟昨天带我看租房的中介说了后,刚好他跟我聊起他自己最近刚买了房子,位置在软件园对面,美年广场旁边保利·锦江里,这个位置应该来说是非常好,因为软件园周边还是有很多高管租房的,(外地过来成都工作的高管哈,公司代租),这个房子的具体价格 v 友们自己去看吧,价格也不便宜,但是他目前首付 17w,月供 5600 ,把房子租出去了,自己贷款只还 1900 ,相当于是以租养贷,这个目的就是减轻自己的风险嘛。毕竟自己一个人住着月供 5600 的房子感觉没啥必要,也属于提前享受了,他的想法就是先租出去 2-3 年,自己手里再存点钱,然后再提前还款一部分,把利息月供降下来。自己手上的钱就比较灵活。

对于这种方式,我感觉挺不错的,而且自己工作也相对稳定。大家觉得有的搞吗。结合现在 3.25%的利息,以及首付低资金好流转的情况。

6. 决定跟我女朋友去淮安了,麻烦各位朋友给个建议

情况描述

  1. 我是湖北人 在武汉工作 4 年 从事数据行业,主要做政府高校国企的数字化项目,工资 15 左右。 家在湖北地级市四线城市,家庭条件一般,在老家的话爸妈只给留了两套房(小城市房子不值多少钱)。
  2. 现在女友考上了江苏省的公务员,在江苏淮安,我对这个城市之前一无所知,最近才开始了解 (如果这里有淮安人可以聊一聊交个朋友认识),发现这个城市不好找工作。

问题

  1. 工作问题。我想了解一下苏北(苏中)地区的朋友工作都是到苏州或者南京工作了吗?是否还有 plan B 选项?能够比较好的兼顾家庭和工作的。
  2. 买房的问题。最近了解淮安的房价大概是 1.2w 左右,100 平也得 120 多万。目前的房地产市场行情我也了解一点,网上基本都在劝退,但是作为个人结婚而言,不买房的确说不过去,丈母娘在她考上公务员后甚至有给她买个小户型的想法。在买房这个问题上不知道各位是否能够建议。

声明

  1. 首先 v2 是一个氛围很好的社区,在这里首先也感谢各位点开这个帖子。
  2. 发这个帖子的目的一方面是希望听听作为旁观者的想法和意见补充自己的信息源,另一方面如果有江苏淮安以及附近的朋友恰好有相关岗位的工作的那就太好了(个人可能倾向躺平 或者是说 希望有更多时间来做自己的事情),如果有淮安的朋友也可以认识交流。 最后 再次感谢各位,希望各位多多提供建议 友善交流。
7. 你们会在电子产品停产前屯几个为了自己未来替换吗?
比如 HomePod 停产之后价格直接飞到 5k 多,要是坏了想换个新的就得等 2 年之后出 HomePod2.
很多古老的键盘,停产之后价格也都是成倍飙升,即使肯花钱要换个新的也不容易,基本都是拆封的二手。
还有 kindle voyage 和 DPT-RP1 ,停产之后试了好几个替代至今没找到更好用的,后悔当年没有多买一个。
夏普 r5g ,顶级的 igzo 面板 LCD 屏,成本比 oled 还高,现在屏幕生产线都停了,这手机护眼效果到今天还没对手。
gpw 一代现在也停产了,而 2 代 3 代只支持 ghub 的垃圾驱动。
9. 未来最牛编辑器 zed 的 Linux 版终于出来了

https://zed.dev/

Atom 原班人马用 Rust 写的原生全平台编辑器,编辑体验上秒掉网页技术的 vscode 不成问题吧😄

10. 纳指涨的好疯狂。。
从去年九月份开始,每周定投 1000 ,现在已经有 20%+的收益了
真的应了那句相信国运,定投纳指了?
11. 怎们说呢,就感觉今年程序员挺惨的。
我们老板开心死了,找了三个人,十几年的 Java (我) + 8 年的 vue + 十二年的安卓 总共月薪加起来两万二。

前半年找不到工作,所以几千也是千啊,总比投了 3 个月的简历没回应好吧,没工作,女儿担心媳妇生气。在家很煎熬。
12. 30 万买的房子, 180 万卖了,之后 120 万给买回来,赚了多少钱

如题,30 万买的房子,180 万卖了,之后 120 万给买回来,赚了多少钱

13. 现在专科入培训班,建议学 Java 还是嵌入式?

坐标成都,一个同学的弟是专科,明年 6 月毕业,是计算机专业的。

目前他学了一部分 java 基础吧,之前也让他尝试学习嵌入式 c 开发之类的。虽然我还是推荐自学,但是对于学生时代迷茫的人来说,可能报个培训班 还是对他们有点好处吧(也许没有那种氛围,就是学不进去)。

现在分析下来:

  • java 虽然日薄西山了,但是好歹岗位数量算是比较多的。
  • 嵌入式主要是被芯片带火了,但是整体岗位需求不大。而且现在整体芯片行情也可以不好了(从去年的 zeku 开始 )

总之,想问下大家,所以问下大家,如果非要去上培训班:

  • 在上培训班之前,应该最好自己先拿着培训班课程先过一遍吧?
  • 方向选择如何选,java 还是嵌入式?
  • 坐标成都的话,哪个线下培训班能好点?(感觉如果都培训班了,那就最好线下了)
14. 如何评价 VidHub 应版权方屏蔽播放度 xx

播放器需要做到这个地步我是没想到的. 是不是之后有版权方发函, 这软件就要发版添加屏蔽词?

15. 极力避免和主动公开隐私的人,其背后的行为逻辑是怎样的?

假定都是 IT 从业者。有这么一批人,他们在不同网站用着不同的用户名,使用不同手机/邮箱注册各种账号,不发各种实名社交媒体,甚至把微信好友删除到个位数并使用其它聊天软件。

还有另一批人,他们无论在内网还是外网都用着相同的真人姓名,真人照片作为头像,在微博/公众号/推特更新自己对 IT 行业/财富/生活的见解,

造成如此不同行为的逻辑是怎样的?从对外所展示的来看,后者的人生似乎比前者更成功。究竟是成功使得后者无畏隐私,还是无畏隐私造就了后者的成功?

16. 从汽车 CAN/OBD 接口读取数据,并上传到云端

大家好,

我想用 python 编写程序,从汽车或其它带 OBD 接口的设备读取 CAN 数据(例如:引擎转速、氧气传感器、等),并通过无线网络上传到云端。该程序运行在 ARM Linux 板子上。汽车 OBD2 是标准协议,理论上可以支持任意车型,甚至摩托车,卡车,等等。

从汽车 OBD 接口读取数据并不困难,相对困难的是与云端的交互(例如:Kuksa ),不知道是不是还要考虑安全性。

为什么选择 ARM Linux 板子,而不是单片机呢?主要考虑的是:用 python 编程,和云端交互容易些,安全性也容易得到保障。

大家觉得怎么样?有公司会要吗?

为此目的,我专门做了硬件: https://gitee.com/usb7/can-board

国外也有基于树莓派的板子 Kuksa hardware: https://github.com/eclipse-kuksa/kuksa-hardware