- 博客(126)
- 资源 (4)
- 收藏
- 关注
转载 为什么要用redis而不用map做缓存?
缓存分为本地缓存和分布式缓存。以java为例,使用自带的map或者guava实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着jvm的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。使用redis或memcached之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持redis或memcached服务的高可用,整个程序架构上较为复杂。总结有以下六点: Redis 可以用几十 G 内存来做缓存,Map 不
2021-10-10 14:59:48 701
原创 Ubuntu16.0.4 安装rebar3指南
1.下载rebar3wget https://s3.amazonaws.com/rebar3/rebar32.修改rebar3权限为可执行chmod +x rebar33.安装./rebar3 local install4.配置rebar3全局环境变量找到rebar3的安装路径将rebar3配置到环境变量profile中。使环境变量生效:source /etc/profile验证rebar3安装成功。...
2021-06-24 22:56:42 537
原创 Ubuntu16.0.4 Erlang卸载与安装
1.Erlang卸载(1)which erl(2)sudo rm -rf /usr/bin/erl(3)sudo rm -rf /usr/lib/erlang2.Erlang安装2.1 Erlang安装wget http://erlang.org/download/otp_src_20.0.tar.gztar -zxvf otp_src_20.0.tar.gzcd otp_src_20.0./configuremake -j8make install2.2 Erla
2021-06-24 22:44:52 2518
原创 VSCode Debug Erlang工程配置
目录1.安装Erlang2.VSCode中安装Erlang插件3.安装rebar34.用rebar3新建项目5.开启Debug模式本指导文档为Windows10系统下VSCode DebugErlang工程的配置指南,同样适用于远程Linux(已在Ubuntu上亲自测试可用)环境,配置大同小异。1.安装Erlang下载OTPwinsows版Erlang安装包OTP24,根据自己系统的情况选择合适的安装包下载,安装,在PATH中配置环境变量(C:\Program Files\.
2021-06-24 22:23:46 1591 2
原创 compile error: error in parse transform ‘lager_transform‘
Erlang项目中使用lager包,OTP之前使用Version 20,现在升级到Version 24,编译make出错,compile error: error in parse transform 'lager_transform'分析是lager版本低了,进入rebar.config文件,将lager的tag修改为最新版本。{lager,".*",{git,"https://github.com/erlang-lager/lager",{tag,"3.9.1"}问...
2021-06-24 18:26:45 552
原创 VSCode远程连接Ubuntu问题1:The remote host may not meet VS Code Server‘s prerequisites for glibc and libstd
VScode配置远程免密连接Ubuntu16.0.4,一直以来使用正常,今天使用VSCode报错,错误具体信息如下:The remote host may not meet VS Code Server's prerequisites for glibc and libstdc++分析以为是Ubuntu依赖库glibc和libstdc++问题,选择更新和升级Ubuntu。sudo apt-get upgrade发生错误信息如下:E: You don't have enough fr
2021-06-24 18:13:34 18474 15
原创 Erlang关键字之behaviour
使用 Erlang 编程的人都知道 OTP,而基于OTP 框架创建进程的时候,常用的有四大 behaviour:supervisor gen_server gen_fsm gen_event1.behaviour的定义以及用途?定义:在 erlang 的编译器中,behaviour 的作用是用来定义一个规约。定义好这个规约之后,任何遵守这个规约的模块,必须按照规约中的要求,使用 -export([]). 导出对应的函数,导出完这些函数后,这些导出函数的调用将由 behaviour 统一支配.
2021-06-17 22:31:12 927 1
原创 Erlang的类型规范type和opaque的比较
Erlang中声明自定义类型,使用关键字type和opaque。1.type的使用方式-module(module1).-export_type([my_tup2/0]).-type my_tup2() :: {my_tup2, atom(), atom()}.-module(module2).-export([main/0]).-spec foo2(module1:my_tup2()) -> ok.foo2({my_tup2, _, _}) -> ok.mai
2021-06-17 21:28:01 479
原创 VSCode终端中文乱码解决方法
VSCode终端启用的是cmd.exe, VSCode终端编译代码的时候,出现中文乱码,修改VSCode右下方的编码方式没有解决问题。通过chcp指令,看到cmd的编码设置,代码页编号936代表的是GBK2312,需要修改成UTF-8的编码才能解码显示正常,UTF-8对应的代码页编号是65001,执行指令chcp 65001就能将cmd的编码设置成UTF-8,这样就解决乱码问题。1.查看原编码2. 设置新的编码从以上可以看出,解码输出正常了。...
2021-06-17 19:33:59 916 1
原创 IPv6地址基础知识体系
目录1.IPv6地址格式1.1 站前点缀1.2 Subnet ID1.3 Interface ID2.IPv6地址的分类及寻址模式2.1 单播(Unicast)地址2.1.1 全球唯一地址(Global Unique Address)2.1.2 唯一本地地址(Unique Local Unicast Address)2.1.3 站点本地地址(Site-Local Address,已弃用)2.1.4 链路本地地址(Link-Local Address)2.2 组播地
2021-05-22 21:02:22 5932
原创 Ubuntu16.04开放指定端口
本文使用的系统是Ubuntu16.0.4,其它的系统的操作是有差异的,请注意。1.安装iptables,开放端口一般情况下,Ubuntu系统会自动安装好iptables,如果没有的话,那就手动安装。1.1 安装iptablessudo apt-get install iptables1.2 开放端口sudo iptables -I INPUT -p tcp --dport 5432-j ACCEPT1.3 保存修改的配置 sudo iptables-save完成上.
2021-05-22 16:32:50 1509
原创 Ubuntu16.0.4安装Samba服务实现文件共享
1.安装sudo apt-get install samba2.配置修改配置文件:vi /etc/samba/smb.conf在最后加上:[share] path = /home/gaojs/work valid users = share available = yes browseable = yes writable = yes public = no3.创建Samba用户sudo useradd sharesudo smbpasswd -.
2021-04-20 22:34:42 164
原创 使用IPv6格式的URL访问HTTP服务器
形式如:fe80::a00:27ff:fe8a:8197/64,以fe80开头的IPv6地址是Local IPv6地址。访问格式:http://[ipv6地址]:8888/index.htmlipv6地址例如:2001:470:c:1818::2 fe80::f1f1:b510:36c2:ece7%23访问地址:http://[2001:470:c:1818::2]:8888/index.html服务器开启里ipv6的服务,就可以通...
2021-04-02 22:48:35 15237
原创 Centos7设置防火墙开启端口
目录1.操作防火墙常用指令1.1 关闭防火墙1.2 重启防火墙1.3 防火墙常用指令2.操作端口常用指令2.1 开放端口2.2 查询端口常用指令CentOS升级到7之后,发现无法使用iptables控制Linuxs的端口,Centos 7使用firewalld代替了原来的iptables。1.操作防火墙常用指令1.1 关闭防火墙systemctl stop firewalld.service #停止firewallsystemctl d
2021-04-02 21:09:44 281
原创 Ubuntu常见问题1: Temporary failure resolving ‘us.archive.ubuntu.com‘
1.问题描述连接不上Err:1 http://us.archive.ubuntu.com/ubuntu xenial/main amd64 liblua5.2-0 amd64 5.2.4-1ubuntu1 等Ubuntu相关库的官网,报错日志如下:root@scott:/home/scott# apt install yumReading package lists... DoneBuilding dependency treeReading state information... Do.
2021-03-23 17:56:02 8775 4
原创 ElasticSearch常见问题3:elasticsearch.exceptions.ConnectionTimeout: ConnectionTimeout caused by
1.问题描述错误日志:elasticsearch.exceptions.ConnectionTimeout: ConnectionTimeout caused by - ReadTimeoutError(HTTPConnectionPool(host='192.168.56.100', port=9200): Read timed out. (read timeout=10))2.原因分析ElasticSearch正常运行,在没有特别设置的情况下,timeout 的值是10s。3.解决
2021-03-19 00:12:37 7740 2
原创 ElasticSearch常见问题2:elasticsearch.exceptions.TransportError:TransportError(406, ‘Content-Type header)
使用Python脚本向ElasticSearch中插入数据的时候,出现以下报错信息:raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)elasticsearch.exceptions.TransportError: TransportError(406, 'Content-Type header [] is not supported')安装的pyt
2021-03-15 17:37:38 3062
原创 Virtualbox虚拟分配空间扩展(适用于动态分配磁盘)
情况说明:Virtualbox虚拟分配空间扩展,适用于动态分配存储的情况,静态分配存储的情况可能会报错。步骤:1.进入VitualBox所在的安装目录:cd C:\Program Files\Oracle\VirtualBox2.查看虚拟磁盘空间信息,确认确实是需要扩容的虚拟硬盘。VBoxManage showhdinfo "F:\VituraBox\ES_UbuntuServer\ES_UbuntuServer\ES_UbuntuServer.vdi"3.扩展虚拟分配空间。
2021-03-15 15:27:28 6420 6
原创 MongoDB常见问题1:ERROR: child process failed, exited with error number 14
MongoDB启动报错,ERROR: child process failed, exited with error number 14。可能的原因:没有正常关闭MongoDB引起的,比如使用kill -9 <pid>直接杀死了MongoDB的进程; 在插入大量数据的时候被多线程锁死(数据量过大,内存不足)。解决办法:找到dbpath里的mongod.lock文件,删除mongod.lock文件; 找到MongoDB存放log的目录,删除log目录里的所有文件; 以修复方式启
2021-03-13 23:08:23 13787 6
原创 Python脚本向MongoDB中批量写入数据
1.Python脚本写入数据库#!/usr/bin/python3import pymongoimport jsonfrom bson import json_utilimport uuidfrom datetime import datetimemyclient = pymongo.MongoClient("mongodb://10.8.20.137:27017/")mdb = myclient.wdlacsmycol = mdb["deviceTest"]for num in
2021-03-11 22:49:19 1500
原创 Ubuntu上安装ElasticSearch
1.ElasticSearch简介Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene(TM) 基础上的搜索引擎。ElasticSearch主要可以进行以下这些工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。 实时分析的分布式搜索引擎。 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。Elastic有一条完整的产品线及解决方案:Elasticsearch、Kibana、Logstash等,前面说的
2021-03-10 21:37:28 3228
原创 ElasticSearch常见问题1:java.lang.IllegalArgumentException:Limit of total fields [1000] has been exceeded
1.出现问题从MongoDB中向ElasticSearch中导入数据时,导入数据界面和ElasticSearch控制界面分别出现以下异常:导入程序出现以下异常:ERROR 2021/03/10 17:06:00 index: [wdlacs__devicetest _doc 60488289290c6fd5947a6028 {illegal_argument_exception Limit of total fields [1000] has been exceeded %!s(boo
2021-03-10 21:03:46 3253 1
原创 VitualBox下Ubuntu配置桥接模式实现上网
1.打开virtualbox,选择【设置】-【网络】将连接方式改为【Bridged Adapter】2.在Ubuntu中,修改配置文件: sudo vi/etc/network/interfacesauto loiface lo inet loopbackauto eth0iface eth0 inet staticaddress 10.8.20.138netmask 255.255.255.0 #此处改成您的掩码gateway 10.8.20.1 #此处.
2021-03-09 19:27:16 969 2
原创 ElaticSearch和MongoDB的对比
目录1.ElasticSearch VS MongoDB2.MongoDB和ElasticSearch定位的区别3.两者读写数据的异同4.部署和资源占用5.可用性和容错5.1两者分布式方案的一些不同6.文档型数据库的特点和问题6.1无schema6.2鸡肋的Collection 和 Type6.3 弱事务6.4无join支持6.5 Bully的选主算法的缺陷7.其他8.适用场景9.总结1.ElasticSearch VS MongoDB...
2021-03-06 20:35:32 1309 1
原创 Ubuntu系统安装Postgres
目录1.安装环境2.Postgres安装步骤2.1 更新系统2.2 安装PostgreSQL服务器和客户端2.3 PostgreSQL启动、停止、重启3. 创建用户和数据库3.1 创建数据库用户3.2 为新用户设置密码3.3 创建数据库3.4 登录数据库1.安装环境OS: ubuntu server 16.042.Postgres安装步骤2.1 更新系统sudo apt-get upgrade2.2 安装PostgreSQL服务器和客户端
2021-01-27 23:54:13 904
原创 Git常用指令
1.Git常用指令1.1 比较两个代码文件:git diff filenamegit status之后有很多文件不同,如下为了提交合并代码,通常需要比较单个代码文件和git中的差别,指令:git diff 文件路径/文件名
2021-01-07 20:25:40 105
原创 AngularJS http设置传参方式form data
$scope.formData = {}; $http({ method: 'POST', url: '/user/', // pass in data as strings data: $.param($scope.formData), // set the headers so angular passing info as form data (not request payload) headers.
2020-12-26 23:05:16 639
原创 Git pull:There is no tracking information for the current branch.
问题1:Please enter a commit message to explain why this merge is necessary, especially if it merges an updated upstream into a topic branch.解决方法1:1.press "i" (i for insert)2.write your merge message3.press "esc" (escape)4.write ":wq" (write & qui
2020-12-19 12:31:28 431 2
原创 Git提交代码步骤
目录1.Git提交代码步骤1.1 第1步:查看当前状态:git status1.2 第2步:提交代码到本地git缓存区:git add1.3 第3步:推送代码到本地git库:git commit1.4 第4步:合并远程与本地代码:git pull1.5 第5步:提交本地代码到远程仓库:git push1.Git提交代码步骤1.1 第1步:查看当前状态:git status提交代码第1步:git status 查看当前状态当你忘记修改了哪些文件的时候可以使用 git..
2020-12-19 11:54:55 22405 5
原创 Centos Apache安装到指定目录
1.依赖库的下载及安装apr、apr-util、zlib、openssl1.1 apr的安装 apr下载路径:https://mirror.bit.edu.cn/apache//apr/apr-1.7.0.tar.gz wget https://mirror.bit.edu.cn/apache//apr/apr-1.7.0.tar.gz tar -zxvf apr-1.7.0.tar.gz cd apr-1.7.0 ./configure --prefix=...
2020-12-14 18:33:53 513
原创 Ubuntu Monogodb安装与配置
1.MongoDB安装1.1 MongoDB安装包官网下载进入MongoDB官方网站,下载所需版本的安装包,下载地址:https://fastdl.mongodb.org/linux/mongodb-shell-linux-x86_64-ubuntu1604-4.0.21.tgz1.2 解压下载Mongodb安装包解压下载的MongoDB安装包 tar -zxvf linux-x86_64-ubuntu1604-4.0.21.tgz将解压目录移动到/usr/local目录下
2020-12-06 00:28:08 801
原创 Ubuntu Vernemq卸载安装及集群搭建
1.Vernemq卸载1.1 查询Ubuntu上安装的软件列表 dpkg --list1.2 卸载并删除2.Vernemq安装
2020-11-14 12:54:39 1138
原创 Virtual Studio Code远程调试Nodejs项目
1.远程环境配置1.1 Ubuntu环境安装并开启SSH server功能 apt-get install openssh-server1.2 Windows VSCode安装远程插件Windows上VSCode需要安装Remote Development插件,安装 Remote Development扩展后,其它的Remote-SSH会自动安装,若不自动安装,请手动按照截图安装。配置用户名、密码认证,编辑配置文件setting.json。2.远程Nod...
2020-11-13 21:48:23 647
原创 Ubuntu卸载及安装node和npm
1.node和npm卸载干净1.1 apt-get卸载 sudo apt-get remove --purge npm sudo apt-get remove --purge nodejs sudo apt-get remove --purge nodejs-legacy sudo apt-get autoremove1.2 手动删除npm及相关目录 rm -r /usr/local/bin/npm rm -r /usr/local/lib/n
2020-10-27 23:52:03 4793
原创 Alpine Linux 安装 Docker
1.Alpine Linux Docker简介Alpine Linux是一个基于安全的轻量级 Linux 发行版,基于 musl libc 和 busybox。Alpine Linux 由于简单安全,非常适合 docker 的 linux 发行版,并且被 docker 官方所推荐用来取代 ubuntu。它不但非常小,仅有 5m 左右,而且经过优化可以在 RAM 中运行。2.Alpine Linux Docker安装首先要注意 docker 的包是位于社区仓库里的,默认源里可能没有,比如我这...
2020-10-15 20:57:42 3120 1
原创 Alpine Linux虚拟机安装
目录1.Alpine Linux介绍2.Alpine Linux安装与网络配置2.1 Alpine Linux安装2.1.1 下载Alpine Linux的ISO镜像2.1.2 新建虚拟机2.1.3 加载ISO镜像2.1.4 安装2.2 Alpine Linux网络配置2.2.1 Alpine Linux连接互联网2.2.2 Alpine Linux使用SSH客户端登录2.2.3 Alpine Linux IP配置1.Alpine Linux介绍Alpin
2020-10-13 15:52:21 1502
原创 Nginx TCP反向代理突破端口限制
一:Nginx TCP反向代理 Nginx使用proxy_bind负载tcp socket,解决代理端口耗尽。当nginx用作代理服务器时,对于客户端身份属于Server,对于服务端身份属于Client,则ip是固定的,服务器的ip:port也固定,因此连接数限制为Nginx服务器本身的端口数 ,即65536。实际上,它可以是Nginx服务器的一个网卡配置了多个ip,并且通过增加客户端的ip数量来打破限制。 借助Nginx的proxy_bind和split_client函数,它突破了单机...
2020-09-21 11:04:35 4834
原创 VirtualBox Ubuntu16虚拟机网络环境NAT/Host Only模式
VirtualBox Ubuntu16虚拟机网络环境NAT/Host Only模式本文以Virtual为例,Ubuntu16虚拟机网络环境NAT和Host Only模式配置。1.三种虚拟机网络环境简介1.1 NAT模式1.NAT模式特点如果主机可以上网,虚拟机可以上网。虚拟机之间不能ping通。虚拟机可以ping通主机(此时ping虚拟机的网关,即是ping主机)。主机不能ping通虚拟机。2.应用场景虚拟机只要求可以上网,无其它特殊要求,满足最一般需求。3.配
2020-06-01 18:18:53 1361
Spark快速大数据分析.zip
2019-06-11
Spark高级数据分析 (美) sandy ryza;uri laserson; 龚少成(译) 人民邮电出版社 .zip
2019-05-29
高性能MySQL_第三版.zip
2019-05-26
oracle jdbc驱动 ojdbc14-10.2.0.4.0.jar
2018-09-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人