qrobot 最近的时间轴更新
qrobot

qrobot

V2EX 第 548928 号会员,加入于 2021-06-21 14:10:57 +08:00
qrobot 最近回复了
因为 SQL 写的再好,比如中间件的一次缓存命中, 如果缓存命中率达到 90% 以上, 那么就不存在 IO 问题。


```
正因为 SQL 写的烂,所以接口性能很差劲,但是他们好像都不在意这些 IO 方面的优化,整天在想着怎么优化语言性能,比如反射、JSON 序列化、语言基础库的性能;要么就是上集群、加缓存,然后又没有任何设计模式,直接业务代码中强硬加入缓存读写,就算是缓存也是先从缓存读出数据,然后遍历一条条去数据库再查出来,性能更差了
```

我不清楚你们的项目结构,不过 IO 在怎么优化是有瓶颈的,为了提高命中缓存, 我觉得不用 in 和 left join 是最好的
@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;
}
```

无论是那种语言,开发都需要关注内存回收的机制,以及内存回收的问题。如果不去关注这些。 很容易出一些内存泄漏的问题。
@James369 楼主首先你理解错误了。 或则说你不应该在 Student 释放的时候去做擦除圆的操作。

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

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


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

例如在 JS 中, 你应该这样

```js
let student = new Student()

// 标记需要回收
delete student;

// free 是你自己自定义的方法,用来编写逻辑,释放你的图片信息,以及擦除圆的操作。
free(student)
```
@yxwzaxns #4L 我想知道 rust 算成熟的语言嘛
55 天前
回复了 he110comex 创建的主题 问与答 手机 QQ 强迫更换绑定手机号,怎么办?
v2ex 发贴也需要绑定手机号码了。
74 天前
回复了 MaoRong 创建的主题 React react 学习 父子组件调用
@lalalaqwer 别问,问就是 dispatch
74 天前
回复了 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 让你感觉到复杂因为它太灵活了,基本上可以覆盖整个前端的技术栈
我记得上次去阿里,他们内部使用的就是 4k 屏幕啊,导致 antd 在低分辨率的屏幕下显示的特别大。 所以 4k 基本没有问题,低分辨率的情况下也出了一个 antd.compact.[css|less] 完美解决两个问题啊。 你看看官方文档
88 天前
回复了 brader 创建的主题 程序员 真正的点对点聊天通讯隐私实现想法
回楼主, 有, 这个软件叫做 GnuPG , 也叫做 GPG
@eason1874
@lonewolfakela
#17 #18

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

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

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

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

1. 在登入的时候判断用户是否在常用的 IP 地址中
2. 通过浏览器指纹来判断这是否是用户经常访问使用的浏览器
3. 在登入的时候需要采用 RSA 非对称加密算法,将 指纹和密码进行加密, 正式环境的私钥和开发测试的要进行区分
3. 如果有异常情,例如 IP 和浏览器指纹不一致, 并且区别很大(需要用户通过手机或者邮箱进行二次确认)
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1073 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 10ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
♥ Do have faith in what you're doing.