1、按Windows键,输入regedit打开注册表
2、分别找到以下路径
计算机\HKEY_CLASSES_ROOT\Directory\shell\cmd 计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\cmd 计算机\HKEY_CLASSES_ROOT\Drive\shell\cmd
3、将 HideBasedOnVelocityId 改为 ShowBasedOnVelocityId
参考链接:
1、按Windows键,输入regedit打开注册表
2、分别找到以下路径
计算机\HKEY_CLASSES_ROOT\Directory\shell\cmd 计算机\HKEY_CLASSES_ROOT\Directory\Background\shell\cmd 计算机\HKEY_CLASSES_ROOT\Drive\shell\cmd
3、将 HideBasedOnVelocityId 改为 ShowBasedOnVelocityId
参考链接:
节选自:git用ssh方式下载和提交代码
1、运行Git Bash客户端,执行ls ~/.ssh; 如果列出下图这两个rsa文件,那应该就不需要配置ssh key了,如果不放心就将这几个文件删掉,重新生成。
2、生成ssh key文件
ssh-keygen -t rsa -C "xxx.xxx.com"
-t 指定密钥类型,默认是 rsa ,可以省略
-C 设置注释文字,比如git的地址。
-f 指定密钥文件存储文件名,我们省略了命令执行的时候会让你选择文件名,直接回车就会保存在默认的位置。
然后会让你输入两次密码,最后出现 key fingerprint和 key’s randomart 就表示创建成功了。
ssh-keygen -t ed25519 -C "your_email@example.com"
节选自:svn 迁移至git操作手册
项目交付、版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等。git自带了从svn迁移至git的工具命令,可很好的对svn上的提交历史做迁移和映射,操作简单方便。但是初次接触不熟练,这里做一个总结和记录,内容尽量简单化。争取提供给刚刚接触git和准备迁移的用户一个简单易懂的方案。
迁移流程图:
这里分为两步来说明,第一步是比较简单迁移要件准备,已经准备好的用户可直接略过,直接进入第二步进行迁移操作。 继续阅读【转】svn 迁移至git操作手册
今天(2017.02.27)TortoiseGit 2.4.0
发布了一个Hotfix
来修正几个BUG
,网站上的具体的版本信息如下:
2017-02-25 | Released TortoiseGit Hotfix 2.4.0.2 (fixes issue #2909 (Commit dialog unclosable) and issue #2911 (Add returns “invalid path”) and contains PuTTY 0.68)
但是这次的修复引入了更大的BUG
,导致无法提交代码,不管是拉取还是提交代码,都会提示”fatal: protocol error: bad line length character: Welc
“,如下图:
修复这个问题最简单的方法就是还原到TortoiseGit 2.4.0
版本。
这个BUG
是由TortoiseGitPlink.exe
里面的代码改动引起的,只要还原这个文件到0.67版本(来自TortoiseGit 2.4.0
),也可以解决这个问题。
目前已经提交了BUG
给开发人员了。对于的BUG
链接地址如下:
TortoiseGit 2.4.0.2 bug ( TortoiseGit 2.4.0 works but TortoiseGit 2.4.0.2 can not pull and push) “fatal: protocol error: bad line length character: Welc”
希望能尽快修复这个问题吧!
到目前为止(2017.05.09)这个问题依旧没有修复的可能,因此建议大家可以改用一下SourceTree-2.0.20.1
,可以点击这里下载目前最新的版本。
PS:可以直接点击这里下载0.67版本的plink.exe。
PPS:SourceTree高版本也有这个问题,解决方案是一样的。(最终笔者还是换成了OpenSSH。)
转载自:Git LFS的使用
还没使用git之前,二进制文件和源代码分成两块,分别存放到不同的svn仓库上(防止二进制文件中有病毒感染服务器,所以做了这种隔离)。
现在公司已经切换到git上进行版本管理了,那么就可以使用git lfs来管理这些二进制文件,这样就可以让源码和二进制文件和谐共存于一处,从而不像以前那样,需要分别做两次更新。
LFS其实是git的一个扩展,并没有改变git的工作方式,有点像耍了个小花招,把指定需要lfs管理的文件替换成了一个指针文件交给git进行版本管理;
在pull/push等这些操作中,lfs又通过lfs服务器把这些文件的真身给下载或上传回来;
通过这样的手段,使得本地仓库的体积大大减小,而不会出现随着这些文件的版本增多而体积剧烈膨胀的情况;
个人觉得这种把存储负担转移给了服务器的做法,是不是有违git去中心化的理念,毕竟lfs这样做其实算是强依赖于这个lfs服务器了,本地仓库并不是一个完整的仓库 继续阅读【转】Git LFS的使用
Ivony:
1.几乎所有的程序设计语言都是和库绑定的。
2.一个优秀的程序设计语言不在于他有多少语法元素和特性,而在于这个语言的语法元素是否符合直觉。更进一步的就是是否符合你的直觉。符合直觉,或者说你的直觉和语言设计者的口味一致的语言,不单用起来爽,学起来也快。
圆胖肿:
1.Java在一大堆通用编程语言中,特性最少,关键字最少,符号最少,也就是说,Java是学习门槛和难度最低的通用编程语言。
Akiyama Mio:
1.Kotlin并没有不火,但也没有大火,一直都是不温不火的状态,我个人的判断是将来可能还会继续不温不火,或者是慢牛状态。
2.Kotlin会大火吗? 如果没有Flutter的话,我认为会,现在有了Flutter,可以跨Android和iOS平台,还可以编译web和桌面版二进制,多平台GUI通吃且体验一致,对于开发者来说简直没有理由不使用Flutter啊,所以个人认为Flutter会逐渐挤压和蚕食一部分原生Android开发的市场份额。
Zhao Jun:
不可否认Kotlin在安卓开发领域做得不错,但是Kotlin相对Java在后端开发领域优势不大。
1.Kotlin的空安全语法跟现有Java库之间的互动不是很平滑,问号、双惊叹号出现频率比较高。
2.Kotlin不需要处理checked exception,会导致很多潜在问题不能在编译期被发现和处理,直接进入产品环境。
3.类里面不能定义static field比如log对象,想要的话得弄companion object有点多此一举。
4.开发环境的各种小问题,如idea经常卡住特别是Java跟Kotlin混合使用的情况。影响团队生产效率。对于有洁癖的程序员来说,一个项目混合使用两种后端语言一言难尽。
参考链接:
Kotlin语言现在怎么不火了? – Ivony的回答 – 知乎
Kotlin语言现在怎么不火了? – 圆胖肿的回答 – 知乎
使用AndroidStudio自带模拟器挂载串口不能接收超过8字节的数据
注:使用AndroidStudio自带的模拟器,发送8字节以内的数据是ok的,一旦超过8字节模拟器就会挂掉,后来使用了Genymotion模拟器,这个问题就没有了。
公司业务需要,用到modbus协议,本质上很简单,只是第一次接触,被这些词语搞得云里雾里的。这里整理一下,方便以后查询:
0x01: 读线圈寄存器
0x02: 读离散输入寄存器
0x03: 读保持寄存器
0x04: 读输入寄存器
0x05: 写单个线圈寄存器
0x06: 写单个保持寄存器
0x0f: 写多个线圈寄存器
0x10: 写多个保持寄存器
如上所示一共8种功能码。这其中有涉及到线圈、离散输入、保持、输入四种寄存器。
线圈寄存器:实际上就可以类比为开关量(继电器状态),每一个bit对应一个信号的开关状态。所以一个byte就可以同时控制8路的信号。比如控制外部8路io的高低。 线圈寄存器支持读也支持写,写在功能码里面又分为写单个线圈寄存器和写多个线圈寄存器。对应上面的功能码也就是:0x01 0x05 0x0f
离散输入寄存器:如果线圈寄存器理解了这个自然也明白了。离散输入寄存器就相当于线圈寄存器的只读模式,他也是每个bit表示一个开关量,而他的开关量只能读取输入的开关信号,是不能够写的。比如我读取外部按键的按下还是松开。所以功能码也简单就一个读的 0x02
保持寄存器:这个寄存器的单位不再是bit而是两个byte,也就是可以存放具体的数据量的,并且是可读写的。一般对应参数设置,比如我我设置时间年月日,不但可以写也可以读出来现在的时间。写也分为单个写和多个写,所以功能码有对应的三个:0x03 0x06 0x10
输入寄存器:这个和保持寄存器类似,但是也是只支持读而不能写,一般是读取各种实时数据。一个寄存器也是占据两个byte的空间。类比我我通过读取输入寄存器获取现在的AD采集值。对应的功能码也就一个 0x04