V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Goooogle  ›  全部回复第 1 页 / 共 21 页
回复总数  405
1  2  3  4  5  6  7  8  9  10 ... 21  
2021-08-26 15:07:17 +08:00
回复了 charlesliu 创建的主题 Vim 求助[vim]:有什么快捷键可以自动的在句尾添加分号;
#2 2 楼给是的正确的姿势,我稍微解释一下吧
这一行是在 normal mode 下,将 "<leader>;" 也就是 ",;" 映射成为 后面那堆按键。
其中 "m'" 和 "`'"分别是将当前位置标记为 "'",然后在执行完对应的操作后返回该位置。

上面提到的所有信息都可以在<<Learn Vimscript the Hard Way>>中找到,可以作为进阶资料
2021-06-30 12:46:22 +08:00
回复了 a719114136 创建的主题 分享发现 判断 ip 是否在一个超大 ip 集中(识别国内 ip)
刚好做过一样的,说一下实现逻辑
- 国内 IP 可以认为是多个 IP 段组成,转成类似于 1.1.1.1 -> 1.2.3.4 的结构,相邻的 IP 段可以合并
- IP 转成 unsigned int,那么一个 IP 段可以表示为类似于[1024, 8192]的数据
- 以 1024 为 Key,8192 为 Value,存放到 TreeMap 中
- 在查询时,将传入的 IP 也转成 unsigned int,然后去 TreeMap 查询小于等于 IP 的 Key,然后再判断 Value 是否大于等于 IP 即可

时间复杂度 O(logn),空间的话 O(ip 段数)
这个对吞吐的要求会不会有点高?
单次 GC 的最大停顿时间小于 Ttp9999 可以理解,但 GC 吞吐大于 4 个 9,有点超出常理了吧
正常我们对 GC 停顿时间的要求是小于 1%,这也是 Parallel 收集器的默认配置,G1 的 goal 甚至是 10%
格式乱了 补个图
i.imgur.com/92rIInV.png
在线上跑了一周,堆大小 2G
平均暂停时间 0.05ms 一点也不夸张,测试显示最小也就 0.025
最大暂停时间测试显示有点抖,从几 ms 到几十 ms

phase: pause mark end 0.000 / 0.000 0.013 / 0.036 0.013 / 0.210 0.013 / 0.242 ms
[Phase: Pause Mark Start 0.000 / 0.000 0.027 / 0.054 0.021 / 0.218 0.025 / 6.534 ms
Phase: Pause Relocate Start 0.000 / 0.000 0.012 / 0.053 0.009 / 0.086 0.009 / 0.266 ms
Subphase: Pause Mark Try Complete 0.000 / 0.000 0.000 / 0.000 0.006 / 0.013 0.004 / 0.063 ms
@honjow #16
我在 11 楼发的配置就是
- 单按映射成一个组合键,用于切换输入法 (`to_if_alone`这部分)
- 与其他键组合依然表现为 Shift
我不是设置的 Squirrel 的快捷键,而是设置的系统切换输入法的快捷键,因为我就 Squirrel 和英文键盘两个输入法

切换输入法的快捷键在
System Preferences - Keyboard - Shortcuts - Input Sources - Select the previous input source
@Goooogle #11
不支持 md 格式乱了,删除最后一个逗号就是 json,自己转一下格式就行
我现在在用着完成相同的实现,具体的做法是 Karabiner Elements 将右 Shift 映射成特定的复杂按键,然后在系统设置中用这个键来切换输入法

```
{
"description": "(Right_shift) Right shift to ⌘⌃⌥⇧ + 0 (For input method)",
"manipulators": [
{
"from": {
"key_code": "right_shift",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_shift"
}
],
"to_if_alone": [
{
"key_code": "0",
"modifiers": [
"left_command",
"left_shift",
"left_control",
"left_option"
]
}
],
"type": "basic"
}
]
},
```
2021-01-12 22:19:03 +08:00
回复了 jojobobo 创建的主题 Apple 你们用 BetterTouchTool 在干什么?
@paulzhang1992 #11
那可以推荐一下 Karabiner-Elements
有一个设置是“Prevent unintended command-q”
ke-complex-modifications.pqrs.org
2021-01-12 19:23:18 +08:00
回复了 jojobobo 创建的主题 Apple 你们用 BetterTouchTool 在干什么?
我用 BTT 是为了实现统一的手势:在所有 App 中三指左右滑动,用于切换 Tab
其他的还有:
- 三指重按模拟鼠标中键点击,用于在浏览器中新标签打开页面
- 三指双击模拟 CMD+W 用于关闭当前 App/Tab
2020-12-24 11:38:54 +08:00
回复了 asanelder 创建的主题 程序员 [求助] Java 快速开发阶段的 auto reload
Intellij 有个 JRebel 插件,基本符合你的需求
2020-12-03 18:54:40 +08:00
回复了 mokevip 创建的主题 问与答 迫于懒得早起买早饭,早餐代餐求推荐
我是电饭煲煮三样,可以根据含量调整大小或个数
煮鸡蛋
蒸冷冻肉包
蒸地瓜

晚上睡觉之前花一分钟洗一下放过去,定时到起床前的一个小时
每周去超市补给一次
Java 后端 Intellij IDEA
用得比较多的 重构 F6 Debug F7/F8

同时 Iterm2 绑定的 HotKey F1/F2 一键呼出 使用频率非常高

所以 不能没有 F 功能键
touch bar 也改成了 F 键
目前使用的是 Niz plum 的 75 键静电容
2020-10-22 23:37:05 +08:00
回复了 pursuer 创建的主题 Java 踩了一个 Java 编译时和运行时环境不一致导致的一个坑
Java 在编译时,会将使用到的方法的签名固化在字节码中的常量池中(类型为 CONSTANT_Methodref_info ),当运行时和编译时的签名不一样时,就会报这个错误。即使是“将参数类型改为其父类型”这种直观看起来可行的方式也不行。
你例子中,ByteBuffer 是 Buffer 的子类型,单纯从语法上讲,把一个方法的 ByteBuffer 参数的类型替换成 Buffer,所有这个方法的调用方都能继续调用,不会有任何问题,但在编译后的方法执行时先去常量池找到对应的符号引用,但该符号引用在运行时环境中没有,不会判断继承关系,而是直接抛出异常。

前段时间刚碰到这个问题。
《算法导论》
2020-08-20 22:27:43 +08:00
回复了 darksheep9527 创建的主题 程序员 求推荐编程类播客 podcast
内核恐慌
2020-06-26 15:41:06 +08:00
回复了 JellyDong 创建的主题 上海 同上海租房咨询
我现在住的巨峰路 高德导航 12 转 1 号线 1 小时整
主卧室友要跑路 价格两千 有兴趣可以试一下
小区安静 房子是九几年的 不算新 靠近 6/12 号线 /家乐福
2020-06-15 17:25:24 +08:00
回复了 anonyh 创建的主题 上海 到浦电路地铁站一小时左右,在哪租房好?
前公司就在浦电路,我住在巨锋路,30 分钟+路程
一个室友月底要搬出去,如果有兴趣可以留个联系方式
2020-05-14 13:04:27 +08:00
回复了 rotciv 创建的主题 上海 上海有可以带猫上班的互联网公司吗?
小红书 周 5 很多人带猫带狗
1  2  3  4  5  6  7  8  9  10 ... 21  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2756 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 41ms · UTC 13:04 · PVG 21:04 · LAX 05:04 · JFK 08:04
Developed with CodeLauncher
♥ Do have faith in what you're doing.