一..proto文件语法高亮显示 需要安装Protobuf Support插件 依次点击Intellij中的"File"-->"Settings"-->"Plugins"-->"Browse repositories",如下所示: 输入Protobuf,如下所示 安装完后,重启Intellij IDEA,查看.proto文件,会发现已经支持语法高亮显示. 二.将.proto文件转成Java类 一般的做法,是执…
在 Javascript 中,如何判断一个变量是否是数组? 最好的方式是用 ES5 提供的 Array.isArray() 方法(毕竟原生的才是最屌的): var a = [0, 1, 2]; console.log(Array.isArray(a)); // true 但是鉴于低版本 IE 不支持 ES5,如需兼容,需要想想别的办法. typeof? 我们都知道,数组是特殊的对象,所以数组的 typeof 结果也是 object,而因为 null 的结果也是 object,所以如需用 type…
为什么需要封装echarts 每个开发者在制作图表时都需要从头到尾书写一遍完整的option配置,十分冗余 在同一个项目中,各类图表设计十分相似,甚至是相同,没必要一直做重复工作 可能有一些开发者忘记考虑echarts更新数据的特性,以及窗口缩放时的适应问题.这样导致数据更新了echarts视图却没有更新,窗口缩放引起echarts图形变形问题 我希望这个echarts组件能设计成什么样 业务数据和样式配置数据分离,我只需要传入业务数据就行了 它的大小要完全由使用者决定 不会因为缩放出现变形问题…
NodeJS已经非常流行了,而且可以预见他将继续受到追捧.这确实是一个不错的创举,想想看他现在能做什么吧 1.服务器程序(典型的就是用来做网站或者restful服务,主打就是多线程,非阻塞,最后,一个字:快) 2.客户端程序(而且可以跨平台,好好想一想吧) 3.现在连移动app它也能开发了(nativescrpit,再好好想一想吧) 应该还有其他很多应用场景,这里就不一一列出来了. 好吧,既然如此,NodeJS确实是你需要学习和掌握的一门开发语言.那么如何安装和使用NodeJS呢? 第一种方法:…
上一篇文章,我介绍了 在Windows中安装NodeJS的正确姿势,这一篇,我们继续来看一下在Linux上面安装和配置NodeJS. 为了保持一致,这里也列举三个方法 第一个方法:通过官网下载安装 https://nodejs.org/en/download/ 这种方式的问题是我们需要自己去找网页,找到链接,然后下载 第二个方法:使用apt工具进行安装 默认情况下,在apt的源中只有比较老的版本(注意,需要先apt-get update) 例如,如果运行apt-get install nodej…
转载请注明来源:四个空格 » IntelliJ IDEA中Mapper接口通过@Autowired注入报错的正确解决方式: 环境 ideaIU-2018.3.4.win: 错误提示: Could not autowire. No beans of 'JwDsBaseinfoCaseMapper' type found. less... (Ctrl+F1) Inspection info:Checks autowiring problems in a bean class. 错误如下图: 解决办法…
目录 1.粘包及其成因 1.1.粘包产生 1.2.粘包产生的原因 2.尝试解决粘包 2.1.指定数据包的长度 2.2.固定数据包的长度 2.3.用函数实现多次调用发送数据 3.解决粘包问题的正确姿势 3.1.struct模块功能示例 3.2.struct优雅的解决粘包问题 3.3.struct模块功能函数化 3.4.证实粘包问题被解决 1.粘包及其成因 1.1.粘包产生 先来看一个案例,单进程启动一个tcp socket通信,从服务端发送两次数据到客户端. 服务端tcp_socket_serve…
原文:ASP.NET Core 中读取 Request.Body 的正确姿势 ASP.NET Core 中的 Request.Body 虽然是一个 Stream ,但它是一个与众不同的 Stream —— 不允许 Request.Body.Position=0 ,这就意味着只能读取一次,要想多次读取,需要借助 MemoryStream ,详见博问 asp.net core中2次读取Request.Body的问题 using (var buffer = new MemoryStream()) {…
我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了 Optional<User> user = --if (user.isPresent()) {return user.getOrders();} else {return Collections.emptyList();} 那么不得不说我们的思维仍然是在原地踏步, 只是本能的认为…
[From] https://unmi.cc/proper-ways-of-using-java8-optional/ 我们知道 Java 8 增加了一些很有用的 API, 其中一个就是 Optional. 如果对它不稍假探索, 只是轻描淡写的认为它可以优雅的解决 NullPointException 的问题, 于是代码就开始这么写了 Optional<User> user = ...... if (user.isPresent()) {    return user.getOrders();…