V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  qrobot  ›  全部回复第 19 页 / 共 19 页
回复总数  374
1 ... 10  11  12  13  14  15  16  17  18  19  
2021-09-03 13:53:04 +08:00
回复了 James369 创建的主题 程序员 js 的类有没有析构函数,如何进行资源释放??
@yxwzaxns 回答 4L

所有的语言,无论高低都需要关心内存问题

1. 分配你所需要的内存
2. 使用分配到的内存(读、写)
3. 不需要时将其释放\归还

有一些语言是需要开发者手动明确进行处理的,例如 rust c/c++ , 而有一些是隐含帮你处理例如 Java Go 等等。 但是无论那种你都需要关注内存分配,以及销毁的问题。

例如在 Java 中 常见的内存泄漏


```
Static Vector v = new Vector(10);

for (int i = 0; i < 100; i++) {
Object o = new Object();
v.add(o);
o = null;
}
```

无论是那种语言,开发都需要关注内存回收的机制,以及内存回收的问题。如果不去关注这些。 很容易出一些内存泄漏的问题。
2021-09-03 13:41:19 +08:00
回复了 James369 创建的主题 程序员 js 的类有没有析构函数,如何进行资源释放??
@James369 楼主首先你理解错误了。 或则说你不应该在 Student 释放的时候去做擦除圆的操作。

例如, 我在 Student 释放的同时,去创建 Student 。 那么这个对象将永远无法真正的释放。 例如在释放的时候进行执行大量的逻辑。 显然这是非常影响 gc 的性能行为。

不过你可以在要销毁的时候。 执行其他情况, 你不应该依赖 gc


例如我记得 java 的 gc, 只是做一个垃圾标识, 至于什么时候进行清理,要看 gc 的心情。

例如在 JS 中, 你应该这样

```js
let student = new Student()

// 标记需要回收
delete student;

// free 是你自己自定义的方法,用来编写逻辑,释放你的图片信息,以及擦除圆的操作。
free(student)
```
2021-09-03 13:18:13 +08:00
回复了 James369 创建的主题 程序员 js 的类有没有析构函数,如何进行资源释放??
@yxwzaxns #4L 我想知道 rust 算成熟的语言嘛
2021-08-30 10:53:31 +08:00
回复了 he110comex 创建的主题 问与答 手机 QQ 强迫更换绑定手机号,怎么办?
v2ex 发贴也需要绑定手机号码了。
2021-08-11 10:09:15 +08:00
回复了 MaoRong 创建的主题 React react 学习 父子组件调用
@lalalaqwer 别问,问就是 dispatch
2021-08-11 09:49:15 +08:00
回复了 weimo383 创建的主题 程序员 为何前端构建工具这么麻烦
我敢说,你们大部分说 webpack 不好用的人多半是把 webpack 当作 html-webpack-plugin 在用。

真的不清楚,webpack 什么时候变成的复杂的构建工具了? webpack 本身很简单啊

主要就是一个 Entry(入口), Output(出口), Loaders(装载器) 就这三个配置,Entry 和 Output 是主要配置,和传统的 html js css 开发本身就是一样的。


你们为什么会感觉到复杂?

1. 就说 es6 -> es5 里面的转换,就有很多工具, 比如 babel 进行转换,babel 的配置本身不简单, 或者 esbuild 在或者 ts 也就是可以做到的
2. 例如 css 有很多技术栈, 例如 less,sass 还有 styled-components
3. 越灵活的工具,配置就越复杂, 越固定的东西使用越简单,webpack 让你感觉到复杂因为它太灵活了,基本上可以覆盖整个前端的技术栈
2021-08-03 16:44:56 +08:00
回复了 d7sus4 创建的主题 问与答 Ant Design 如何响应式地适配从 1080P 到 4K 常见比例的屏幕?
我记得上次去阿里,他们内部使用的就是 4k 屏幕啊,导致 antd 在低分辨率的屏幕下显示的特别大。 所以 4k 基本没有问题,低分辨率的情况下也出了一个 antd.compact.[css|less] 完美解决两个问题啊。 你看看官方文档
2021-07-28 16:52:12 +08:00
回复了 brader 创建的主题 程序员 真正的点对点聊天通讯隐私实现想法
回楼主, 有, 这个软件叫做 GnuPG , 也叫做 GPG
@eason1874
@lonewolfakela
#17 #18

```
但是 hash 泄露也只是你这家的服务完蛋了,如果是明文密码泄露,用户在其他地方如果用到同样的密码的话很可能一块儿完蛋
```

那就是撞库, 撞库严格来说不算是三方系统的安全问题。( PS: 准确说被撞的那个系统安全上不作为存在的安全问题)

密码其实是存在泄漏的可能,无论是第三方撞库,还是说人为的泄漏密码,这些都算作系统安全。

如果真的要预防这个问题。 我认为应该从以下方向去考虑

1. 在登入的时候判断用户是否在常用的 IP 地址中
2. 通过浏览器指纹来判断这是否是用户经常访问使用的浏览器
3. 在登入的时候需要采用 RSA 非对称加密算法,将 指纹和密码进行加密, 正式环境的私钥和开发测试的要进行区分
3. 如果有异常情,例如 IP 和浏览器指纹不一致, 并且区别很大(需要用户通过手机或者邮箱进行二次确认)
@eason1874 #14L

在这里骗鬼啊, 前端进行 HASH 的密码。 等于你的密码就是 hash 的值。 运维人员接触到了 hash 密码,直接用过接口测试工具,例如 postman 或者 curl 然后直接参数的密码就是这个 hash 的值, 一样可能登入。 如果为了安全唯一的可能性,就是防止撞库。 防止运维拿着这个密码去碰撞。
2021-07-20 11:01:35 +08:00
回复了 JerryAi 创建的主题 酷工作 [可远程] 硅谷明星创业公司寻找最强开发!
弱弱的问一下,有 React 前端的远程吗?
2021-07-19 09:08:46 +08:00
回复了 evilStart 创建的主题 Python Nodejs 之后, Python 在 Web 开发领域还有啥优势么?
@raptor #33

不知道什么叫做不断重新发明轮子。


- Webpack 的出现,主要是为了解决打包的问题,并且可以配置插件来做一些功能
- React 只不过是一个 JS 操作 DOM,采用虚拟 DOM 来进行操作的,方便了开发人员
- Angular 只不过也是一个 JS 操作 DOM 的库,不过采用双向数据绑定。
- Vue 只不过也是一个 JS 操作 DOM 的库,它减少了 Angular 的复杂度
- PReact Fast 3kB alternative to React with the same modern API.
- Babel 解决浏览器兼容问题

无论从哪个方向来说,这都不是所谓的 `不断重新发明轮子` 每个 JS 库的偏向点都不一样。 他们都拥有自己不同的生态。如果硬要说,类似于 Linux 的分叉,Debian 和 Centos 的区别。Arch 和 Manjaro 的区别
@yazoox htt 。p 。s://github 。com/HighPerformanceComponent/rc-grid/blob/canary/packages/rc-grid/src/DataGrid.tsx#L309-L348

你看这段代码, 大概的思路就是这样的,行里面有通过一个方法获取自己的子节点(我这里是通过 onChildrenRows 来获取的),如果你要改成从 list 中获取也是一样的。 循环遍历一下 list 本身,其实就是一个递归就可以处理了。

你可以下载项目, 执行 yarn 在执行 yarn start 。 然后点击里面的 tree 表格。 你会发现其实就是一个拍扁了的 div list

> 注意要使用 yarn 不能用 npm
2021-07-14 10:51:25 +08:00
回复了 zhwithsweet 创建的主题 程序员 vuecomponent-seed —— 一个开箱即用的 Vue 3 组件库模板
@zhwithsweet 弱弱的问一下,你首页哪个图片怎么画的。 是用的什么工具吗? 我一直蛮好奇的
1 ... 10  11  12  13  14  15  16  17  18  19  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2768 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 05:37 · PVG 13:37 · LAX 22:37 · JFK 01:37
Developed with CodeLauncher
♥ Do have faith in what you're doing.