自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 grpc增加重试机制(nodejs)

首先说一下为什么需要重试,单个grpc接口在长时间不调用后(大约十几二十分钟)再次调用时会出现Error: 14 UNAVAILABLE : TCP Read failed 错误。在查阅官方文档之后,可以确定,所有的Error: 14 UNAVAILABLE 都可以直接重试。但是nodejs官方的grpc包是不包含重试机制的(其他语言的包比如说go就有重试机制)。这里提供统一增加重试的一种方式: const grpc_client = new proto.ManageService(machine

2021-11-15 13:45:22 1761

原创 LintCode 1071 词典中最长的单词(NodeJS)

export class Solution { /** * longestWord * * @param words: a list of strings * @return: the longest word in words that can be built one character at a time by other words in words */ longestWord(words) { // Write your code here

2021-10-18 13:34:45 125

原创 前端数据导出文件

前端数据导出文件场景: 将前端现有的一些数据进行处理后导出成文件,不需要访问后端实现方式: const a = document.createElement('a') a.href = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(data) a.download = 'xxxxxxxxxxxxxxxxxxxx' //导出文件名 document.body.appendChild(a)

2021-04-02 08:54:20 256

原创 node 多个异步方法转同步

node 多个异步方法转同步异步转同步的方式有很多种,但是在实际开发中,有些场景还是需要选择使用最适合的方式去处理,这里就提供一种。场景: 我想要多个异步任务按顺序的执行(种种元素不能用 await)有以下 a ,b , c 三个异步方法const a = () =>{ return new Promise((resolve,reject)=>{ setTimeout(()=>{ resolve('------a-----') },3000) }

2021-02-02 09:31:19 498

原创 Go 语言解决 50 层台阶问题

问题描述有50层台阶,一个人每步可以上一层或者两层,问一共有多少种上楼的方式。问题分析50层可以由 49 层跨一步,也可以由48层跨两步,49层则可以由48层跨一步或者47层跨两步,…只有第1层只能由第0层跨一步到达,由此可见,当n>1 时, 第 n 层可由 n-1 层跨一步或者 n-2 层跨两步到达。codepackage mainimport ( "fmt" "time")func main() { fmt.Println("一段楼梯有n个台阶,每次只能上一层台阶或者两层台

2020-09-28 11:34:35 359

原创 antd vue 表格表头与内容列宽不一致

从图片的内容可以看到表头的宽度与内容的宽度是不一致的,但是使用的是默认的antd的样式。为什么会出现这种情况呢?罪魁祸首是表格的 scroll 属性,可以从图片中看到该表格有一个纵向的滚动轴,虽然我们只设置了滚动轴的 Y 轴宽度,但是也会影响 X 轴,造成表头与内容列宽不一致。解决办法:在定义表头时,给每一列增加列宽,类似:const columns = [ { title: '账户', dataIndex: 'id', width: 120, // 解决方法 .

2020-07-02 09:58:05 2551 1

原创 无法从局域网内连接docker中的运行的mongo容器

问题描述: 在docker启动mongo容器后,从其他机器上无法通过ip和端口访问mongo容器。使用 docker 的exec 命令进入mongo容器,手动启动mongo服务端mongod --bind_ip 0.0.0.0 &在连接即可。

2020-07-01 09:23:23 646

原创 ubuntu 安装 go

安装的为目前(2020-06-22)最新版本(1.14.4)命令:wget https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz解压:tar -xzf go1.14.4.linux-amd64.tar.gz go/修改环境:sudo vim /etc/profile增加路径: 需要把前两行中的 /home/kuye 修改为你下载解压的go的路径export GOPATH=/home/kuye/gopathexport GOROOT

2020-06-22 10:52:45 480

原创 react 获取后台数据渲染页面不显示

问题描述:想要的结果:在一个 react 的 Component 获取后台的数据并显示,页面第一次渲染时就显示进行的尝试:在组件外定义了一个 getXXX 方法,使用 axios 请求后台的结果,在 Component 的构造方法里调用该方法,将该方法的结果赋值给 state 属性里bug结果: 后台数据接收到了请求,并正确返回结果,但是页面却没有渲染,使用 console 输...

2020-01-13 15:48:20 6037

原创 CentOS6.x升级 glibc 到2.17

CentOS6.x升级 glibcgcc -v 查看gcc版本ldd --versio 查看glibc版本下面是个脚本,可以复制到一个文件中,执行即可。执行完之后,使用ldd --version查看glibc版本,是否已经升级到2.17也可以将下面脚本中的五条命令依次copy出来放在命令行中执行,执行完后检查glibc版本#! /bin/sh# update glibc t...

2019-12-24 09:23:04 973

原创 js获取指定日期的前一天

如何获取指定日期的前一天const getYesterday = (date) => { const trueDate = date.getDate(); //获取输入日期的 日 const trueMonth = date.getMonth()+1; //获取输入日期的 月 ps:+1是因为月是从0开始的,所以真实的月份需要+1 const tru...

2019-12-21 15:48:10 1725

原创 Elasticsearch 中使用父子文档处理归属问题 nodejs语言

Parent-Child场景描述一个index中存在多个type,一个type里存放的是所有项目,还有一个type里存放的是所有资产,每个项都有一些自己资产,现在要查询某一个项目下的所有资产分析每个资产都归属某一个项目里,即资产和项目存在一定的父子关系(归属)解决方法定义mapping:# 父文档mappingproject: properties: pro...

2019-12-17 15:49:16 154

原创 Elasticsearch中nested的使用

nested场景描述:在存储文档时,一个文档的属性包含多个对象时,需要使用nested类型进行定义。场景例子:一个文档的 Tags 属性,Tags可以包含多个Tag,每个Tag都有TagKey和TagValue属性。"Tags": { "Tag": [ { "TagValue": "production", "TagKey": "env" }, { ...

2019-12-17 11:08:51 1906

原创 如何在node中使用grpc

我的环境:ubuntu:16.04(其他系统对应命令需要稍作修改)node :8.1.2(4.0以上即可)首先,创建两个目录 myclient 和 myserver,分别存放grpc的客户端和服务端,命令如下:mkdir myclientmkdir myserver首先,进入myserver中,使用 npm init 进行初始化cd myserver &&...

2019-11-18 08:43:06 1125

原创 ubuntu系统下lua语言环境搭建

环境:ubuntu16.04权限:我是以root用户进行操作的,普通用户需要在命令前加 sudo安装命令(2019/11/15时最新版):curl -R -O http://www.lua.org/ftp/lua-5.3.5.tar.gztar zxf lua-5.3.5.tar.gz cd lua-5.3.5make linux test这一步如果提示make...

2019-11-15 09:51:02 515

原创 Ubuntu 系统下的LAMP环境搭建、关键配置文件解析----Apache2 篇

ubuntu环境下安装Apache2最简单的方式是使用包安装,命令如下:sudo apt-get install updatesudo apt-get install apache2这两条命令执行完之后,就会进行apache2的安装。安装完之后,apache2的配置信息在/etc/apache1目录下,该目录结构如下:---apache2 ---apache2.conf...

2019-11-14 17:25:32 338

原创 个人建站 --步骤及注意事项

今年的双十一不得不说的就是阿里云的服务器了,1核2G的服务器三年才229人民币!而且附赠公网IP,1M带宽!简直爽爆了!!!于是趁机买了一台三年的服务器,下面记录建站的过程:购买服务器后,登录你的阿里云账号,我是用支付宝购买的,用支付宝就可以登录,登录的链接为https://account.aliyun.com/登录之后找到我的订单,我的订单在费用下面,找到我的订单的方式有很多种,随便...

2019-11-11 17:17:33 455

原创 冒泡排序 --分析及代码实现(含改进)

冒泡排序:冒泡排序的名字和排序的过程很形象,大的“泡泡”一点点向上移动。思想: 比较相邻的两个元素,如果第一个比第二个大,则交换这两个元素。对每一对元素做相同的操作,直到没有元素需要比较。编程实现:public class bubbleSort { public static void main(String args[]){ int [] a = {2,1,...

2019-09-26 10:37:14 382

原创 选择排序--分析及代码实现

选择排序 还有几个别名:简单选择排序、直接选择排序。。。由此可见,选择排序应该是所有排序算法中较为简单,容易理解的排序算法。所以,我也将选择排序作为各种排序算法的第一个来分析。思想:选择排序的思想很简单,首先遍历所有元素找到最小的(也可以是最大的,保持一致即可),将它放在数组首位,再遍历剩下的元素,找到剩下元素中最小的,放在首位后面,依次类推,直至结束。编程实现:public cl...

2019-09-25 16:30:04 209

原创 二分法查找(有序数组)

对有序数组进行二分法查找的速率要远远高于遍历。下面是Java语言实现的二分查找发:public class BinarySearch { public static void main (String args[]){ int a[] ={1,2,5,8,9,13,25,36,54,61}; //数组必须有序 System.out.print...

2019-09-24 16:50:00 951

原创 牛顿迭代法的理解

最近没事在看一些算法的东西,看了一会,发现自己脑子一片空白,很多以前至少会一些的东西,现在都忘完了,所以写个笔记,记录此时的心得体会,便于日后回顾。牛顿迭代法,牛顿迭代法的作用就是求函数的近似根。牛顿迭代法的迭代公式为 Xn+1 = Xn - f(Xn)/f '(Xn)。下面以Java语言对函数 f(x) = x的3次方+x+1进行迭代求根。import java.math...

2019-09-24 14:25:57 1832

原创 哈希算法、哈希表的作用与原理

闲谈Hash由于以前对hash的理解就不是很透彻,与是在工作不忙的时候,回首掏了一波hash,并记录一下自己的心得体会。哈希算法和哈希表都不是自然产生的,都是人为的产物,既然是人为了的,那么就可以跟随创造它的目的去深入理解它。哈希算法的最初是为了验证两条信息是否相同,可能你会认为这很简单啊,所有的编程语言都提供的有比较的方法,直接用不就可以了吗,确实,是可以直接用一些类似于equals...

2019-09-23 17:52:27 1588 1

原创 node.js动态对.xlsx文件的解析(文件路径不写死)

最终效果: 点击按钮进行选择文件,选择给定的文件类型(.xlsx,xls)后对文件内容进行解析,将.xlsx或.xls转换为json数据.note: 在知道文件在本地的具体路径时很容易将.xlsx和.xls文件解析成json,所以一般情况会将文件上传至服务器的某个路径下,由后端代码进行读取和转换,但是这样会增加服务器的压力,如果只是需要xlsx中的部分数据,完全没必要将文件上传过去,可以在本地...

2019-09-20 16:47:22 740

原创 linux系统部署项目,运行时验证码乱码

上周遇到一个很坑的Bug,一个项目的运维交由我们部门负载,直接扔过来的就是java源码。由于之前这个项目就已经部署生产环境了,所以在阿里云上直接制作了一个原有系统环境的镜像,将Java源码打包上传,配置一下nginx等。本以为这个任务到此为止了,结果在测试的时候发现,登录的时候出现的验证码图片上的信息看不懂,是一些非常特殊的符号之类的,偶尔也夹杂着一点汉字、数学符号等。对于这个问题中间进行了很多的...

2019-09-16 09:31:16 328

原创 nginx的转发和负载均衡

个人认为nginx这个工具很简单好用,我实在ubuntu16.04的环境下使用的,linux操作系统下安装nginx都十分方便,由于本人只在ubuntu系统上使用过nginx,所以此篇博客只针对ubuntu的环境。Ubuntu安装nginxsudo apt-get updatesudo apt-get install nginxnginx的默认安装路径在etc下,使用nginx做转...

2019-09-06 13:52:21 732

原创 create-react-app项目下,组件render()方法中return返回html元素报错,问题分析与解决

今天准备写一个比较复杂点的前端,为了结构清晰明了,就在create-react-app创建的项目下新建了两个包,一个component存放组件的包,一个styles的样式包,但是我在index.js中引用我自己新建的组件时竟然报错了,报错如下:Error in ./components/LoginComponent.jsModule parse failed: /home/t04886/V...

2019-08-16 10:09:17 4638 2

原创 技巧:如何最简单的在前端代码中使用Antd组件

环境: 语言:node.js 编辑器:VScode 脚手架:create-react-app这是我的环境,其他环境大致类似。首先打开Antd的网站,寻找适合的组件Antd的组件地址:组件这里以一个表单为例:截图的右下角有四个选项,点击第二个,沙盒。如下图在VScode中创建一个组件的类,名字与沙盒中clas...

2019-08-12 17:48:31 2871

原创 IP地址详解

IPv4地址为32位二进制数表示,一般每八位用十进制显示,之间使用点隔开(点分十进制)!例如IP为192.168.1.1的网络地址在计算机中的真正表现形式应该是下面那样(为了便于识别,每八位之间加了空格,计算机中并没有加空格)eg 192. 168. 1. 1 11000000 10101000 00000001 0000...

2019-08-09 16:13:59 1735

转载 一篇通俗的让人了解互联网基层的文章

查看文章

2019-08-08 15:24:17 95

原创 ARP(Address Resolution Protocol,地址解析协议)

ARP负责将某个IP地址解析为对应的MAC地址,在以太网中,两台主机的进行直接通信是必须知道目标主机的MAC地址。 两台计算机要进行直接通信需要知道MAC地址,计算机A对要传输给计算机B的数据进行封装成数据帧,帧中有源MAC地址(主机A的地址)和目标MAC地址(计算机B的地址)。 问题来了,在同一个网络中,计算机A只知道计算机B的IP地址,想要进行通信该怎么办?这个时候就需要地址解析协...

2019-08-07 17:51:48 663

原创 IP地址和MAC地址的不同作用

IP地址:(逻辑地址)IP地址都很熟悉,IP地址代表我们在网络中的一个位置。MAC地址:(物理地址)MAC地址可能都听说过,却不熟悉,MAC地址存在网卡中,网卡生产厂家会在生产网卡时将一个唯一的值烧入ROM(read only memory 只读存储)上,每一个网卡都有自己唯一的MAC地址。我们在使用电脑上网时,台式机插网线,网线插的地方(RJ45借口)就是台式机的网卡,笔记本也一样,有些...

2019-08-07 17:28:05 1212

转载 base64加密解密

</div> <div class="operating"> </div&g...

2019-07-17 13:57:35 504

转载 prop-types快速理解

1.引言--JavaScript就是一个熊孩子 1.1对于JSer们来说,JS是自由的,但同时又有...

2019-07-08 13:20:12 1632

原创 Ubuntu16.04系统搜狗输入法候选框乱码解决

今天搜狗输入法的候选框突然变成乱码,打字的时候看字怪怪的很不舒服,恶心了一会,最后留下可用的两张方式:1.kill掉搜狗的fcitx ,命令如下killall fcitx然后再切换至搜狗输入法2.若是第一种方式尝试无效,则把搜狗的配置文件都删除,先进入你的搜狗安装位置,在执行以下命令cd ~/.config && rm -rf SogouPY* sog...

2019-06-19 14:13:16 327

原创 Ubuntu下nginx(包管理安装) tcp代理转发

场景:希望用户对A端口发送请求,请求转发至目标端口B首先nginx1.9之后支持TCP的转发,需要stream模块的支持。可以使用源码安装,源码安装的配置详细过程可以参考https://www.cnblogs.com/flyingeagle/articles/5789269.html也可以使用最简单的包管理安装,使用包管理安装的nginx和源码安装的nginx文件目录有很大的差别,源...

2019-06-19 09:22:12 1838

原创 Java中集合的分析

Java中集合分为Collection和Map:1.Collection常用的一些接口和类:Collection派生出三个子接口List,Set,Queue;List:存放有序可重复元素Queue:队列(api的介绍为在处理元素前用于保存元素的collection)Set:存放无序不可重复元素实现List接口的集合主要有Vector,ArrayList,LinkedLi...

2019-02-07 14:26:46 151

原创 Java中String,String Buffer,StringBuilder三者区别(源码上分析)

1.String类的部分源码从以上代码可知String类实现了三个接口1.Java.io.Serializable:可以实现序列化和反序列化2.Comparable&lt;String&gt;:可以进行比较,可与之比较的对象为指定的泛型-String3.CharSequence:是一个char型的队列也可以看出String类有三个私有属性1.char[]  value : ...

2019-02-06 04:59:03 124

原创 Spring中的IOC(控制反转)与DI(依赖注入)理解由浅入深-适用于小白

IOC(Inversion of Control )与 DI(Dependency injection)是sping的主要思想,不是技术!IOC控制反转:一般我们在一个类中调用其它的类(非静态类),需要新建一个该类的实例或者从其他途径获取该类的实例,然后对通过该实例进行操作,例如:创建一个dept类(当前类)创建一个employ类(被调用类)在dept类中调用employ的work...

2018-09-25 11:13:52 411

原创 Java多线程的创建与方法介绍

简单的来说,多线程的创建有两种方式:、1-&gt; 编写一个线程类继承Thread类,重写run方法;2-&gt;编写类实现Runnable接口,重写run方法,然后将此类的实例对象作为参数实例化一个线程/*继承Thread类创建多线程*/public class Test extends Thread{ @Override public void run() { System...

2018-06-12 12:53:34 126

原创 AJAX是什么and怎么使用

AJAX是什么?AJAX 是Asynchronous JavaScript and XML(异步的JavaScript和XML),在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术优点:在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术缺点:不需要任何插件,但是需要用户允许JavaScript脚本在浏览器上执行 AJAX怎么使用AJAX的使用...

2018-06-08 01:38:48 824

空空如也

空空如也

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

TA关注的人

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