Java 和 Kotlin

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语言现在怎么不火了? – 圆胖肿的回答 – 知乎

Kotlin语言现在怎么不火了? – Akiyama Mio的回答 – 知乎

Kotlin语言现在怎么不火了? – Zhao Jun的回答 – 知乎

Android模拟器实现串口通信调试

Android模拟器实现串口通信调试

Android模拟器挂载虚拟串口进行通信之踩坑记

使用AndroidStudio自带模拟器挂载串口不能接收超过8字节的数据


注:使用AndroidStudio自带的模拟器,发送8字节以内的数据是ok的,一旦超过8字节模拟器就会挂掉,后来使用了Genymotion模拟器,这个问题就没有了。

【转】modbus协议中的线圈、寄存器等的解释

转载自:modbus协议中的线圈、寄存器等的解释


公司业务需要,用到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

Cocos Creator Shader Effect

Cocos Creator Shader Effect 系列 – 0 – 前言

Cocos Creator Shader Effect 系列 – 1 – 材质,Effect,Inspector,纹理之间的关系

Cocos Creator Shader Effect 系列 – 2 – Effect 文件解读

Cocos Creator Shader Effect 系列 – 3 – Effect 文件调试

Cocos Creator Shader Effect 系列 – 4 – 老照片特效

Cocos Creator Shader Effect 系列 – 5 – 马赛克/像素化特效

Cocos Creator Shader Effect 系列 – 6 – 内发光特效

Cocos Creator Shader Effect 系列 – 7 – 点光/扫光特效

Cocos Creator Shader Effect 系列 – 8 – 高斯模糊

【转】Windows Server服务器远程桌面不能复制粘贴的解决方法

转载自:windows server服务器远程桌面不能复制粘贴的解决方法


今天使用windows 2008服务器,实然就不能从本地复制内容和粘贴内容了,从网上找了下原因,最终解决了。一般本地和服务器不能复制粘贴分两种情况:

情况一:复制粘贴功能原本可以用,突然失灵了。

解决方式:只需重启一下rdpclip.exe就可以了。

步骤:

1、打开任务管理器,查看进程,如果有 rdpclip.exe 进程,先关闭该进程。

2、开始->运行->rdpclip.exe,重新运行此程序,恢复正常。

Win10修改中文用户文件夹名

1.开启administrator账户

net user administrator /active:yes

注:关闭administrator账户 参数为no

2.注销账户并切换到administrator账户

3.重命名用户文件夹

4.修改注册表

Windows键+R打开运行,输入regedit,点击“确定”打开Windows注册表管理器

依次展开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Profilelist,在Profilelist下的文件夹对应系统中用户,而文件夹中ProfileImagePath值是指向每个用户文件夹的地址,一个个点击查看,找到 之前用户名用户 的对应所在的ProfileImagePath值。

5.修改环境变量


参考链接:

win10环境下更改用户文件夹名

Windows10_如何修改用户文件夹下的中文用户文件夹名