自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 Android Emulator环境搭建过程整理

硬件 AMD R5,因为之前装了Docker所以Hyper-V一直开着的。安装好Android Studio和Emulator后,准备下载AVD系统镜像,被告知需要安装HAXM用于硬件加速。得了,拿去折腾HAXM吧,折腾了半天才发现HAXM本就不支持AMD CPU的。好在Google到Android Emulator是支持AMD U的(Ref: Android Developers Blog: Android Emulator - AMD Processor & Hyper-V Support

2020-07-28 00:38:32 2800 3

原创 HttpMessageNotReadableException——类缺乏默认构造器导致反序列化失败

问题代码: @PutMapping("/{courseID}") public ResponseEntity updateCourse(@PathVariable("courseID") long cid, @RequestBody UpdateCourseDto updateCourseDto) { .........

2019-12-10 17:14:26 808

原创 NodeJS Addon开发

1.环境搭建npm initnpm i --save --dev node-gyp node-addon-api在package.json中加入如下配置:在package.json同级目录下创建配置文件binding.gyp:{ "targets": [{ "target_name": "smipc", "cflags!": [ "-fno-e...

2019-11-30 14:31:51 1892

原创 python优化——善用numpy api

原来的代码是这样的:# write shape firsts = frame.shape # frame是用cv2从视频中读出来的图片,类型:numpy.ndarraybuf = [0 for i in range(s[0] * s[1] + 8)] # 创建一个bufferself.int_bytes(s[0], buf, 0, 4) # 把图片宽度写入bufferself.int_b...

2019-11-26 15:19:42 193

原创 Windows共享内存编程-性能优化

用share memory和semaphore相关的api写了个ipc库,用于进程间单向大数据流传输,目标传输速度:约120MB/s(算了一下自己内存DDR4 2400的理论极限带宽= 2400 * 64 / 8 = 19200MB/s,我的目标应该是合理的)。第一个版本已经完成,但是传输速度太慢了,大约1MB/s,检查了一下写数据的代码:int writeSyncBuf(SyncBuf sy...

2019-11-25 18:01:32 715

原创 C-HashMap实现

typedef struct _Entry { String key; void* value; struct _Entry* next;} *Entry;typedef struct _Map { Entry* table; int cap; int sz; int slotSz;} *Map;Map newMap(int ca...

2019-11-19 23:26:04 276

原创 JS调用摄像头、实时视频流上传(一次不成功的试验)

JS调用摄像头、实时视频流上传(一次不成功的试验)思路前端调用摄像头,获取视频流,从视频流中取一帧转图片,用websocket上传图片。研究了一下发现了WebRTC这种技术,看到有博客说一些直播应用使用WebRTC将视频流发布到服务器上,然后用hls等技术在前端播放,但是我花了些时间还是没搞清楚WebRTC的原理,只能以后再尝试了。1.前端代码前端用的React+Typescript...

2019-10-24 22:29:41 5085 2

原创 设计一个POJO生成器-第1次迭代

设计一个POJO生成器-第1次迭代实施增量开发过程,开发一个POJO生成器需求能够为一个只有常用类型成员的类型生成实例,用户可以提供一个字符串数组告诉生成器忽略指定字段常用类型包括:java.math.BigDecimaljava.util.Datejava.time.ZonedDateTimeBooleanStringDoubleIntegerLong设计...

2019-09-19 00:05:53 159

原创 Golang: switch case 与 fallthrough

Goland: switch case 与 fallthroughExmaple:package mainimport "fmt"func main() { handle(0) handle(1)}func handle(i int) { switch i { case 0: case 1: fallthrough case 2: fmt.Print...

2019-09-07 15:14:44 842

原创 Redis笔记:Redis的字典什么时候进行Rehash?

Redis笔记:Redis的字典什么时候进行Rehash?哈希表的负载因子公式:load_factor = ht[0].used / ht[0].size负载因子 = 哈希表已保存节点数量 / 哈希表大小当服务器没有在执行 BGSAVE 命令或者 BGREWRITEAOF 命令,并且哈希表的负载因子大于等于1服务器正在执行 BGSAVE 命令或者 BGREWRITEAOF 命令,并且哈...

2019-09-07 11:37:51 1077

原创 Golang:延迟调用函数与return的谁先谁后?

Golang:延迟调用函数与return的谁先谁后?package mainimport "fmt"var a = 10func main() { fmt.Printf("a = %d\n", test())}func test() int { defer func() { a = 20 }() return a}输出:a = 10结论:return先于...

2019-09-06 15:00:58 235

原创 Golang:闭包函数中对外部变量引用的是值还是指针?

Golang:闭包函数中对外部变量引用的是值还是指针package mainimport "fmt"func main() { v := 10 defer func() { fmt.Printf("v = %d\n", v) }() v = 30}输出:v = 30显而易见,引用的是指针...

2019-09-06 14:56:49 787

原创 POJO生成器v1

POJO生成器定义一个接口先package util.generator;import java.util.Map;public interface Generator<T> { T generate(Map config);}示例配置文件GeneratorTestClass.ymlignores: - logfields: id: $g...

2019-08-27 18:01:22 241

原创 iftop + flume 实现流量监控

Get Started安装flume,直接官网下载压缩包安装iftop,参考:http://www.vpser.net/manage/iftop.html下载flume-iftop-source:Github Release。将下载下来的jar包拷贝到flume安装目录下的lib文件夹下flume配置。注意根据你的网卡情况修改f.sources.sr.iftopInterface值。这里...

2019-04-28 13:24:25 399

原创 推荐两个工具:hyper与micro

直接上图:hyper是一个基于electron实现的终端,支持一个窗口横向或纵向开多个终端,官方也有很多主题可以安装,启动比原生终端稍微慢一些,但是使用起来没有任何问题。micro是go语言实现的命令行编辑器,作为一个不会用vim的小白,感觉micro实在是太亲民了。micro支持超过90多种语言的语法高亮(官方说的),搭配hyper多终端,拿来写代码也挺舒服的!hypermicro...

2019-04-21 12:56:51 278

原创 Go播放音乐(Linux)

依赖首先安装mpg123:https://nchc.dl.sourceforge.net/project/mpg123/mpg123/1.25.10/mpg123-1.25.10.tar.bz2,下载下来后解压、configure、make然后make install安装portaudio19-dev:apt-get install portaudio19-dev安装go依赖:gith...

2019-04-20 00:09:24 1507

原创 Go实现微服务异步消息通信(一)Broker

Go实现微服务异步消息通信先学习一下go-micro源码首先是基于内存的实现接下来是基于http的实现先学习一下go-micro源码先贴出Broker接口定义:// Broker is an interface used for asynchronous messaging.type Broker interface { Options() Options Address() stri...

2019-04-12 18:30:31 1730

原创 Go Tool学习(一)scanner(2)TestSemis方法

Go Tool学习(一)scanner(2)TestSemis方法测试输入——全局变量lines:var lines = []string{ // # indicates a semicolon present in the source // $ indicates an automatically inserted semicolon "", "\ufeff#;", // firs...

2019-04-09 11:36:07 128

原创 Go Tool学习(一)scanner(1)TestScan方法

Go Tool学习(一)scanner(1)TestScan方法先看几个全局变量开始scan之前进入循环,开始scan先看几个全局变量fset:源码文件信息集合special、literal、operator、keyword:标识Token类别tokens:用于测试的token集合whitespace:用于测试的空白符source:根据tokens和whitespace拼接而成的字节...

2019-04-08 16:59:31 710

原创 Golang:if语句声明变量作用域的问题

看这样一段代码package mainimport ( "fmt" "errors" "strings")func parseName(name string) (parsed string, err error) { if name == "" { err = errors.New("empty string") } else { parsed = strings....

2019-03-22 15:43:58 4902

原创 Golang:使用reflect实现Spring的自动装配

先上最终效果,一段测试代码:package windimport ( "testing" "reflect" "fmt")type Person struct { Name string `@:"Autowired"`}func (p *Person) hello() { fmt.Println("Hello,", p.Name)}func TestWind(t ...

2019-03-21 22:53:11 1149 2

原创 Jenkins + Spring Boot

Jenkins 安装在Jenkins创建Spring Boot任务由于用Jenkins构建项目后并没有在Tomcat中启动起来,去看Tomcat日志时发现很麻烦,因此找了一个Tomcat Monitor

2019-03-12 10:14:48 74

原创 Spring Boot + Rabbitmq + CloudFoundry

Spring Boot + Rabbitmq + CloudFoundryCloudFoundry环境配置添加依赖配置Rabbitmq创建RabbitController用于发送消息创建Receiver用于接收消息测试CloudFoundry环境配置配置Rabbitmq Service环境变量添加依赖&lt;dependencies&gt; &lt;dependency&gt; &l...

2019-02-28 11:27:50 126

原创 jpa + mongodb 最近24小时时间范围查询

jpa + mongodb 最近24小时时间范围查询EntityRepositoryControllerEntity@Document("logs")@Data@Builderpublic class LogEntity implements Serializable{ private static final long serialVersionUID = 1L; ...

2019-02-25 17:30:35 2227

原创 Spring Boot + Webflux + Redis

Spring Boot + Webflux + Redis添加依赖添加实体编写controller运行...添加依赖&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-webflux&amp;l

2019-02-20 09:33:08 1178

原创 Hibernate整合postgresql出错

Hibernate整合postgresql出错环境问题解决方案环境Spring Boot + JPA + Hibernate + Postgresql问题启动时抛出异常:java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Meth...

2019-02-13 13:45:01 376

原创 Junit测试方法共享成员变量的问题

Junit测试方法共享成员变量的问题问题示例问题网上也有对这个问题的讨论,对非静态变量修改无法传递到其他测试方法中。但是现在我发现使用静态变量仍然存在一些问题。当变量不是Java常规类型时,比如是个自定义类User时,对变量引用本身的修改没有问题,而对变量成员的修改无法影响到其他测试方法,见示例。示例如下类:@Data@Entity@Table(name = "user")publ...

2019-01-28 10:39:50 3600 2

原创 Linux网络编程-多进程、多线程服务器

Linux网络编程-多进程、多线程服务器源码多进程服务器多线程服务器客户端多进程版客户端(模拟多客户端并发)源码多进程服务器server.c#include &lt;time.h&gt;#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#include &lt;sys/socket.h...

2018-11-05 20:46:48 322

原创 Linux操作系统编程-ls命令实现

Linux操作系统编程-ls命令实现功能源码运行实例功能获取当前工作目录路径并对该目录实现遍历;以列表形式列出当前工作目录下的所有文件(包括子目录),并显示每个文件的属性信息(文件类型、文件权限、文件硬链接数、文件所有者用户名、文件所有者所在组用户名、文件大小、文件最后修改时间)根据命令行参数决定是否显示当前目录本身“.”和上级目录“…”根据命令行参数决定是否显示隐藏文件(文件名以“....

2018-11-01 15:03:22 968

原创 Linux操作系统编程-cp命令实现

Linux操作系统编程-cp命令实现

2018-11-01 14:53:01 992

原创 并发爬虫-python-HyperSpy

并发爬虫-python-HyperSpyHyperSpy结构实例代码实例运行结果HyperSpy完整实现HyperSpy结构参考HyperSpy().addChanel(urlGen, urlFilter, contentSpy, storeRoutine).start(),其中使用addChanel方法添加了四个channel(被@channel修饰的函数).HyperSpy的关键思想...

2018-11-01 14:39:41 744

原创 Linux网络编程-并发HTTP服务器

Linux c实现并发HTTP服务器主要模块dataType1.StringMap2.BufListthreadPoolhttp1.Request2.Response3.Dispatcher主要代码性能测试github主要模块dataType1.StringMap链表实现的MapStringMap* createStringMap ();void resolvePair (Strin...

2018-10-19 00:21:35 618

原创 Cypher笔记(二)

Cypher笔记(二)1.模式索引和约束时图的模式,Cypher引入了数据定义语言(Data Definition Language,DDL)来操作模式。a.索引索引是为了提高数据检索效率而引入的冗余信息,代价是需要维护额外的数据使得写入时更慢。Cypher允许所有节点的某个属性上有特定的标签。索引一旦创建,它将自己管理并当图发生变化时自动更新。多因创建并生效后,Neo4j...

2018-08-12 17:30:49 1085

原创 Cypher笔记(一)

Cypher笔记运算符数学运算符:+、-、*、/、%、^比较运算符:=、&amp;amp;amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;amp;amp;amp;gt;、&amp;amp;amp;amp;amp;amp;amp;lt;、&amp;amp;amp;amp;amp;amp;amp;gt;、&amp;amp;amp;amp;amp;amp;amp;lt;=、&amp;amp;amp;amp;amp;am

2018-08-06 17:39:32 2677

原创 idea 配置 lombok

添加依赖gradlecompile group: 'org.projectlombok', name: 'lombok', version: '1.16.20'maven&lt;dependency&gt; &lt;groupId&gt;org.projectlombok&lt;/groupId&gt; &lt;artifactId&gt;lombo...

2018-07-25 16:24:28 487

原创 免费HTTPS服务器配置

免费HTTPS服务器配置基于tomcat,需要为tomcat安装apr等,找了很久找到了这么一篇没坑的博客:https://blog.csdn.net/mn960mn/article/details/51602529,这里面关于tomcat的配置已经够了,我想说的主要是如何申请CA证书并部署到服务器。CSR文件生成https://www.chinassl.net/ssltools/...

2018-07-24 11:00:42 593

原创 ubuntu mysql

ubuntu mysql 安装与配置远程访问1.安装:安装过程会提示输入密码(TAB切换密码输入框和确认按钮) apt install mysql-server2.检查服务器端口是否开放:3306,阿里云需要手动配置服务器安全组3.检查mysql监听ip:如果NAME列为:localhost:mysql (LISTEN),则无法远程访问,跳转步骤4,否则跳转步骤5...

2018-06-04 20:10:53 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除