V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Karte  ›  全部回复第 2 页 / 共 4 页
回复总数  62
1  2  3  4  
28 天前
回复了 sxiaojian 创建的主题 操作系统 多年程序员 mac 转 win
Windows, 各种奇奇怪怪的 BUG. 别转 WIN!

1. 文件路径问题. windows 用的反斜杠 (\), 这时候你想用 bash 之类的脚本执行部分路径会出问题
2. 磁盘盘符. 由于有磁盘盘符, 导致 bash 脚本需要额外增加一个 /c/xx/xx/
3. 文件占用. 这是最头疼的, 莫名其妙的文件占用, 你得一个个把所有占用的都杀了才能删除或者更新这个文件. 最主要的是你不装工具你不知道有什么程序占用着这个文件. 相比 Linux 或者 Mac, 直接替换, 不要太方便.
4. windows 11 的桌面切换有 bug. 有时候你点击桌面 1, 但是显示的还是你选择之前的桌面. 动效也拖拉的要死.
28 天前
回复了 gzldc 创建的主题 杭州 你们的宽带多少钱办的 什么套餐有推荐吗
@crayygy 流泪了, 69 元/月, 200M + 10G.
28 天前
回复了 Curiosity777 创建的主题 Java 请教一个 Java8 stream 应用问题
```java
public class StreamTest {


private List<C> initialSequence() {
var res = new ArrayList<C>();

var rand = new Random(0);
for (int i = 0; i < 10; i++) {
C c = new C();
c.setId(i);
c.setCurrent(rand.nextInt(1000));
res.add(c);
}

return res;
}

@Test
public void stream() {
List<C> sequence = initialSequence();
System.out.println("before");
output(sequence);


C finalResult = sequence.stream().reduce(new C(), (pre, now) -> {
Integer accumulative = Optional.ofNullable(pre.getAccumulative()).orElse(0);
now.setAccumulative(accumulative + now.getCurrent());
return now;
});


System.out.println("after");
output(sequence);
}

private void output(List<C> sequence) {
for (C c : sequence) {
System.out.println(String.format("id: %s, acc: %d", c.getId(), c.getAccumulative()));
}
}

static class C {

private Integer id;

private Integer accumulative;

private Integer current;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public Integer getAccumulative() {
return accumulative;
}

public void setAccumulative(Integer accumulative) {
this.accumulative = accumulative;
}

public Integer getCurrent() {
return current;
}

public void setCurrent(Integer current) {
this.current = current;
}
}

}
```

无视 reduce 的结果即可.
34 天前
回复了 Curiosity777 创建的主题 Java 请教一个数据同步的问题
如果数据是写入之后无修改, 可以记录上次其获取到的数据 id, 然后将这个 id 之后的数据再发送给他. 有效减少查全库导致性能的下降.

如果修改不大建议最好做个 snapshot. 定时生成一个 snap 节点, 然后用户通过提交上次 snap 节点获悉所有数据更新状态.
@424778940 对, 我抛弃微软拼音了, 用 RIME. 随便找个配置配置了就完全 ok, 而且也不用担心隐私泄露.
我记得连中英文标点也有 bug. 主要是这样的:
1. 设置默认设定都为英文标点
2. 关闭切换中英标点快捷键
3. 然后在中文输入的情况下有时候还是默认中文标点, 而不是原先设定的英文标点.
(Win10).
用 netty websocket 试试. 多路复用技术可以减少句柄占用.
187 天前
回复了 Virace 创建的主题 计算机 ITX、迷你主机还是笔记本
零刻完全够了, 自带 100W 外置电源, 方便携带.
202 天前
回复了 ly827 创建的主题 杭州 2023 新年新气象-杭州程序员交流群
bmFoXzk2MjI=
202 天前
回复了 ly827 创建的主题 杭州 2023 新年新气象-杭州程序员交流群
二维码过期了
281 天前
回复了 hfywy 创建的主题 程序员 数据库设计问题
哦 需求看错了. 方案不可行
281 天前
回复了 hfywy 创建的主题 程序员 数据库设计问题
像这种之后做缓存, 然后每次有数据来的时候直接将缓存的数值进行更新. 获取时直接从缓存中获取. 数据库更新可以交由 MQ 做异步解耦处理, 可以保证宕机恢复缓存时有数据可用.
宕机恢复时可能会存在队列有堆积的情况, 这时候就可以阻塞消息消费, 然后先建立本地缓存, 然后再恢复消息处理. 消息处理时同步更新缓存中的数据. 消息生产时可以对消息添加版本号等手段来避免双写缓存的情况.
如果 A1 distinct 之后的所建立的缓存超过了服务所设定内存占比的 25%, 就放弃使用本地缓存, 直接读取数据库. 通过 BufferPool 的机制快速获取数据.
281 天前
回复了 hfywy 创建的主题 程序员 数据库设计问题
1: 分表分为冷数据表和热数据表 (冷:不查询,堆就可以. 热:今日或当月插入数据表)
2: 创建一个 snapshot 表, 将冷数据时直接进行统计汇总并写入到 snapshot 表中 (标志当前已经有多少了).
3: 之后每月将热数据表统计好后在通过 snapshot 表查询 snapshot 数据, 然后汇总成最新的 (旧的留着无所谓, 如果 A1 字段多, 就删掉) 写入到 snapshot 表中.
4: 汇总完成后重新建立 snapshot 的索引 (如果做删除的情况), 减少页空隙所导致的性能问题.
5: 将热数据写入到冷数据表, 然后清空热数据接收新的数据.

这样之后要统计时可以直接将热数据表的数据做统计 (缓存也可以), 然后直接获取 snapshot 表中的计数即可知道有多少了.
301 天前
回复了 ly827 创建的主题 杭州 2023 新年新气象-杭州程序员交流群
bmFoXzk2MjI=
2023-02-13 17:29:27 +08:00
回复了 heartrick 创建的主题 Android 刚收到一加的 Ace2,怎么直接刷成氧啊?找了半天没找到固件
可能优势就是自带 Google 全家桶和安全组件
2022-11-24 09:46:47 +08:00
回复了 dafuyang 创建的主题 MySQL 兄弟们,关于 sql 优化的问题想请教一下
你可以通过设定 max_length_for_sort_data 强制走 rowId 排序, 这时候只有 2 个字段参与了排序. 而全字段排序则会导入你查询的所有列数据, 体积差异比较大.
在 rowId 排序完后会自动回表查询数据. 这样走的话应该不会触发 filesort 排序
2022-11-24 09:38:51 +08:00
回复了 dafuyang 创建的主题 MySQL 兄弟们,关于 sql 优化的问题想请教一下
补充下, rowId 排序好之后会通过主键回表将数据返回. 上面说错了.
2022-11-24 09:37:48 +08:00
回复了 dafuyang 创建的主题 MySQL 兄弟们,关于 sql 优化的问题想请教一下
排序可以分为:
1. 全字段排序. 指的是将查询的所有字段都存入 sort_buffer 然后进行排序, 如果数据过大, 会使用分治算法将数据拆分为小块存到磁盘进行排序.
2. rowId 排序. 排序时只将排序字段和当前主键 id (没有就是 rowId) 进行排序, 排序完成通过主键进行排序返回.

具体选择的是哪种排序则是通过你字段的长度判断的, 在 InnoDB 中有一个 max_length_for_sort_data 用于表示使用何种排序. 超过这个字段的值就会使用 rowId 排序.
同样, 还有 sort_buffer_size 用于控制 sorf_buffer 的大小.
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5873 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 37ms · UTC 03:11 · PVG 11:11 · LAX 20:11 · JFK 23:11
Developed with CodeLauncher
♥ Do have faith in what you're doing.