V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  noe132  ›  全部回复第 25 页 / 共 78 页
回复总数  1548
1 ... 21  22  23  24  25  26  27  28  29  30 ... 78  
2020-11-24 16:29:58 +08:00
回复了 vision1900 创建的主题 JavaScript 这样的柯里化实现为什么不 Work?
而且中间的 for 循环等于在做无用功。运行 n 次和运行一次,得到的 result_function 都是一样的东西
2020-11-24 16:27:43 +08:00
回复了 vision1900 创建的主题 JavaScript 这样的柯里化实现为什么不 Work?
你这连递归都没有看见。。。感觉差的有点远啊
建议参考 https://stackoverflow.com/questions/27996544/how-to-correctly-curry-a-function-in-javascript
2020-11-24 14:21:47 +08:00
回复了 zhouxelf 创建的主题 Vue.js Vue3 目前有已经在生产环境用的吗
没有 router vuex ui 组件库的 vue3 项目算 vue3 项目吗?如果算我给自己打个广告
https://github.com/Firefox-Pro-Coding/iciba-translate-userscript
2020-11-22 23:21:38 +08:00
回复了 huangya 创建的主题 问与答 数字签名原理的疑问
为什么 B 通过"不可读的明文"(乱码?)就认为这个不是 A 发的,这样是不是不严谨?

确实不严谨,因为 乱码也是数据。但 谢希仁 只介绍了加密解密的过程,没有介绍防篡改的过程。因为通常来说被窜给的密文解密出有意义的数据概率比较低,应该就用这个简单代替了,但非对称加密的核心是一致的。而且通常来说,防篡改不仅仅是计算一个 hash 这么简单,像计算机网络中还会遇到防重放攻击相关的内容,但核心思路就是用 hash 或者校验和等手段检验数据是否发生了变化。
2020-11-22 23:10:24 +08:00
回复了 huangya 创建的主题 问与答 数字签名原理的疑问
密文 = 加密(原文, 私钥)
原文 = 解密(密文, 公钥)

并且从数学上,知道 原文、密文、私钥、公钥 中的任意 3 个都无法轻易推算出剩下的一个。

A 只需要保管好 私钥,别人就无法伪造加密过程。
B 只要保证自己的公钥是正确的,那么就能够验证密文是不是由 A 发送过来的。

假设 A 发过来的信息被篡改了,然后被 B 用公钥解密,得到的就肯定不是 A 本来要发的原文。但 B 并不知道这到底就是原文,还是乱码?如何得知解密得到的乱码是不是就是 A 本意要发过来的内容,还是被篡改后的?答案就是用加密做签名,把原文和签名一并发送。

假设 A 想发的信息是 m,对 m 用私钥加密后得到 e,并且对 m 做 hash,得到 hash 值 h,此时将 e(m) 和 h 一并发给 B 。

B 拿到 e 后用公钥解密出原文 m',并且也对 m' 做 hash,得到结果 h'。此时对比 h 和 h' 如果是同一个值,那么 B 认为传输没有被篡改。

如果出现了传输错误或者被篡改,那么 B 得到的 h' 肯定不等于 h,这时 B 就能发现错误。

软件数字签名的原理简单来说就是上面的过程,软件发布者给软件计算 hash,并且用私钥签名,和软件一起发布。用户下载软件后后用公钥解密签名得到 hash,然后和自己计算的 hash' 做对比,如果不一致那么就说明软件被篡改了。

当然前提是用户拿到的是正确的公钥。现在系统都由内置根证书,作为信任保障,然后由根证书签发出新的子证书,用来做加密。因为子证书是根证书签发(和上面加密的过程类似)出来的,没有(根证书)私钥的人没法随便签发证书。只要根证书是有效的,并且大家都认可这个根证书,那么就能保证子证书是正确有效的。
2020-11-22 19:07:18 +08:00
回复了 IGJacklove 创建的主题 问与答 问一个笔记本电脑听音乐音质问题.
蓝牙耳机通常有 2 个模式,立体声模式和单通道+麦克风。如果选了第二种就可以用麦克风,但音频播放的采样率就会下降。
2020-11-22 16:15:53 +08:00
回复了 ecs 创建的主题 Edge Edge 将不合格的 HTTPS 网站暴露了出来
提升很大,写完代码后打游戏更爽
powershell -NoExit "cd C:\src\repo; yarn serve"
2020-11-20 00:42:26 +08:00
回复了 RickyC 创建的主题 Vue.js vue3 的安装包那么大, 500 多 K, 不会很慢吗?
2020-11-19 20:25:36 +08:00
回复了 zxCoder 创建的主题 问与答 一个 js 文件如何引入一个 vue 组件
简而言之 vue 需要 transpile 到 js 才能被 node require 进来。你可以用 webpack, rollup 等工具配置相应的插件。

如果你不太懂相关的工具链,我建议了解一下 nuxt.js 。
2020-11-16 22:17:01 +08:00
回复了 xchaoinfo 创建的主题 问与答 [不懂就问] 各位 v 友 是怎么学习 CSS 的?
设计是设计,css 是 css
2020-11-15 11:31:34 +08:00
回复了 lamls 创建的主题 宽带症候群 最近打开某些网站特别慢,搞不懂?
2020-11-07 12:04:18 +08:00
回复了 zhao1014 创建的主题 Java 为什么 Java 堆可以处于物理上不连续的内存空间?
应用程序没有权限直接操作物理内存的,操作的都只是虚拟内存,内存分配是 OS 的工作。至于怎么分配,怎么映射,又多大开销,《操作系统》欢迎你
2020-11-07 11:51:39 +08:00
回复了 slamDunkLINk 创建的主题 Android 关于 MIUI 开发版
直接解锁后用 patch boot 方式装 magisk 就不需要申请啥开发版了
2020-11-01 11:03:53 +08:00
回复了 haishiwuyuehao 创建的主题 问与答 JavaScript 模块化 Export 命名子句导出 的一些想法
你的理解是错误的。你看到的 iife 只是 transpiler 对 esmodule 的一种实现。实际上可能根本没有 iife 。
试想
// a.js
export const a = 1

// b.js
import { a } from 'a'
console.log(a)

transpiler 完全可以编译成
const a = 1
console.log(a)

事实上 webpack 开启 concatenation plugin 后就是这样的结果。
为啥总是要认为 export 是一个块?这不就是一个类似对象的语法么,和 import 语句是一样的,只是一种语法,和作用域块没有一点关系。这就不是一个语句块。如果这是个语句块,那你觉得写出来到底 export 了哪些东西?难道 export 了整个语句块?难道 import 语句的括号内我也要可以定义变量么?

export 是完全静态的,export 只能存在模块顶部,不能在任何语句块内。export 只有标记的作用。要求能在代码不运行的情况分析所有的 import export 。如果按你的说法,export {} 里还能定义变量,写语句,那就不符合静态分析这一要求了。

esmodule 只是一个规范,并不是具体的实现,并且规定了 export 不能变,那就不可能有 export 会有语句块这种问题。不要把 iife 的 module 实现直接和 esmodule 划等号

至于 esmodule 是怎么实现的,那是 transpiler 或者 runtime 具体的事情。你不能因为某一种实现就认为所有的实现都有一样的特性,因为可能某些实现有 bug 或者限制
2020-11-01 00:00:17 +08:00
回复了 haishiwuyuehao 创建的主题 问与答 JavaScript 模块化 Export 命名子句导出 的一些想法
至于为啥不在定义变量的时候 as,设计的时候就是这么设计的,而且正好和 import 的 as 保持一致。如果硬要在变量定义时 as,我觉得这样的语法怎么设计都不会好看
2020-10-31 23:54:40 +08:00
回复了 haishiwuyuehao 创建的主题 问与答 JavaScript 模块化 Export 命名子句导出 的一些想法
啥叫作用域块的引用?
只有值才有引用,作用域块怎么说都不像是一种值吧?

不要把 对象字面量语法和语句块语法 和这个大括号搞混在一起,这 3 个都不是 1 个东西,不是所有的大括号都是对象或者语句块,就比如模板字符串 `${a}`,建议把基本的语法学习一下

你只需要知道 每个模块有自己的 namespace,export 只是单纯的在这个 namespace 上添加对应的绑定而已。
export let a = 1
export function b() { a += 1}
export default 'c'
export { a as d }
这 4 个语句都是一样的,在 namespace 上添加绑定。通常 namespace 是一个对象,这个 namespace log 出来大致长这样
{ a: 1, b: function b(){ a += 1 }, _default: 'c', d: 1 }
但不要把 namespace 看作简单的对象,首先它是不可修改的,其次所有的 export 都是对对应变量的绑定,而不是简单的把值导出来。比如如果你在模块内 修改 a = 2,那么 d 的值也会变成 2,因为 d 只是到 a 变量的一个绑定。
import { a, b, d } from 'module'
console.log(a, d) // 1, 1
b()
console.log(a, d) // 2, 2

具体这个绑定是怎么实现的,通常你不需要关心,不同的运行环境或者编译器有不同的处理方式。
2020-10-29 09:59:32 +08:00
回复了 ericgui 创建的主题 程序员 请教一个问题: React Fiber
Fiber 是 React 渲染调度模块的名称。很多项目都有 Code Name,比如 Vue3.0 One Piece 。
Fiber 应该是从 React 16 开始的。之前 的调度不是 Fiber,而是一个没有名字的东西。只不过 Fiber 取了个名字而已。
至于为啥要单独拎出来,大概是觉得这个改动很牛逼,搞了这么个用来做 Marketing 。

怎么用 Fiber ?你只要在用 React,你就已经在用了。
2020-10-29 09:40:12 +08:00
回复了 yazoox 创建的主题 TypeScript 请教一下 typescript 下 enum 的 name 和 value 的问题?
enum 不应该当作 object 来用。
const enum 实际上根本不存在 runtine object 。
而且 number enum 有 reverse mapping 。
1 ... 21  22  23  24  25  26  27  28  29  30 ... 78  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   996 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 36ms · UTC 20:09 · PVG 04:09 · LAX 12:09 · JFK 15:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.