6 右手的鼠标

尚未进行身份认证

我要认证

曾供职于菊厂、鹅厂,什么都会一点,移动端老鸟。感谢大厂给的机会,也希望大家一起进步

等级
TA的排名 8w+

Centos 启动 nginx 失败 —— 端口被占用

启动 nginx 的时候提示不能绑定nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)nginx: [emerg] bind()

2020-05-31 14:57:32

linux(ubuntu16.04) 安装 cmake

最近几个月发生了一些糟糕的事情,虽然最终的结果还算可以接受,但是还是心态被搞炸了,也就断更了好久,后续的更新的频率应该也会慢下来了。大环境下最弱势的还是我们一线的码农,让我深刻的认识到。不要轻易相信别人的承诺,尤其是小公司的承诺;什么东西都要白纸黑字,还要先看到白纸黑字,不要是入职以后的协议,因为入职以后,签不签都要签了。最近需要搭建一个虚拟机的环境,运行 c 程序,编译 c 需要用到 cmake 也就有了这篇文章。这次的文章主要用来给自己做一个记录。安装 cmake1、安装 g++ 和 gcc,如

2020-05-18 15:44:45

Android 打包 —— aar 嵌套引用本地 aar 的打包

Android studio 的 module 打包一般会打包成 aar 的形式。如果 module 引用了一个本地的 aar,在打包的时候,这个被引用的 aar 是不会打包进去的,这种设计思想是比较好的,可以很好的避免包冲突的问题。例如 App 引用了两个 aar(1.aar 和 2.aar),1.aar 和 2.aar 都依赖了第三方的 3.aar,如果1.aar 和 2.aar 都把 3.a...

2020-04-15 13:56:46

Springboot 集成 MQTT —— web 服务端实现(apollo 客户端)

基于 MQTT 可以实现很多场景,例如现在使用比较多的物联网,还有消息的实时推送。联网的设备连接上 apollo 服务器以后,一直监听 apollo 推送过来的信令/消息即可。1、web 服务端向联网的设备推送信令/消息,上述截图的流程(1.1-1.2)。1.1、web 服务端向 apollo 服务器发送信令/消息。1.2、联网的设备通过订阅的主题,收到 web 服务端推送的信令/消息。...

2020-04-05 22:50:03

Springboot 集成 MQTT —— 搭建 apollo 服务器(Windows)

Apache Apollo 是代理服务器,可以支持 AMQP、MQTT、SSL等协议。说白了是一个发布订阅中心,发送者向发布订阅中心发数据,接受者从发布订阅中心获取数据,从而实现消息的推送。Apollo 则是消息中转站的角色。apollo 下载路径1、下载 apollo 的资源包示例使用的是 apache-apollo-1.7.1-windows-distro 压缩包2、安装 apol...

2020-04-05 00:15:29

Ubuntu 安装 docker-ce 提示 Package docker-ce is not available, but is referred to by another package.

打开 /etc/apt/sources.list.d/docker.list 中添加下面内容deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable更新并安装sudo apt-get update如果 sudo apt-get update 的过程很慢,可以尝试使用国内的镜像sudo apt-get...

2020-03-22 10:47:22

解决点击 Docker Quickstart Terminal 弹出 “windows 正在查找 bash.exe”

当安装 DockerToolbox 完成后,点击 Docker Quickstart Terminal 一直弹出既然这里启动程序依赖了 bash.exe,看看是怎么依赖的。好吧,这里因为之前安装过 Git 而且是自定义的安装路径,标记部分的路径并不存在。解决方法将上述的依赖的 Git 下 bash.exe 路径改为本地真实存在的路径。修改完成后就可以长长启动了...

2020-03-21 15:35:51

Springboot 依赖 token 管理会话(解决单点登录)

一般 Springboot 项目默认都会使用 session 的方式管理会话,但是在集群项目中,使用 session 的管理方式就会变的比较麻烦了(单点登录问题),可能需要为每个节点同步 session,还伴随有内存的损耗。这个时候 token 的方式就是一个很好的解决方案,具体原因可以参考之前的《cookie,session,token 的理解》一文。接下来的内容将会介绍如何在 Springb...

2020-03-18 22:53:32

Springboot 集成 RabbitMQ —— Windows 环境下 RabbitMQ 的单机多实例集群(普通模式+镜像模式)

为了使得 RabbitMQ 可以达到高可用,需要允许消费者和生产者在 RabbitMQ 节点崩溃的情况下可以继续工作,所以一般线上部署的都会是集群。因为在自己的电脑上部署集群,没有那么多的机器,部署真正的多机多实例的情况;所以就有了这篇,单机多 RabbitMQ 实例集群的搭建。基础概念RAM node:内存节点将所有的队列、交换机、绑定、用户、权限和 vhost 的元数据存储在内存,这样可以...

2020-02-19 10:12:56

Redis 面试 —— 缓存雪崩、缓存击穿、缓存穿透

1、缓存雪崩在给 key 设置过期时间的策略上没有限制,给一大堆的 key 设置了相同的过期时间,当达到过期时间的时,在某一刻有一堆的 key 都被清除了,这个时候,新来的请求全部去数据库请求,数据库瞬时访问压力过重而扛不住的情况。假如这个时候挂的是一个用户服务的数据库,这个时候所有依赖这个库的接口都会报错,就算重启,用户的请求依旧会把数据库搞挂,反复来个几次,用户也不玩了。解决办法最简单的...

2020-02-13 21:44:54

Redis 面试 —— 主从、持久化、淘汰的原理

1、为什么使用 Redis在前面的几篇文章里,介绍了如何在 Spring 框架下集成 Redis,但是,我们为什么要是用 Redis 呢???这里就必须提到 Redis 的几个优点了。Redis 是基于内存存储的,同时,是 单进程 单线程 模型的 KV 数据库,使用 C 语言实现的(比 JAVA 更高效的语言),官方声称可以达到 10w+ 的QPS(每秒可以查询的次数)。因为是基于内存存储的,...

2020-02-12 11:30:03

cookie,session,token 的理解

最开始的服务器基本上就是支持文档的浏览, 只支持浏览功能,使用场景简单,不需要记录用户在某一段时间内的浏览记录,每次请求都是独立的 http 请求。随着交互式应用的兴起,如线上购物,都需要验证用户后再进行操作,这样,就会有一个问题,如何管理交互的会话,从而知道那哪些操作是哪些用户发起的(用户添加购物车、结账等操作),因为 http 请求本身是无状态的;这个时候就需要会话标识(session ID...

2020-02-10 16:42:38

Springboot 集成 Redis —— 配置 Windows 环境的主从哨兵模式

在《Springboot 集成 Redis —— 单机形式》一文中介绍了最简单的 Redis 的使用方式,但是,这种使用 Redis 的模式,很难在日常的开发中简单,实际意义小于测试意义.。Redis 有持久化功能,这可以使 Redis 在服务器重启的情况下也不会丢失(或少量丢失)数据,持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据。但是由于数据是存储在一台服务器上的,如果这台服务器出现...

2020-01-19 17:51:28

Android 内存管理

初识内存优化在 Android 的性能优化的各个部分里,内存的问题绝对是最令人头疼的一部分,虽然 Android 有垃圾自动回收机制不需要手动干预,但也恰因为此,出现内存问题如内存泄漏和内存溢出等,如果对内存管理机制不熟悉,会更加难以排查问题。内存分配谈 Android 的内存,就不能不提 Java 的内存管理。Java 程序在运行的过程中会将其管理的内存分为若干个不同的数据区方法区:方...

2020-01-16 16:42:56

Springboot 集成 Redis —— 单机形式

前面有一篇文章介绍了在 windows 系统里面搭建一个 Redis 环境,环境我们都搭建好了,总不至于搭着玩玩吧,接下来就会介绍,怎么样在最基础的单机形式下使用 Redis(循序渐进嘛,毕竟还有主从、哨兵和集群的形式,一下子也说不完)引入 Redis 的依赖在 pom.xml 文件中加入 Redis 的依赖截图标注部分 <dependency> ...

2020-01-08 17:38:47

ARCore 使用 SceneForm 框架 —— 使用云锚点功能(上)(环境准备)

基于 SceneForm 的云锚点实现(一)(环境准备)注:云锚点的开发需要翻墙!翻墙!翻墙!重要的事情说三遍哈准备 google-services.json 文件就是下面截图标注的文件,这个文件是根据包名生成的,需要翻墙登录 Firebase 生成创建一个自己的项目项目名称可自定义没啥好说的,继续 就好了还是一样 继续添加 Firebase 的账号,点击 添加 Fire...

2019-11-28 12:46:08

Windows 搭建 Redis 环境

Redis 是 key-value 存储系统。支持多种 value 类型存储,包括 String (字符串)、List (链表)、Set (集合)、Zset (有序集合)和 Hash(哈希类型),都支持 push / pop、add / remove 以及取交集并集和差集等操作,且操作都是原子性的。同时,Redis 支持多种不同方式的排序,为了保证操作效率,数据均缓存在内存中。Redis 会周期性...

2020-01-06 16:36:33

ARCore 使用 SceneForm 框架 —— 使用 ObjectAnimator 实现旋转、移动动画

对应 Sceneform 框架,官方给出了几个示例代码,其中一个示例工程 solarsystem (太阳系),给出了旋转动画是如何实现的旋转动画为了使代码看着简单,对示例代码中实现旋转的部分做了简化,就有了旋转类 —— RotatingNodeclass RotatingNode : Node() { var rotationAnimation: ObjectAnimator? = ...

2020-01-06 12:56:50

ARCore 使用 SceneForm 框架 —— 自定义每个单元格都有点击响应的 3D 规则镂空多面体

Sceneform 框架下绘制锥形规则多面体通常情况下,显示一个 3D 模型,只要有对应的资源就可以实现了,但是这个仅仅是通常情况,肯定会有特殊情况的,这不刚好憋了好长时间,需要憋出一个特殊情况的大招;实现一个规则锥形多面体,不过在此基础上支持配置成圆柱形规则多面体先看看效果图多面体实现思路看起来是一个很复杂的东西,不过拆解出来后,思路就会变得比较简单了先确定一个加载点的位置,然后加载...

2019-12-31 11:57:55

Springboot 集成 RabbitMQ —— 发布订阅模式的广播实现

Springboot 集成 RabbitMQ —— 发布订阅模式的广播实现通过前面的学习,可以发现,消息都是通过交换器发送至队列的,一条消息只能被一个消费者处理,实际开发中还会有一种情况,就是一条消息需要被多个消费者处理,就是广播的形式;广播的模式需要使用到 FanoutExchange (散列交换器),FanoutExchange 会将消息发送至每一个与之绑定的队列中FanoutExchan...

2019-12-30 17:25:52

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。