V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  BeautifulSoap  ›  全部回复第 5 页 / 共 109 页
回复总数  2180
1  2  3  4  5  6  7  8  9  10 ... 109  
96 天前
回复了 dhuzbb 创建的主题 宽带症候群 局域网内优雅的访问家庭内网服务
这个方案两个比较麻烦点
如果通过 wireguard ,tailscale 之类组网的话

1. dns 是通过局域网 dns 解析的,在家庭局域网外无法正确解析。不如买个域名直接设定域名解析到 192.168.0.8
2. 每次新增服务都要配置 Nginx 反代。

所以我现在都是直接用 ip 加端口,然后搞个简单面板凑活用了,常用服务端口记得住,不常用的从面板进去。
@mark2025 有点搞笑,我头一次听说网络请求帮忙自动处理 cookie ,给个速率控制就能被黑产盯上的
@DIYgods 作者你好,我不太理解网络请求部分的复杂度该如何通过 ci 进行简化。如果可以的话你能提供相关讨论或构想的链接吗?

至于参与项目,说真的我不太确定 RSSHub 到底对项目变化的接受程度到底如何。
我虽然写第三方源(也就是 router )才一天不到,但已经发现了非常多缺失的功能,如经由 RSSHub 接管的网络请求接口,完全自动无感的 cookie 处理,对请求速率之类进行控制的池,cookie 的持久化,数据的持久化之类。这些功能并不是特别复杂的功能,但我不确定我真写了代码后这些改变能否被 RSSHub 接受
@nielinjie 嗯嗯,你说得似乎有点道理,但你说的内容和我这帖子想说的内容似乎并没啥关系。。。。。。看我 7L
@WildCat @amlee

哥们,你们似乎阅读理解的方向错了?我这贴只是来发个牢骚告诉大家给 RSSHub 写源有多坐牢,又不是来质疑 RSSHub 为什么这么火的。
世上火的项目千千万,里面实际代码写成一坨屎的也非常多。每个项目火都有自己的一些原因。莫觉得我就没法理解这种事
markdown 格式

光这一点 lz 你就除了 obsidian 之外没得选的了
那还用问?那肯定是先学 javascript 再学 typescript 。不用抬杠,各位推崇的 typescript 官方文档就明确推荐你要学 ts 先学 js 了

https://www.typescriptlang.org/docs/handbook/intro.html

> If you are coming to TypeScript without a JavaScript background, with the intention of TypeScript being your first language, we recommend you first start reading the documentation on either the Microsoft Learn JavaScript tutorial or read JavaScript at the Mozilla Web Docs.

> 如果你没有 JavaScript 背景,计划将 TypeScript 作为你的第一门编程语言,我们建议你先阅读 Microsoft Learn 或 Mozilla Web Docs 上的 JavaScript 教程。
prettier 的换行是完全强制的无法关闭,要么上面的特定忽视要么忍

如果为了解决问题将 line wide 设置成 99999 ,那么你又会惊喜地发现,所有手动换了行地地方又全都被强制整形成了一行

只能说 prettier 是真的难用。如果可以迁移地话建议迁移到 eslint stylistic
@Pencillll 兄弟,建议重新捋顺一下整个话题逻辑。如果你还无法发现问题所在那我就在这帮你捋一下:

首先再次重申一遍,我已经在一开始就明确地表明了我的观点没有任何隐瞒,我的观点总结起来就
a. js 因为长年历史包袱语言缺陷,导致多年来积年累月的各种写法尾大不掉残类至今,并且为了兼容,语言功能也极多各种机制极其复杂。虽然语言各自有自己风格,但 js 这方面的问题比其他语言严重不知道多少倍
b. js 目前保留的非常多和大量写法功能残留在我眼里都是非常奇奇怪怪的,让人辣眼
综上所述,我认为 js 作为一门语言,对于初学来说初学的心智负担非常大

我这么给你总结后清晰了吗?然后问题回到和我对线的 @shintendo 兄弟,他从头到尾都一直只是在抓着我上面观点中的 b 进行攻(对)击(线)。是的,b 是一个攻击我观点的着力点,关于 b 的对线我是愿意奉陪的,但请问我的观点的核心是依赖 b 吗?我的核心观点依赖的是 a 。
你可以和我大战三百回合,假设最极端的我被说服了撤回了 b ,但这只反过来证明了 a 中我说 JS 的各种庞杂复杂的内容是客观存在的事实。
所以我才一而再再而三地要求亮观点,因为我无法理解,只对我 b 做攻击的人,到底是想从什么角度来驳倒我的观点,
@shintendo 还是那句话,请摆出你的观点。网上聊天反驳别人论据是可以的,但当一个讨论(对线)话题变得逐渐冗长话题原来越散时,一个人连自己观点都不摆出来那么我就觉得完全没有和这种人讨论的必要了。这也是我没有接着回复你反驳我的那个回复。因为我根本看不出来你到底想干嘛,所以对于该怎么继续这个话题也毫无头绪
@shintendo 你有没有发现一个问题,你越是反驳我,越是在证明“初学 JS 的心智负大”这点?我再在这问你一个问题,你反驳我究竟是在反驳什么?
我的观点很简单,JS 长久历史以来,语言本身缺陷,历史包袱,为了兼容,导致形成的各种奇奇怪怪风格和大量的语言功能至今都消解不掉,还必须去学去了解,对初学者造成了心智负担

而你在这反驳却在反驳什么,你反倒一个劲在为这些写法是正常的,没必要取消的做解释。对,这正是我想看到的,你越是卖命解释,就越是证明 JS 里这些奇奇怪怪的写法都是存在在,在你们 JS 程序员眼里这些都是利索当然的。也就越是在证明我上面提出的观点。“初学 JS 的心智负大”

JS 为了前端兼容,所以历史包袱非常沉重,这是前端特性决定的,所以“初学 JS 的心智负大”有问题么?所以我再问你,你在这反驳我到底是在反驳什么
@78786381 来,你倒是说说我给别人扣了什么帽子?
@shintendo

> 初学 JS 的心智负担在于 JS 作为一个 30 来年的语言,而且为了兼容各种浏览器的,几十年前老的写法用法依旧还保留着,而且很多写法你还不能不学,因为很多写法很多人都在用。然后几十年积累下来各种奇奇怪怪的写法,用法,功能,还有各种奇奇怪怪的符号能让初学的人学到头炸

看仔细了么, 我的观点都写得这么清晰了:“ (初 学 JS 的心智负担不在于语言本身缺陷或像 rust 那样设计到多深奥的知识),而在于源于各种历史包袱下大量的约定俗写法用法功能导致的心智负担”
都写的这么清楚了,我之后列举的所有槽点也都是围绕着我的观点进行的,所以我也就没多提 js 本身的缺陷,我这里说的都是初学 JS 的问题。so ,有问题?

的确像上面有人说的换一种语言相当于换了一种写法,不习惯会有压力这是正常的。但任何事都有个度,什么叫“语言改进了,但是我需要看旧代码”?只在旧代码里看到这些我就无所谓了,可是当年 JS 因为历史原因和缺陷,那些旧的写法、知识、用法随着语言改进,这么写的人越来越少了吗?
像我说的 const foo = () => {}; 还有 (function() {})(); 这种经典的为了规避问题的 JS 写法随着 strict 模式出现不用这么写了而绝迹了吗?并没有。现在不一堆人还在写这样的代码,而且可以预见的未来也不会消失。这不是光去看旧代码的问题,而是已经没有大量使用必要了还必须要了解适应当年为了规避问题养成的习惯写法。新的程序员更喜欢 function 等写法,夹杂着用旧写法的人,堪称美丽

再一个 async/awawit 出现后,喜欢 Promise.then().catch() 以及 Promise 里套 Promise 的人消失或者很少见了吗?虽然有时候的确有必要鼓捣 Promise 但很明显 js 程序员里,对 Promise 和 async/await 的选择并不是源于所谓的各自的使用场景

再一个 class ,ES6 里引入之后鼓捣 prototype 实现继承的人数难道消失了?虽然 class 本质是 prototype 套皮,的很明显后来有其他语言经验的人必定更适应 class 的写法,而另一部分人则更喜欢 prototype 。class 的写法和 prototype 两种截然不同的风格今后也会长期永久并存下去。你必须都会写都要了解

再一个 js 常年累月积累的各种语言特性和功能,上一次初学一门语言让我有种记不过来的情况还是 kotlin 。虽然 kotlin 也算得上是大量语法糖构成的语言,但在语言功能的记忆点上和 js 一比也是小巫见大巫

等等等等

这就是我说的,JS 学习上的心智负担
@DOLLOR 说得很好,这就是 js 程序员
@DOLLOR @shintendo 哦,那是我见识浅薄了。写多了静态语言的的确没见过这种世面多谢指点,谢谢

所以你们既然都没怎么吐槽我列举的其他 js 的槽点,我就意味着你们对我吐槽的其他点都没意见,对么?
@DOLLOR | 属于手滑了,而至于||,不好意思,你以为我是没见过逻辑或的操作符,而实际上我在跟你说的是 const result = "a" || "b" 这个写法里,reslult 的值为 "a" 而非 true 的反直觉||特性。判断左边元素真假然后返回右边元素,你跟我说这叫逻辑或,写了这么多年静态语言的我反正是不认的,python 等动态语言也没这么奇怪的逻辑或认。


> 我倒觉得`const foo = () =>{ }`比`function foo() {}`更好,后者会改变 this 指向,会提升变量,甚至在非严格模式下,会逃出语句块,重名不报错。

你看。你这就给大家解释了下什么叫 js 的心智负担
107 天前
回复了 jeremyding 创建的主题 职场话题 远程办公是什么体验
看人

我当年答辩完到找到工作期间 4 个多月没事情做,每天就是窝在家 吃饭 睡觉 写代码 玩电脑
花一两小时投简历找工作 傍晚出去跑个 20 分钟步
三四个月除了几次远程面试和每天去超市结账时跟收银员说的“谢谢”“给我塑料袋” 之外,基本没和任何人交流说话。
那几个月简直爽死了,至今还怀念那段时光

前几年新冠移情在家办公一年半,窝在狭小的房间一年半不怎么出门也很爽,放渴望社交的人那怕不是要死了

只能说人和人是不一样的
初学 JS 的心智负担在于 JS 作为一个 30 来年的语言,而且为了兼容各种浏览器的,几十年前老的写法用法依旧还保留着,而且很多写法你还不能不学,因为很多写法很多人都在用。然后几十年积累下来各种奇奇怪怪的写法,用法,功能,还有各种奇奇怪怪的符号能让初学的人学到头炸

|,||,??=, ??, !! 等等等等奇奇怪怪的符号

就一个异步函数,从古早的 callback 到后来的 Generator ,Promise ,再到终于初具人形的 async/await ,你终于以为可以一把 async/await 走天下了,结果是前面几种也全都要学和写,因为这几样东西现在依旧各自有非常多的使用场景。更重要的是有的人就是特别喜欢捣鼓 Promise 而有的人就是不想碰 Promise 只喜欢 async/await ,你必须都要会

再比开 strict 模式之前之后,js 行为简直就是两个语言。我至今还记得如果不开 strict 模式,就一个 this 的特性,都能让人眼前一黑

var 的的全局提升特性(谢天谢地现在终于用 var 的人少了,但各种小脚本或者内嵌 js 引擎里依旧 var 满天飞,你依旧必须学 var 这东西和里面坑)

再比如习惯了类继承概念的人接触用 prototype 实现继承的时候,一定也是学得非常难受。当然现在我已经 class extends 一把梭走天下了,prototype 让我碰那是不可能的

再比一个风格问题,箭头函数这东西的确是个好东西,但作为一个常年后端的人,看到别人经常满天飞的箭头函数依旧要扶额。普通定义一个函数都要 const foo = () =>{ } 这种写法,我虽然知道前端很喜欢这么干,但依旧觉得大受到震撼

再还有 Array.sort() 会把数组所有成员转换成字符串然后才做排序导致第一次用的人 100%中招出 bug 啊之类的都算小问题了
@doommm 文章最好看完,这些规则现在摘出来成为独立项目由社区维护了。eslint-stylistic 。专门用来做格式化的工作。 说真的 eslint 的格式化比 prettier 这破玩意好用一万倍
加。eslint 警告,然后代码 push 到 github 后,自动调用 github actions 加,以防有的人就是会漏掉。ps:代码格式化极其不推荐 prettier 这破玩意,难用得一塌糊涂还是建议用 eslint 做代码格式化
1  2  3  4  5  6  7  8  9  10 ... 109  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5414 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 08:38 · PVG 16:38 · LAX 00:38 · JFK 03:38
Developed with CodeLauncher
♥ Do have faith in what you're doing.