让IDEA2021.2支持golang的插件

如何让IntelliJ IDEA2021.1支持golang,很简单如下:

1、首先上官万下载go插件

https://plugins.jetbrains.com/plugin/9568-go/versions/stable

2、选择对应的版本下载后,直接拉到idea界面,会提示你重启ide

接着在“File”–> “New” –> “Project” 新建项目里就能看到Go项目类型了
idea支持goland

发表在 服务器 | 留下评论

安装nodejs最后一个支持windows7的版本加cnpm

https://nodejs.org/download/release/v13.14.0/node-v13.14.0-x64.msi
下载官网最后一个支持windows7系统的版本,正常一路next安装程序即可,系统变量也会自动帮你添加好。

接着打开终端如果你执行默认安装cnpm命令,应该会默认安装9.0版本而出错,这时就应降版本。

npm install cnpm@7.1.0 -g –registry=https://registry.npm.taobao.org

正常能顺利安装完,切换进入你的项目目录,使用cnpm install安装插件依赖即可。

附带命令:

npm uninstall -g cnpm 删除已安装的cnpm版本
npm config set registry https://registry.npmjs.org 设置默认镜像
cnpm config set registry https://registry.npm.taobao.org 设置淘宝镜像

而然很可惜的是如果你的项目是vue3的话,nodeJS的版本网上说最低是node14.18版本,实际测试低于14.18的14版本也能创建成功,看我另外一篇:windows7安装nodejs14创建Vue3

发表在 服务器 | 标签为 | 留下评论

vue2安装vue-element-admin安装依赖报错解决

vue-element-admin是基于element-ui 的一套桌面后台管理系统集成方案。

Element-Ul是饿了么前端团队推出的一款基于Vue.js 2.0 的桌面端UI框架
源码网上搜索就有,下载解压进入目录后

执行npm install 一堆错误

换国内镜像,先安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

接着cnpm install 还报错

Command failed with exit code 1: node husky install

清缓存npm cache clean –force

再安装出现了经典的编辑器组件改名的错误了

Install fail! Error: [tui-editor@1.3.3 › tui-chart@3.11.3 ›
根据网上攻略修改对应的内容
1.首先将package.json中的tui-editor那一行修改为"@toast-ui/editor": "^3.1.3",
2.进入\src\components\MarkdownEditor\index.vue文件,将他的所有import删除换成下面四行

import ‘codemirror/lib/codemirror.css’
import ‘@toast-ui/editor/dist/toastui-editor.css’
import Editor from ‘@toast-ui/editor’
import defaultOptions from ‘./default-options’

3.把该页面(还是第二步中的文件)的getValuesetValue分别换成getMarkdownsetMarkdown
4.
把页面中的所有tui-editor全部替换为@toast-ui/editor

再cnpm install成功了,在run dev又错

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the vue-element-admin@4.4.0 dev script.

再安装个npm install core-js -s就可以解决

最终能正常跑起

发表在 服务器 | 标签为 , , , | 留下评论

vscode终端无法执行cnpm -v 提示无法加载文件

vscode在终端无法执行提示错误
PS D:\work\vue2\element> cnpm -v
cnpm : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/
fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ cnpm -v
+ ~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess

打开开始菜单执行Windows PowerShell终端
输入set-ExecutionPolicy RemoteSigned回车后确认Y
再次输入命令

PS D:\work\vue2\element> cnpm -v
cnpm@9.0.1 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\lib\parse_argv.js)
npm@8.19.4 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npm\index.js)
node@14.17.3 (C:\Program Files\nodejs\node.exe)
npminstall@7.5.2 (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cnpm\node_modules\npminstall\lib\index.js)
prefix=C:\Users\Administrator\AppData\Roaming\npm
win32 x64 10.0.19042
registry=https://registry.npmmirror.com

发表在 服务器 | 标签为 | 留下评论

IEDA2021试用时间重置破解

java idea 2021.1.3测试成功,最新版不是用这种方式破解了,我就自己测试不需要最高版本。

1、下载插件
下载地址:https://plugins.zhile.io/files/ide-eval-resetter-2.1.7.zip

2、安装插件

下载插件zip包后直接把 zip 包拖进 IDE 的窗口来进行插件的安装,如果无法拖动安装,点菜单File->Settings-> Plugins 点右上角齿轮图片里手动安装插件(Install Plugin From Disk…)
插件会提示安装成功

3、查看使用
点菜单:Help -> Eval Reset
点Reload 用来刷新界面上的显示信息。
点Reset询问是否重启
选Auto reset before per restart后每次重启/退出 IDE 时会自动重置试用信息

发表在 服务器 | 标签为 | 留下评论

php不同浏览器session_id一直改变

这里不说session和cookies优点和缺点,先说说php的session运作的原理

以下以cookie传输PHPSESSID描述。

1、浏览器请求一个php的服务端页面地址。

2、服务端收到请求,php执行session_start()

3、服务端会使用 md5 / sha1来生成一个浏览器一一对应的标识PHPSESSID(此名称可以通过修改php.ini配置里的session.name来修改),可通过session_id()来获取id。(默认session存储方式为session.save_handler=files,文件形式存储,也可以配置为redis、mysql等别的存储方式。生成的session文件名规则即为sess_PHPSESSID,session文件存在session.save_path中。)

4、服务端响应头部Response Headers里Cookie包含:Set-Cookie:PHPSESSID=jrsk5mlk927ort4s69902qhru2; path=/。在客户端生成一个cookie保存此PHPSESSID

5、此时,客户端的cookie里面包含了PHPSESSID,之后客户端的每次请求头部Request Headers:Cookie:PHPSESSID=jrsk5mlk927ort4s69902qhru2。服务端之后每次接收到客户端的请求就都能根据这个PHPSESSID来找到服务端的session文件,通过对这个session文件的读写操作即实现了session的超全局变量属性。

接下来说下PHPSESSID无法保存或一直变化的两种情况

1、如果客户端禁用了cookie,由于无法使用cookie传递PHPSESSID,那么客户端每次请求,服务端都会重新建立一个session文件,而无法通过通过PHPSESSID来重用session文件,所以session也就失效了。

这种情况可以设置session.use_trans_sid来传输PHPSESSID,具体实现方式与cookie的区别就是将PHPSESSID通过HTTP的GET传输。每次请求的地址里面都会补全PHPSESSID参数”url?PHPSESSID=jrsk5mlk927ort4s69902qhru2”来实现。

2、还有一种情况使用火狐、谷歌浏览器、能够持久session,可是一换IE或别的一些浏览器一关闭浏览器重新启动PHPSESSID就会改变。
这种情况不是浏览器cookie的问题,而是服务端session.cookie_lifetime参数设置导致的,SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就销毁。

在火狐、谷歌浏览器只要不设置该属性,默认Expires过期时间为session,网上说是同浏览器关闭一起销毁,经过测试并不会,所以建议一定要设置该cookie的过期时间。否则就会有问题。
通过代码ini_set(‘session.cookie_lifetime’,1440);或者修改php.ini配置给个默认时间,这个时间通常也不要比后端应用session的时间短了,防止客户端cookies提前被销毁。结合服务器端Session数据在服务器端储存的时间session.gc_maxlifetime参数。

发表在 服务器 | 标签为 , | 留下评论

excel表格判断哪些内容重复,提取重复项或不重复项

因为工作需要经常需要使用excel表格统计单列或两列的重复项,提取或剔除,都可以使用COUNTIF函数来筛选哪些是重复内容,数字前使用$符号,多行下拉复制公式的时候不会产生递增变化。(编辑公式,在公式中表示单元格处(如A1),按两下F4,变成A$1格式。)

单列自身对比=COUNTIF(A$1:A$25,A1)

两列相互对比=COUNTIF(A$1:A$25,B1)

行数较多可以使用快捷键ctrl+箭头跳转行位置,ctrl+shift+箭头选择多行,选择后ctrl+d复制公式。

最后做个筛选就能判断出哪些内容重复,提取重复项或不重复项了。

发表在 服务器 | 标签为 | 留下评论

find没权限的时候不显示Permission denied

今天因为Centos使用find查找文件的时候当前账号很多目录很多是没有权限的,结果一大堆没有路径权限的提示,导致要找的东西都看不到了,开始用grep过滤也不行,最后只要用参数把错误的输出重定向到文件或null即可:

find [path] -name “pattern ” 2>/dev/null

linux系统预留可三个文件描述符:0、1和2,他们的意义如下所示:
0——标准输入(stdin)
1——标准输出(stdout)
2——标准错误(stderr)

发表在 服务器 | 标签为 , | 留下评论

linux下php执行shell_exec输出null的原因

最近做了一个项目需要 php+shell_exec() 调用C可执行文件,在windows下能正常调用到,然而转移到centos上时结果一直是null,各种尝试后总结如下:

1.检查safe_mode=off

2.C可执行文件要用全路径,比如 shell_exec(‘/app/demo_c’),而不是只写 shell_exec(‘demo_c’)

3.可以在shell_exec()括号内字符串的最后加上 2>&1 以返回STDERR以及STDOUT。例如 shell_exec(‘/app/demo_c 2>&1’) 它就报 “sh: demo_c: command not found\n”

发表在 服务器 | 标签为 | 留下评论

centos6防火墙iptables一般使用规则

# 允许访问22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -j ACCEPT

#打开主动模式21端口
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
#打开被动模式49152~65534之间的端口
iptables -A INPUT -p tcp –dport 49152:65534 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT

#添加屏蔽IP
#禁止此IP访问服务器
iptables -I INPUT -s 1.2.3.4 -j DROP

iptables -A INPUT -s 1.2.3.4 -j DROP
#禁止服务器访问此IP
iptables -A OUTPUT -d 1.2.3.4 -j DROP
如果要封某个网段:
iptables -I INPUT -s 1.2.3.0/24 -j DROP

#清空屏蔽IP
iptables -t filter -D INPUT -s 1.2.3.4 -j DROP
iptables -t filter -D OUTPUT -d 1.2.3.4 -j DROP

#处理IP碎片数量,防止攻击,允许每秒100个
iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT
#设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包
iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT

#屏蔽单个IP的命令是
iptables -I INPUT -s 192.168.0.1 -j DROP
#封整个段即从192.0.0.1到192255.255.254的命令
iptables -I INPUT -s 192.0.0.0/8 -j DROP
#封IP段即从192.168.0.1到192.168.255.254的命令
iptables -I INPUT -s 192.168.0.0/16 -j DROP
#封IP段即从192.168.0.1到1192.168.0.254的命令是
iptables -I INPUT -s 192.168.0.0/24 -j DROP

 

常用命令:
-A 追加规则–>iptables -A INPUT
-D 删除规则–>iptables -D INPUT 1(编号)
-R 修改规则–>iptables -R INPUT 1 -s 192.168.12.0 -j DROP 取代现行规则,顺序不变(1是位置)
-I 插入规则–>iptables -I INPUT 1 –dport 80 -j ACCEPT 插入一条规则,原本位置上的规则将会往后移动一个顺位
-L 查看规则–>iptables -L INPUT 列出规则链中的所有规则
-N 新的规则–>iptables -N allowed 定义新的规则

通用参数:
-p 协议  例:iptables -A INPUT -p tcp
-s源地址 例:iptables -A INPUT -s 192.168.1.1
-d目的地址 例:iptables -A INPUT -d 192.168.12.1
-sport源端口 例:iptables -A INPUT -p tcp –sport 22
-dport目的端口 例:iptables -A INPUT -p tcp –dport 22
-i指定入口网卡 例:iptables -A INPUT -i eth0
-o指定出口网卡 例:iptables -A FORWARD -o eth0

-j 指定要进行的处理动作
常用的ACTION:
DROP:丢弃
REJECT:明示拒绝
ACCEPT:接受
SNAT基于原地址的转换
source–指定原地址

修改防火墙策略:

vim /etc/sysconfig/iptables

1 关闭防火墙—–service iptables stop
2 启动防火墙—–service iptables start
3 重启防火墙—–service iptables restart
4 查看防火墙状态–service iptables status
5 永久关闭防火墙–chkconfig iptables off
6 永久关闭后启用–chkconfig iptables on

/etc/init.d/iptables start

/etc/init.d/iptables status

/etc/init.d/iptables stop

发表在 服务器 | 标签为 , , | 留下评论