常见IT基础
开心自由天使
这个作者很懒,什么都没留下…
展开
-
Java开发涉及的主流框架相关技术
常见的Java开发框架分类和整理WEB 容器https://tomcat.apache.org/Jettyhttps://www.jetty.com/JBosshttps://www.jboss.org/Resinhttps://caucho.com/products/resin数据库H2https://h2database.com/SQLitehttps://www.sqlite.org/MySQLhttps://www.mysql.com/Oraclehttps://ww原创 2022-12-07 09:28:53 · 250 阅读 · 0 评论 -
移动设备原型展示方案---无线网卡内网穿透+固定IP解决方案
移动设备原型展示方案—无线网卡内网穿透+固定IP解决方案场景描述:1.随时随地(动车上,轿车上,办公室,客户现场,家里)任何时候2.在笔记本电脑上展示基于浏览器的应用程序,3.远程的用户可用通过电脑和手机实时访问笔记本电脑上的应用内容,比如说一个基于SpringCloud/SpringBoot 开发的一个原型演示。方案思路:内网穿透移动设备上必须有个固定的无线IP地址这个IP地址必须是跟任意接入的热点都保持不变需要有个公网NPS服务器(如果没有需要搭建一个或借用别人的NPS服务器)需要原创 2022-04-15 23:58:49 · 3506 阅读 · 0 评论 -
一键读图OCR 轻松搞定任意网页上出现的文字提取
谷歌Chrome浏览器 有个插件:一键读图OCR用谷歌浏览器打开以下链接,点击 添加扩展, 直接安装即可。https://chrome.google.com/webstore/detail/%E4%B8%80%E9%94%AE%E8%AF%BB%E5%9B%BEocr/agepkkdokhlaoiaenedmjbfnblfdiboc/related?hl=zh-CN效果操作演示:如何截取360图书馆的文章,并把文字提取出来测试:http://www.360doc.com/content/20/0原创 2021-09-29 05:36:48 · 5106 阅读 · 0 评论 -
java实用工具 根据指定的类名查找jar包
日常调试开发Java应用程序时经常会遇到一个问题:依赖库缺失或多了多余的依赖,或者版本不对的错误。如何快速定位这种问题呢? 这个需要一个有力的工具来解决这个问题。findjar 可以根据类名,在指定目录中搜索是否存在指定的jar文件,然后返回包含指定类名的jar文件全路径,非常好用。touch findjarchmod +x findjar#!/usr/bin/env bashif [[ ($# -ne 1) && ($# -ne 2) ]]then echo "用原创 2021-09-28 10:05:01 · 2147 阅读 · 0 评论 -
倒排序方式显示Java进程内存占用
平时经常要调试查看java 进程内存占用情况,手动的方式,topps aux之类的命令不是很直观于是写了个工具直观的按照倒排序方式显示java进程内存占用情况。ubuntu@ubuntu:/var/server/software$ cat showMemory.sh#!/usr/bin/env bashprocIdList=$(jps -l | awk '{ print $1 }')info="";for id in $procIdList do procName=原创 2021-09-27 15:19:24 · 158 阅读 · 0 评论 -
SED替换任意字符串当作普通字符串替换
如果您需要转义KEYWORD字符串,以下是您需要的:sed -e 's/[]\/$*.^[]/\\&/g'请记住,如果您使用的字符不是/分隔符,则需要将上述表达式中的斜杠替换为您正在使用的字符。练习: 把t2.sh 文件里出现的字符串/usr/myinstalled_software/13.0.1.0-187 替换为 ${soft_root} 字符串#1.定义目标KEYWORD="/usr/myinstalled_software/13.0.1.0-187";REPLACE="\$原创 2021-08-03 05:12:24 · 650 阅读 · 0 评论 -
macOS Error: /bin/bash: bad interpreter: Operation not permitted
macOS Error: /bin/bash: bad interpreter: Operation not permitted昨天执行脚本遇到了一个奇怪的错误:macOS Error: /bin/bash: bad interpreter: Operation not permitted网上搜索了国外的资料,找到了解决办法:这通常是由于为文件设置了“隔离”文件系统元数据(扩展属性),从而阻止了它的执行。要查看文件(称为“脚本文件.sh”)的扩展属性,请执行以下命令:xattr -l 脚本文件原创 2021-07-27 06:11:29 · 1179 阅读 · 0 评论 -
centos8 修改物理网卡名称为eth0
CentOS 8 / RHEL 8为网络接口使用一致且可预测的设备名称。此功能帮助我们定位和区分网络接口。由于这种可预测的命名,您机器的网络接口名称可能已从eth0更改为ensXX或enpXsX。在这里,我们将看到如何在CentOS 8 / RHEL 8上将网络接口名称更改为eth0。当前网络接口名称如果您在下面看到ip a命令的输出,则我的CentOS 8 / RHEL 8系统有一个名为enp0s3的网络适配器。这只是VirtualBox的情况,它可能会因您的系统硬件而异(在VMware的情况下原创 2021-06-22 05:47:26 · 1716 阅读 · 1 评论 -
修改程序权限,在 Mac上控制对文件和文件夹的访问
在 Mac 上控制对文件和文件夹的访问最近遇到一个奇怪的问题,我的ITerm 竟然访问不了我的Downloads 文件夹,权限不够。1.打开Mac OS. 左上角的苹果????图标,选择系统偏好设置。2.点击安全与隐私3. 点击 隐私4.左边的菜单可以滚动的,选择文件与文件夹,5.选择你的程序,或者点击+打开你的程序,最近遇到一个奇怪的问题,我的ITerm 竟然访问不了我的Downloads 文件夹,权限不够。网上找了参考资料,发现可以系统偏好里修改就可以了。具体操作如下,对于其他程序一样适用。1原创 2021-06-16 08:58:26 · 8561 阅读 · 0 评论 -
什么是 ARPU 为什么你应该关心 ARPU?
什么是 ARPU?ARPU 代表每个用户的平均收入,或者在某些情况下,每单位的平均收入。ARPU 是用于计算一段时间内每个用户或单位获得的平均收入的公式。这种计算使企业能够深入分析每个客户级别的增长潜力,并帮助他们模拟创收能力。ARPU 的计算方法是将总收入除以一段时间内的平均用户数。由于其在建模增长中的作用,ARPU 是 SaaS 订阅业务最重要的收入指标之一。SaaS ARPU: 从价格智能计算和优化在几分钟内构建仪表板和报告触手可及的基本指标:增长、群组分析、单位经济等。为什么你应该关心 A原创 2021-06-08 11:13:02 · 9230 阅读 · 0 评论 -
C++和C 混合编译链接时报错CMake Error: Cannot determine link language for target
CMake Error: Cannot determine link language for target解决办法:project(demo LANGUAGES C CXX) #CMake Error: Cannot determine link language for target 如果这里不添加C 的话会报这个错误或者project(demo)原创 2021-02-20 15:09:49 · 8352 阅读 · 1 评论 -
创建加密的ETCD docker集群 实战记录
https://pcocc.readthedocs.io/en/latest/deps/etcd-production.html部署安全的etcd集群。本指南说明了如何设置高可用性etcd服务器集群以及如何确保与TLS的通信安全。 本指南改编自官方的etcd文档,您可以在其中找到更多详细信息。证书生成要启用TLS,您需要生成自签名证书颁发机构和服务器证书。 在此示例中,我们将考虑使用以下节点...原创 2019-10-28 14:36:11 · 1096 阅读 · 0 评论 -
Linux cenots shell 批量关闭指定关键字的进程,并重新启动新的进程 进程重新启动
#!/bin/bash#确保shell 切换到当前shell 脚本文件夹current_file_path=(cd"(cd "(cd"(dirname “$0”)"; pwd)cd ${current_file_path}echo ‘当前进程pid=’KaTeX parse error: Expected 'EOF', got '#' at positi...原创 2018-11-15 14:55:55 · 698 阅读 · 0 评论 -
如何在CentOS7上创建Kubernetes k8s集群
https://www.digitalocean.com/community/tutorials/how-to-create-a-kubernetes-cluster-using-kubeadm-on-centos-7简介Kubernetes是一个容器编排系统,可以大规模管理容器。 Kubernetes最初由谷歌根据其在生产中运行容器的经验开发而成,是一个开源的,并由世界各地的社区积极开发。...原创 2019-06-25 18:21:07 · 2338 阅读 · 2 评论 -
解决debian ubuntu apt install 和 apt-get install 依赖问题
最近在制作raspberry-pi 关于opencv4.10 python3.7 相关镜像时,涉及到了Debian 系统, 里面需要安装很多相关的包,然后进行编译。其中apt install 或 apt-get install 这个环节真是让人崩溃,总是遇到包冲突或包版本不对,尝试了网上很多方法,没有一个能彻底解决。综合起来,总结了国外各种解决方式,得到了一个可行的解决办法:#ubunt...原创 2019-07-08 15:37:13 · 6662 阅读 · 0 评论 -
把docker状态变成kafka实时数据流---一行代码写了2天的shell代码
shell 命令行实时打印docker 状态,并添加当前的时间戳,变成json字符串,每行一个,持续不停的输出。结果将给filebeat 采集并实时送到kafka 集群做实时数据流分析的源头,发给Flink 做各种实时数据流分析.这个看起来很简单,其实要实现起来难度不小,尝试了多次都失败了,只是目标不断的趋近,到此刻终于彻底解决了这个问题。禁止stdio缓存实时输出docker st...原创 2019-07-13 00:38:47 · 202 阅读 · 0 评论 -
kettle 安装实录
1.部署mysql 实例linyingjiedeMacBook-Pro:5.x linyingjie$ more start-mysql-docker.sh#!/bin/bashdocker stop mysqldocker rm mysqldocker run -d --name mysql \-p 3306:3306 \-v `pwd`/data:/var/lib/mys...原创 2019-07-04 19:25:10 · 386 阅读 · 0 评论 -
Maven 配置文件 setting.xml 的读取顺序
Maven 配置文件 setting.xml 的读取顺序打开终端工具,运行 mvn 命令时, setting 配置文件的读取规则:1、优先从 ${user}.m2 目录下读取 setting.xml2、当 ${user}.m2 目录下不存在 setting.xml 时,从 ${M2_HOME}\conf 目录下读取3、IDEA 中即使指定了 setting.xml 文件,在 IDEA te...原创 2019-07-05 10:04:23 · 1835 阅读 · 0 评论 -
如何快速获取设备ip地址
在日常调试特种设备,特别是没有屏幕,键盘鼠标的情况下,只是知道这个设备开启了dhcp, 和用户密码等,没有显示器,键盘鼠标,如何获取这个设备的IP,进而进行控制呢?保存下列代码为 netscan.sh 并设置执行权限 chmod +x netscan.sh#!/usr/bin/env bashdomain=`echo $1`ip_start=`echo $2| cut -d "," ...原创 2019-07-29 18:18:21 · 6884 阅读 · 0 评论 -
使用树莓派3B+ 制作一个属于自己的无线AP 无线路由器 一个Wi-Fi热点
前提条件:硬件准备: 树莓派 raspberry pi 3B+ TF卡一张 8GB以上,操作电脑一台软件准备:如果您(或亲近的人)有生意(咖啡,餐馆,理发师或医生,简而言之,人们可能会等待的地方),您很可能已经不得不为您的客户提供互联网接入服务,想要提供你的盒子的密码。同样,您可能已经想要创建一个与Internet隔离的内部网络,例如在小公司内交换文件,等等。对于所有这些情况,最简单的解...原创 2019-08-06 16:38:46 · 2931 阅读 · 0 评论 -
Maven编译Docker 镜像并推送到Nexus
[ERROR] No plugin found for prefix ‘docker’ in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/linyingjie/.m2/...原创 2019-08-16 16:18:22 · 1867 阅读 · 0 评论 -
苹果电脑Mac添加Docker Nexus自制证书
前提条件:a. Nexus docker 镜像库已经搭建成功.域名:example.com SSL端口:8443docker push 端口1443 docker pull 端口2443b. Mac系统先准备好证书.(这个文件大小1KB左右) 如果不到100个字节,可能是导出失败,请重现导出. 必须确保这个文件正常.export NEXUS_DOMAIN=example.com ...原创 2019-06-04 16:27:32 · 658 阅读 · 0 评论 -
配置Mac访问Nexus自制证书的maven仓库
配置Mac访问Nexus自制证书的maven仓库前提条件 1.Nexus 服务器已经设置成功好了,可以远程访问前提条件 2. maven本地仓库已经设置为nexus.example.com问题解决办法测试前提条件 1.Nexus 服务器已经设置成功好了,可以远程访问前提条件 2. maven本地仓库已经设置为nexus.example.com alimav...原创 2019-05-31 10:43:15 · 489 阅读 · 0 评论 -
screen命令 移动办公环境下ssh的正确使用方式
经常在动车上,快下班的时候ssh任务还没跑完成,又不想用 nohup &到后台运行,因为有些任务是交互式的,情况比较复杂。如何才能随时随地继续之前的长时间ssh 命令窗口里的任务呢?特别是动车上,过隧道的时候,网络就没了。要出了隧道才有信号。这样高速移动的环境下使用ssh 连接远程服务器进行开发工作是个很大的挑战。在这里插入图片描述#macbook 上使用screen 这个命令...原创 2018-12-13 22:05:53 · 242 阅读 · 0 评论 -
vmware vmware_guest ansible 添加磁盘的方法
#https://github.com/ansible/ansible/issues/26420 坑… 添加的磁盘必须比原来的大才能正常添加进去.参数传入演示 2个参数#user_vcenterconfig=?,#user_host_list=?显示传入#user_vm_network=?#disk_size_gb=?- set_fact: max_wait_time_in_se...原创 2018-12-19 16:41:42 · 820 阅读 · 0 评论 -
如何在多个java版本之间随意切换Java环境
软件开发和测试中经常要在不同的Java版本之间来回切换,最常见的是从其他Java版本(Java9,Java10,Java11)切换到Java8, 特别是使用Scala,Spark,目前还只是支持java8,必须切换到java8环境,否则无法正常编译和运行.这个问题,我有个比较好的解决办法:创建一个目录,存放一下java8 java11 2个环境切换脚本./Users/happy/happys...原创 2018-11-21 06:11:09 · 6032 阅读 · 1 评论 -
如何查看spark版本和scala版本
1.进入命令行状态windows 电脑方法一:在系统桌面左下侧搜索栏输入CMD或者命令提示符,右键点击命令提示符在右键菜单中点击:以管理员身份运行,可以打开系统【管理员命令提示符】窗口。苹果电脑: 打开终端在 Mac 上打开 Finder 窗口,然后在「应用程序」目录中直接搜索“终端”关键字,也可以搜索到;2.在命令行窗口输入,然后回车 java -version,确认你的java...原创 2018-11-21 05:48:29 · 42122 阅读 · 2 评论 -
virtualbox 自动创建虚拟机时,IP无法自动设置的3个坑
之前用的好好的vagrant+virtualbox 自动化部署,突然在mac pro 测试时发生了ip 无法自动设置的问题。后来终于找到了解决办法。 1. 这个Vagrantfile 文件必须在物理机器磁盘上,不能放在外挂的USB移动硬盘上,否则可能不能正常运行.(可能是磁盘格式的问题,具体原因尚不清楚。)2. 模版的网卡名称必须和物理网卡的一致。我之前配置错误,ifcfg-enp...原创 2018-10-14 00:36:38 · 1636 阅读 · 0 评论 -
Ansible实现Linux SSH免密码登陆的role模块
创建集群的时候,我们经常用到的一个通用模块就是 对多个主机指定的帐户,设置免密码登陆。手动设置是网上常见的方法,但是对付2-3台马马虎虎,但是,系统部署经常要自动化,这样操作非常的痛苦。于是自己写了一个脚本,经过上百次的修改后,终于比较好用了。 github 源代码下载地址: https://github.com/HappyFreeAngel/passwordless-ssh-lo...原创 2018-09-14 23:48:34 · 2078 阅读 · 0 评论 -
zookeeper集群ansible自动化部署实战
zookeeper 本质上是一个分布式实时key-value存储数据库。在现代商业系统中,部署很广泛。之前,搭过很多次zookeeper, 虽然不难,但是步骤比较繁琐,每次搭建5个节点都要耗费至少1小时时间。后来采用ansible部署,写成了一个独立的ansible role,变成一个标准。 使用者只要配置一下参数即可,使用起来非常方便,我在实际使用,全程部署:8分钟,100%成功,...原创 2018-09-17 07:36:34 · 2685 阅读 · 0 评论 -
Docker分布式volume成功实践经验分享
日常部署项目中,不同的的应用运行于不同虚拟机的不同docker 容器之中, 不少是有状态的容器,需要把数据卷 独自挂出来。 比如下面postgresql 数据库的代码:#more start-docker.sh#!/usr/bin/env bashfile_path=$(cd "$(dirname "$0")"; pwd)cd ${file_path}docker stop...原创 2018-09-12 14:41:47 · 1878 阅读 · 0 评论 -
IT开发人员常用的代理设置
NPM 配置使用这些命令:npm config set proxy http://username:password@host:portnpm config set https-proxy http://username:password@host:port或者编辑用户目录下的 ~/.npmrc file:proxy=http://username:password@host:port...原创 2018-12-14 10:26:50 · 568 阅读 · 0 评论 -
依赖不同ansible版本的项目靠谱部署方法--去除依赖
自从使用ansible以来,开发项项目从测试 安装部署,验证速度都得到了很快的提升,特别是实现了全部自动化的测试和部署,大幅度节省了人力物力。但是一个苦恼的问题一直困恼着. ansible 从1.9到现在的2.8.0dev,不断的进行版本升级. 相同的代码在不同版本的ansible之间不是100%兼容的。这个就产生了一个问题: 如果确保你的代码可以在任何地方100%可靠的执行?ansible...原创 2018-12-21 01:19:25 · 1314 阅读 · 0 评论 -
shell里的json超级工具 jq 高级用法介绍
Linux shell 环境下有个和google Gson 一样好用的JSON 数据处理工具jq.最近发现用jq 来分析提取数据,简直太好用了,特别是用于处理shell环境下面的复杂数据结构时,显的很方便。实际问题1: 如何获取mesos 网页上的mesos-agent host 名称。如下图:查询了mesos api, 发现可以/master/slaves 获取所有数据。curl -...原创 2019-04-19 22:06:48 · 26710 阅读 · 0 评论 -
如何在Mac Pro上添加一个虚拟IP
1.打开系统偏好设置2.点击左下角+ 标志选择你的网络接口(我的是连接wifi,所以选择wifi,如果你的是用网线的则做相应的改变)。这个网络接口必须是处于连接状态的接口。输入Wi-Fi-virutal 名称,可以选择你字节喜好的名称。然后点击创建 按钮,就创建成功了。如下图所示。3. 配置静态IP地址4. 设置DNS点击右下角的 “好” 按钮就创建完成了。关闭WI-F...原创 2019-04-15 23:20:46 · 4264 阅读 · 0 评论 -
gitlab docker Web界面打开反应迟钝的解决办法
解决办法:修改gitlab的配置文件:gitlab.rb 位置在容器中的/etc/gitlab/config使用容器时必须挂载到外面的存储,要不重新启动后,配置又没了.在配置文件中找到unicorn[‘port’]将其修改为不和宿主机冲突的端口号。如下:Advanced settingsunicorn[‘listen’] = ‘127.0.0.1’unicorn[‘port’] =...原创 2019-03-19 07:07:53 · 5535 阅读 · 2 评论 -
如何重置gitlab用户密码
如何重置gitlab用户密码首先进入Ruby on Rails console:如果是docker 安装的,则docker ps | grep ‘gitlab’ 查找出所在容器ID[root@mesos-agent3 demo]# containerID=$(docker ps | grep ‘gitlab’ | awk ‘{print $1}’)[root@mesos-agent3 ...原创 2019-03-21 15:25:58 · 5885 阅读 · 0 评论 -
Jenkins系统邮箱设置自动发送邮件
本来设置邮箱发送邮件是件非常简单的事情,但是jenkins里面有个坑。这个坑浪费了我30分钟时间。坑总结: 1. jenkins 里的管理员邮箱必须设置 robot@yourdomain.com2. smtp 信息设置要正确.(这个大部分人都会准确设置)3. smtp里填写的用户账号必须是和管理员邮箱一样。robot@yourdomain.com 满足以上3个条件,...原创 2019-01-26 11:19:50 · 1226 阅读 · 0 评论 -
Alpine Linux 安装软件
apk包管理命令Alpine使用apk进行包管理,通过apk --help命令查看完整的包管理命令,下面列举常用命令:update:从远程镜像源中更新本地镜像源索引update命令会从各个镜像源列表下载APKINDEX.tar.gz并存储到本地缓存,一般在/var/cache/apk/(Alpine在该目录下)、 /var/lib/apk/ 、/etc/apk/cache/下。$ apk ...原创 2019-01-25 13:18:59 · 10044 阅读 · 1 评论 -
CUDA在Centos7.5上的成功安装经历
参考了文章 https://blog.csdn.net/xueshengke/article/details/78134991写的很好,但是我的环境跟他写的还是差别很大,折腾了很久,几乎快崩溃的额时候终于迎来了曙光,耗费了4个小时时间。人生苦短啊。硬件环境:NVIDIA Grid K2 显卡centos7 18051.先确认你是否安装了NVIDIA显卡,如果没有,则不用继续,本文章专门给...原创 2019-01-17 18:18:13 · 4926 阅读 · 0 评论