小编Mar*_*o F的帖子

在Mac OS X下使用外部"windows"键盘

我使用的是MacBook,但我有一个通常的键盘.

问题是密钥并不完全映射为1对1.一件事是APPLE和ALT键.它们映射到WIN和ALT,但它们通常是物理反转的,所以如果你想使用相同的布局,你必须在操作系统中反转它们.功能键的工作方式也不同.外接器上的Fx = MacBook键盘上的Fn + Fx.然后有所有插入,删除,键.

所以,问题是,你是如何解决这个问题的?现在,我在"系统偏好设置"面板中重新映射了我想要的所有内容,但是当我拔下外部键盘时,它全部搞砸了.有没有办法只重新映射外部密钥?某些型号的键盘可以存储自己的映射而无需操作系统吗?我是唯一一个被这个困扰的人吗?

(我想避免购买外置mac键盘,因为我想尝试一种符合人体工程学的模型,据我所知,没有mac人体工学模型)

更新:感谢您的回复,我解决了这个问题.

要设置不同键盘的控制键,您必须转到系统偏好设置/修改键,然后下拉菜单选择键盘允许您选择一个特定的键盘并设置这些键.在看到拔出/插入后工作

来自@Matthew Schinckel的建议似乎适用于其他问题(功能键,......).我还没试过,因为命令键是我最大的抱怨.

keyboard macos ergonomics

29
推荐指数
2
解决办法
5万
查看次数

emacs中的矩形函数

我在几个地方读过emacs中的矩形函数非常有用.我已经读过一些关于它们的内容,但我无法理解为什么.我的意思是,当你想杀死一个段落时,你标记第一行/列然后标记最后一个,那实际上是一个矩形,对吧?但你仍然可以使用正常的杀...

那么你会用它们进行什么样的转换呢?

emacs

16
推荐指数
2
解决办法
7234
查看次数

make git pull --rebase保留合并提交

git pull --rebase删除未压缩的合并提交.有没有办法让它保存起来?

说我的历史看起来像 -

A
| \ 
B  H
|  |
C  G
|  |
D  F
| /
E
Run Code Online (Sandbox Code Playgroud)

(A作为合并提交.)

git pull --rebase它成为 -

H
|
G
|
F
|
X
|
B
|
C
|
D
|
E
Run Code Online (Sandbox Code Playgroud)

(X作为git pull --rebase我的历史中插入的新提交.) - A被删除.

我知道你可以使用它git rebase --preserve-merges来保存它们git rebase,但是我没有看到用它来保存它们的方法git pull --rebase.

git version-control

15
推荐指数
3
解决办法
6148
查看次数

有没有办法用Jest顺序运行一些测试?

开玩笑运行测试套件默认情况下并行,但有一个标志(--runInBand),它允许您运行整个套件顺序(如指出,在这里)

我有一些不能并行运行的测试,但是顺序运行整个套件需要花费更长的时间,所以我的问题是是否有办法只运行某些测试(例如为这些测试设置一个标志或类似的东西).

javascript jestjs create-react-app

12
推荐指数
2
解决办法
3501
查看次数

在Git中管理发布分支

所以我第一次使用git,有一种情况我不太清楚如何解决.

我有一个简单的webapp(只有html,css和js),我想生成可以跟踪版本号的常规版本.这很容易做到git tag.但问题是,对于我的发布,我想做一些额外的事情,比如缩小js脚本并更新html页面以指向它们.此外,我在发行版中需要一个忽略非缩小的js脚本的.gitattribute,以便git archive产生尽可能小的输出.

我所做的是创建一个releases分支.该分支包括前面提到的.gitattributes和修改过的html页面.每次我想要新版本时,我都会切换到这个分支,合并master中的更改,然后完成发布并用版本号标记它.它看起来像我想要的那样工作,但我不确定这是怎么做的.

我对更有经验的git用户的问题是这个案例通常是如何处理的?

git release

5
推荐指数
1
解决办法
2084
查看次数

将serialVersionUID添加到已在使用的可序列化类中

Serializable自2004年左右开始,我就有了一个在生产中使用的课程.然而,写这篇文章的人忘了生成一个serialVersionUID.

整个事情有点工作(有一个很大的评论警告,不要触及班级中的任何东西),但是当我在一个相关的不同类中工作时,我有一个InvalidCastException,所以我想添加serialVersionUID以确保该类正常工作.

问题是,是否可以添加这样的字段,而不会破坏现有的序列化实例?它们很多,并没有简单的方法来修改它们.

我的想法来自于看到异常消息,这是以下内容:

java.io.InvalidClassException: the.problematic.Class; local class incompatible: stream classdesc serialVersionUID = -8802277085918151566, local class serialVersionUID = -3137213695071887162"
Run Code Online (Sandbox Code Playgroud)

我认为我可以使用隐式串行(跟踪中的流classdesc)作为序列,它应该保持向后兼容性.它是否正确?我(或多或少)确保我们在整个系统中获得的所有序列化实例都具有相同的版本.

java legacy serialization

3
推荐指数
1
解决办法
498
查看次数

使用 Lens 更改数据类的多个属性

我正在Kotlin 中试验Lenses,我想知道是否有一种优雅的方法可以同时更改一个对象的多个属性。假设我的域如下所示:

@optics
data class Parameters(
    val duration: Int,
    val length: Int) {
  companion object
}

@optics
data class Calculation(
    val product: String
    val parameters: Parameters) {
  companion object
}
Run Code Online (Sandbox Code Playgroud)

多亏了@optics注释,编辑单个字段很容易:

val calculation = Calculation(product = "prod", Parameters(duration = 10, length = 15))

Calculation.product.modify(calculation) { selectedProduct }
Calculation.parameters.duration(calculation) { newDuration() }
Calculation.parameters.length(calculation) { 10 }
Run Code Online (Sandbox Code Playgroud)

这些镜头可以完美地独立工作,但是当我想同时应用三个转换时,使用什么模式是正确的?我可以使用 avar并且calculation每次都覆盖,但这对我来说并不习惯。

functional-programming kotlin arrow-kt

3
推荐指数
1
解决办法
271
查看次数