V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  CLMan  ›  全部回复第 7 页 / 共 8 页
回复总数  146
1  2  3  4  5  6  7  8  
2023-05-14 21:15:16 +08:00
回复了 lcj2class 创建的主题 程序员 在已经存在 C++/D/Rust 的情况下,为什么还要 Zig
直接抄官方文档算洗稿吗? https://ziglang.org/zh/learn/why_zig_rust_d_cpp/
@CLMan 是我记错了,anxios 是泛型 API ,默认是 any ,而 any 是不需要`as`转换的,只有`unknown`才需要。
你服务器返回的是运行时数据,是`any`类型的,你不用`as`转换,你还能干嘛?

服务器返回的数据不是你自己创建的数据,编译器是没法检查的。
2023-05-13 10:43:07 +08:00
回复了 uncleroot 创建的主题 云计算 腾讯云公共域名"*.myqcloud.com"出国移动全局墙了
@totoro52 https://ping.chinaz.com/npmjs.com ,是运营商墙,昨天红了一大半,今天还剩 1/3 红着。
用户量没达到一定规模时,后端属于能跑就行,主要还是交互和运营。
2023-05-12 23:31:17 +08:00
回复了 uncleroot 创建的主题 云计算 腾讯云公共域名"*.myqcloud.com"出国移动全局墙了
今天发现 npmjs.com 被墙了,我是真的服了,之前一直使用 github+npm 分发个人项目,瞬间残废了。
2023-05-12 16:59:11 +08:00
回复了 zhangfa0x11 创建的主题 程序员 招聘国内混不下去的
"国内混不下去的"是啥意思,牢里混的下去吗?
感谢分享,原来这一系列头信息有更专业的术语描述。
根据我的少量的扩展开发经验,扩展提供的 API ,无论是内容脚本还是 worker ,都是受到浏览器安全策略限制的。

在 worker 进行 fetch 时,浏览器会使用 CORS 的方式来请求数据,我还没测试过设置 permissions 是否有效果。

至于内容脚本,似乎 cors 是不允许的(不太确定),只能访问同源的资源。

两者提供的 fetch/ajax api 都是受限的,并不是 local api 那样随意,要想不受限,可能要使用服务端来进行请求转发。
2023-05-11 01:45:04 +08:00
回复了 takeshima 创建的主题 JavaScript 求解一个关于闭包的 JS 代码的问题
修正:比如 Java ,会要求被捕获的**变量**必须是 final 或者等价 final 的

补充:es5 没有块作用域,只有全局作用域和函数作用域,也就是:
```
const fn1 = () => {
let i = 0;
for (; i < 10; i++) {
var j = i;// 使用 var 定义的 J 是函数作用域
setTimeout(() => console.log(j))
}
}

fn1()//9 9 9 9 ...
```
当然现在都是用`let`了,这些过时的知识没有太多了解的必要,我也忘得差不多了。
2023-05-11 01:29:00 +08:00
回复了 takeshima 创建的主题 JavaScript 求解一个关于闭包的 JS 代码的问题
第二种是任何语言中都可能会出现,都要避免的情况。闭包捕获了外部变量`i`,输出的结果取决执行时,`i`的即时值。避免的办法是创建一个块作用域的复制值,但是存在心智负担。

JavaScript 采用单线程模型,因为循环中没有中断当前执行流的逻辑,因此所有 timeout 处理逻辑只有等循环结束后才能执行,此时 i 的值为 10 ,所以输出`10`共 10 次。

严谨的语言会对这种情况进行语法限制,避免不经意间写出 bug 。比如 Java ,会要求被捕获的值必须是 final 或者等价 final 的:
```java
for (int i = 0; i < 10; i++) {
int num = i;// 这里使用一个等价 final 的块作用域变量
new Thread(() -> System.out.println(num)).start(); // 0 9 8 7 5 3 4 2 6 1
}
```

需要刻意的使用容器,比如数组,来实现第二种的效果,Java 因为是多线程语言,子线程与主线程是并发执行,输出结果不全是`10`:
```java
final int[] ref = {0};
for (int i = 0; i < 10; i++) {
new Thread(() -> System.out.println(ref[0])).start();// 3 4 4 3 8 6 10 10 10 10
ref[0]++;
}
```

JavaScript 是一门存在许多设计缺陷的语言,es6 进行了许多修补。第一种就是 es6 对第二种情况容易产生 BUG 的修补,它的思路与 Java 是不同的:`而在使用 let 声明迭代变量时,JavaScript 引擎在后台会为每个迭代循环声明一个新的迭代变量`,因此 fn1 里面的`setTimeout()`每次捕获的变量的值都是循环时的值。

JavaScript 采用单线程执行模型,`JavaScript 维护了一个任务队列。其中的任务会按照添加到队列的先后顺序执行`。`setTimeout()`省略`delay`表示立即提交到任务队列,因为顺序提交,因此顺序输出。

可以看看《 JavaScript 程序高级程序设计》《 understanding es6 》。我忘得差不多了,也是看到这个问题才去看书回忆起这些细节。

写了一个第二种存在中断循环的版本,看不懂也没啥关系:
```
const fn2 = async () => {
let i = 0;
for (; i < 10; ) {
setTimeout(() => console.log(i))
i = await plusOne(i)
}
}

function plusOne(n){
return new Promise(function(resolve, reject) {
setTimeout(() => {
resolve(n+1)
},1)
})
}

fn2() // 0 1 2 3 4 5 6 7 8 9
```
1. 应该是后者吧,`fetch`是个 Promise API ,不会阻塞 main thread 。

2. 真要完全弄清楚的话,你始终在 JavaScript 层面思考是没用的,因为计算机软件是分层的,每层向上提供封装,特别是 io 、线程之类的,并没有完全屏蔽底层并提供完备抽象的封装。你要去研究浏览器实现,去研究 OS API 实现,去研究硬件实现,但没有相关知识储备的话,这个过程效率极低,量力而行。
Scala 是 JVM 上的语言,唯一应用领域是 Spark 框架(用于大数据处理)。和其它 JVM 之上的非 Java 语言一样,因为 JVM 的限制,因为 Java 资产的影响,应用领域受到很大限制,一般只有写 Java 的才会去用这些语言,用这些语言也仅仅是为了干一件事情( Kotlin 用来写 Android,Groovy 用来写 Gradle 脚本)。
2023-04-16 17:52:30 +08:00
回复了 alovez 创建的主题 酷工作 想做游戏的看过来,我们的独立游戏工作室招人啦
@ivslyyy 有点离谱了,兄弟。实习生好歹也有工资拿,你这倒贴,谁敢要你,不怕闹出什么事情来?你要从招聘方 /猎头的位置考虑,人家想要的是一个能 hold 住的,能带来中介费的,便宜确实是考虑因素但不是最关键的,你提供的很大程度偏离了他们的需求。职场别把自己放在卑微的角色,就算是靠骗、靠编,你也要表现出你有足够的实力。

如果你是恶意灌水的话,就无视我的回复吧。

我看你的 github ,fork 了一大堆项目,虽然兴趣广泛,但是没有一个是自己写的超过 2000 行代码的程序,不要求 star 多少,但一个独立或者作为 leader 完成的完整项目总要有吧。

行业虽然严冬,但是只要经济在流动就有机会,只是要想想怎么找到自己的机会,别在一个点上困住。

共勉。
2023-04-15 14:08:07 +08:00
回复了 thorneLiu 创建的主题 程序员 2023 年了,各位老哥都是用什么工具构建简历呀?
用 vue 搞了个简单的页面。
2023-04-15 13:55:07 +08:00
回复了 Ufo666 创建的主题 Java 不要随便删除弃用的配置项......
API 弃用是指软件的 API 有了替代的解决方案,而不是你应用功能的弃用。

你要去掉这段代码,就要去看文档,这功能是 API 是如何弃用的,有什么替代解决方案,是否需要升级相关依赖。
光电是一个综合专业(我读书的时候老教授喜欢称“光机电算”,光学、机械、电路、计算机),看似很牛,其实就是个大学调剂指定专业。除了光学以外,学的是一堆毫无联系的水课,但是光学的应用领域太窄,你也不一定感兴趣(至少我是这样)。

一半的人本专业读研。本科和研究生的大部分就业往通信领域(中兴、华为、电信、移动、联通)、嵌入式底层开发上靠,有做技术的、有做产品、有做销售的,剩余的人做与专业无关的。

总之,一门混日子的专业,你喜欢躺平没啥问题,但肯定学不到啥,也没有什么对口的就业方向。
2023-04-10 13:32:45 +08:00
回复了 childewei 创建的主题 Java 求问 Java 学习以后能做那些有意思的小程序?
我用 Java 写过命令行(用 Gradle 打包很方便),还行,除了分发、安装麻烦一点。

管理系统类的项目是相对功利的练习模板,但个人更推荐写自己感兴趣的,基兴趣驱动的项目能让你写代码、看代码、思考代码,而非复制粘贴教程。
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5387 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.