V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  libook  ›  全部回复第 167 页 / 共 251 页
回复总数  5019
1 ... 163  164  165  166  167  168  169  170  171  172 ... 251  
2021-07-26 17:55:01 +08:00
回复了 JustLookBy 创建的主题 Node.js nodejs 怎样优雅的依赖同个模块的俩个版本?
如果每个组件之间互相独立,那么你可以直接把相应组件的代码复制到本地项目里,重命名成另一个组件名。

如果组件之间耦合较高,那么可以了解一下微前端。

最优雅的方式是只用一个版本。
2021-07-26 17:50:05 +08:00
回复了 rsyjjsn 创建的主题 生活 活着的意义?
这是一个值得花时间去思考的问题。

意义是相对的;有的人有远大的理想,有的人想要寻找生活中的点滴之美;对于每个人来说,活着的意义可能都不相同。

你认为怎样活着是有意义的,当你想明白了这个事情,就可以考虑一下如何让自己活得有意义。
搞金融实际上是做风险管控,就是能够对多种投资进行风险评估和合理配比,从而最大化盈利。
个人认为对于非职业人士来说,在收入中拿出较小的比例玩一玩可以,凭着它赚钱不大现实。

我比较同意一楼的观点,这社会有很多聪明人,天上掉馅饼的几率太低了,还是要多学习现象背后的本质,比如经济学、社会学、商学的原理,然后科学、理性地去探索。
2021-07-25 20:21:38 +08:00
回复了 LeeReamond 创建的主题 问与答 防止 sql 注入的原理是什么?
SQL 语句包含指令和参数两部分,注入问题存在的根本原因在于 SQL 拼接可能会导致改变原有指令,使得 SQL 做了预期之外的事情。

所以解决 SQL 注入问题的核心思想是确保传入的数据仅被用作参数,而不是被当作指令而改变了原意。

转义只是避免本应该是参数的输入数据误被解读为指令的手段之一,还有很多更先进的方案,其他楼层也都提到了,比如 command execution functions 、string functions 、parameterized query (这个比较广泛使用)、prepared statements 。

因为 SQL 本身语法上的特点,仅靠转义,可能难以覆盖所有的情况,所以基本上都是凭经验来尽可能规避。有这么一句话,就是烂程序员无论用什么牛 X 技术栈,写出来的程序也是会一样的烂。
@polo2222 #75 我拇指不疼,手腕完全缓解了。
我的理解是 Shell 的状态只和当前会话有关,不会说多个 Shell 共享状态,所以你在当前 Shell 最后一个返回的指令会被你的$?取到值。那么问题来了,Shell 都是一条一条执行的,你是用什么方式让一个 Shell 回话并发执行多条命令的呢?这个得根据具体情况来看。
2021-07-23 19:02:54 +08:00
回复了 luin 创建的主题 硬件 有质量可靠的指纹锁推荐吗?
锁是有公安评级的,智能锁会分成两部分分别评级,一部分是电子锁部分,另一部分是机械锁部分。

米家的锁机械部分是 C 级的,电子部分是 B 级,你可以参考相应的国家标准,不达标的话公安是不让用相应评级宣传的。

有国家标准保障感觉问题不大。
2021-07-23 18:57:57 +08:00
回复了 luin 创建的主题 硬件 有质量可靠的指纹锁推荐吗?
米家用了两年,没出过问题。

官方有个小程序好像可以用来自查门体是否可以用,每套锁第一次安装免费。
简单理解就是:
&&左边为假值(不只有 false )的话就返回左边的值,且不执行右侧表达式;左边为真值(不只有 true )的话就执行右侧的表达式,并返回右侧的值。这块比较容易出 bug 的情况是如果左侧返回了 0 或者空字符串,那么预期依然要执行右侧的时候,此时依然不会执行右侧。
||左边为真值(不只有 true )的的话就返回左边的值,且不执行右测表达式;左边为假值的时候(不只有 false )就会执行右侧的表达式,然后返回右侧的值。这块比较容易出 bug 的情况就是左侧返回了 0 或者空字符串,那么预期不执行右侧表达式的时候,此时依然会执行右侧表达式并返回右侧的值。

JS 是一们很灵活的语言,但也因此对写代码的人要求很高。
这种用法其实是就是利用了逻辑与和逻辑或的执行和不执行的特性,以及 JS 的返回值的机制来简化了 if/else 的写法,个人认为算是取巧的方式,也在各种代码里极其常见,但个人不喜欢,这个不是很清晰的逻辑,需要大脑模拟执行过程来转化成条件关系的,在不熟练或比较疲劳的时候会加大读错或写错的几率。

const isValid = that._validateForm(evt); // 假设返回 Boolean 类型
if (isValid) {
if (_onsubmit === undefined) {
return false
} else {
return _onsubmit();
}
} else {
return false;
}
2021-07-23 18:03:49 +08:00
回复了 join 创建的主题 Windows 最近折腾 hyper-v 的一些吐槽
@join #37 WSL 毕竟不是真正的 Linux 操作系统,微软也不是这么标榜的,所以还是要看 WSL 究竟能解决什么问题,然后看是否能满足自己的需求,再决定用不用。

想要玩转 WSL 需要了解的信息还是挺多的,有些信息不了解全屏 Linux 的思维定式就很容易发生预期之外的事情,而且大多资料国内找不到,官方文档也没有,我找到的不少有用信息都是在 microsoft/WSL 的 GitHub Issues 里。

我自己有两台 Windows,一台日常使用另一台当做服务器,配置 WSL 环境都比较顺,WSL 满足不了的也都找到了替代方案。

所以我对 WSL 的评价可能没你那么差,个人建议还是冷静下来,有什么以为可以来 V 站上问,大多问题应该都是能找到答案的。
2021-07-23 17:53:15 +08:00
回复了 eggt 创建的主题 程序员 如何通过跳板机无缝连接需要跳转的服务器?
@xylophone21 #28 堡垒机的价值就是约束管理员只能登录到堡垒机上对受保护资源进行操作,然后堡垒机记录相应的操作供审计。
所以主题里描述的需求是和堡垒机的价值相悖的,要么去除堡垒机 A 然后让 BCD 可以被自由访问,要么老老实实登录到堡垒机 A 上再登录 BCD 进行操作,没有第三种方案。
2021-07-23 17:44:25 +08:00
回复了 join 创建的主题 Windows 最近折腾 hyper-v 的一些吐槽
@df0618 #35 Docker Desktop 会自动在 WSL2 下设置好,可以直接用 docker 指令,IP 问题主要是自己跑一些服务的时候在 Windows 上不好确定应该使用哪个 IP 来访问,因为每次重启电脑都会随机一个新的 IP 。
2021-07-23 11:15:48 +08:00
回复了 eggt 创建的主题 程序员 如何通过跳板机无缝连接需要跳转的服务器?
@xylophone21 #23 本来本地机器和 B 、C 、D 之间是隔离的,所以具备一定的安全性,你用任何方式打通了肯定就失去了对应的安全保障。这是个取舍问题。

如果你希望记录本地机对 BCD 的网络调用情况,可以开网络日志进行审计,但你只能审计到网络连接的建立和断开以及对应的端口情况。

如果是想知道具体做了哪些操作,就得做对应的协议的日志记录,比如 Shell 的日志、Web 日志。

如果 A 是堡垒机,那么用本机直接操作 BCD 就是个伪命题,堡垒机的存在就是为了不让你在本机操作 BCD 的,必须登录到堡垒机 A,然后在堡垒机上再连接 BCD 进行操作,堡垒机 A 负责记录你的所有操作,甚至还会有录屏。

安全和便利性是矛盾的,两者只能取其一。
看起来不错。

我前段时间也尝试做一个基于 Nginx autoindex 数据的网页播放器,用的是 DIYGod 的 https://github.com/DIYgod/APlayer
2021-07-23 10:56:41 +08:00
回复了 hookybaby 创建的主题 生活 想问一下大家,夏天的 T 恤为什么老是在肚子周边有洞?
我的衣服也会有,个人感觉腰带磨损的嫌疑比较大,其次就是拉链磨损,暂时想不到有其他的可能。
2021-07-23 10:42:33 +08:00
回复了 eggt 创建的主题 程序员 如何通过跳板机无缝连接需要跳转的服务器?
本机 SSH 到 A,然后在 A 的 Shell 环境下直接 SSH 到 B 、C 、D 就可以。。。

要是希望非 SSH 协议连到 B 、C 、D,可以在 A 上做几个映射到 B 、C 、D 上相应端口的转发规则,本地直接连接 A 上的对应端口就会自动被 A 转发到 B 、C 、D 上的特定端口上。这个可以去搜一搜 iptables 或者 SSH 隧道。

VPN 能让你的本机和 A 、B 、C 、D 在一个网络里,这样是最方便的,不用配置特定端口。
2021-07-23 10:33:53 +08:00
回复了 join 创建的主题 Windows 最近折腾 hyper-v 的一些吐槽
emmmm,WSL1 用过挺长一段时间,最近一年都在用 WSL2,基本用来做 Web 全栈开发,有时候还打个 Docker 镜像和 you-get 一些学习资料。

个人遇到的 WSL2 目前最大的短板有两个:一个是 IP 不固定(只有 WSL2 有这个问题,自己建的虚拟机不会有这个问题);另一个是因为是类似 chroot 的环境所以没有系统启动阶段,这样会导致 systemd 等一众工具没法用。

但实际上 WSL 面向的场景从来就是那 80%的应用开发场景,不涉及系统和硬件的那一部分,有剩下 20%特殊需求肯定还是要考虑虚拟机或双系统。不过这 80%对于我来说完全够用了。

文件共享,我没有在 Hyper-V 上直接用过这个功能,因为 WSL2 的话应该会帮你把 Windows 的分区都挂载好了,你可以 df 看一下是不是这样,我用的 Arch 发行版,Widnows 的分区会自动挂在 /mnt 下面,所以一般我不需要单独再配置一个文件共享功能。

Docker 的话不知道你说的是不是 Docker Desktop for Windows,这个应该是有一个引擎是直接用 Hyper-V 的,你可以去设置里看看,而且它还专门适配了 WSL2 (基于 Hyper-V ),都有适配了肯定是希望你能两个一起开配合使用的,你说的不能共存的问题我没有遇到过。但是说实话,Windows 和 Mac 上的 Docker Desktop 真的是很难用,我现在基本都是把他们卸载掉,用 docker-machine 的方案直接在虚拟机里跑一个完整的 Linux,然后再跑满血的 Docker,不用 docker-machine 工具的话你自己创建一个虚拟机装个 Linux,然后装 Docker 配置一个局域网访问,最后在 WSL 里配置一个 DOCKER_HOST 环境变量就可以直接用指令操纵虚拟机里的 Docker 服务了。

netstat 我的 WSL2 里可以用,你看看是不是要装个 net-tools 软件包,这个在很多 Linux 发行版都是不预装的,手动安装一下就好。

总结下来就是:
1. WSL 的设计目标是应用开发的时候用的,硬件开发、系统开发、跑服务都不是它能胜任的。
2. WSL2 和自己创建的 Hyper-V 虚拟机差别比较大,有跑服务的需求可以自己创建虚拟机并配置固定 IP 。
3. 有问题可以把问题发出来,大家帮你解决,很多事情下结论还比较早,只要你还有那么一点点热情,问题都会解决的。
1 ... 163  164  165  166  167  168  169  170  171  172 ... 251  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2704 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 56ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.