code – 年轮博客 https://bk.google2015.cn 造梦者 Mon, 24 Jun 2024 09:46:35 +0000 zh-Hans hourly 1 Navicat16.10升级16.3.4 连接丢失问题 https://bk.google2015.cn/navicat16-10%e5%8d%87%e7%ba%a716-3-4-%e8%bf%9e%e6%8e%a5%e4%b8%a2%e5%a4%b1%e9%97%ae%e9%a2%98/ Mon, 15 Jan 2024 01:18:50 +0000 https://bk.google2015.cn/?p=415 更新完版本之后,连接全部丢失。(虽然不理解为什么不向下兼容)

1.先找到旧版的数据地址


# 旧版数据地址 
~/Library/Application Support/PremiumSoft CyberTech/Navicat CC/Common/Settings/0/0

2.找到新版的数据地址

# 新版数据地址 
~/Library/Containers/com.navicat.NavicatPremium/Data/Library/Application Support/PremiumSoft CyberTech/Navicat CC/Common/Settings/0/0/

ps: 如果该地址不存在 可以使用新Navicat-新建连接-MySQl-高级(检查设置位置)-保存 改地址就会被新建3.之后将旧版 Navicat CC 文件夹复制到新版 Navicat CC同路径下

4.重启软件,连接即可恢复。

]]>
【IPFS】 在无需下载文件夹的情况下,上传文件到指定文件夹 https://bk.google2015.cn/%e3%80%90ipfs%e3%80%91-%e5%9c%a8%e6%97%a0%e9%9c%80%e4%b8%8b%e8%bd%bd%e6%96%87%e4%bb%b6%e5%a4%b9%e7%9a%84%e6%83%85%e5%86%b5%e4%b8%8b%ef%bc%8c%e4%b8%8a%e4%bc%a0%e6%96%87%e4%bb%b6%e5%88%b0%e6%8c%87/ Fri, 22 Jul 2022 07:01:28 +0000 https://bk.google2015.cn/?p=349 在无需下载文件夹的情况下,上传文件到指定文件夹

1.首先,我们创建 IPFS 对象 - 一个包含文件的文件夹hello/lorem.txt- 它的CID为 IDQmXCfnzXHThHwaTvSSAKeErxK48XkyVoL6ZNEhkpKmZyW3

ipfs@privex:~$ mkdir hello
ipfs@privex:~$ echo -e "lorem ipsum dolor\nlorem ipsum dolor\n" > hello/lorem.txt

ipfs@privex:~$ ipfs add -p -r -w hello
added Qme85tx5Wnsjc5pZZs1JGogBNUVM2WThC18ERh6t2YFJSK hello/lorem.txt
added QmWRsWoZjiandZUXLyczXSoWi84hXNHvBQ49BiQx9hPdjs hello
added QmXCfnzXHThHwaTvSSAKeErxK48XkyVoL6ZNEhkpKmZyW3
 37 B / 37 B [=======================================================================] 100.00%

ipfs@privex:~$ ipfs ls QmXCfnzXHThHwaTvSSAKeErxK48XkyVoL6ZNEhkpKmZyW3
QmWRsWoZjiandZUXLyczXSoWi84hXNHvBQ49BiQx9hPdjs - hello/

ipfs@privex:~$ ipfs ls QmXCfnzXHThHwaTvSSAKeErxK48XkyVoL6ZNEhkpKmZyW3/hello
Qme85tx5Wnsjc5pZZs1JGogBNUVM2WThC18ERh6t2YFJSK 37 lorem.txt

2.接下来,创建一个不属于hello文件夹的外部对象 ID,我创建了foo.txt包含几行随机文本,并将其上传到 IPFS。它的对象 ID 是QmaDDLFL3fM4sQkQfV82LdNqtNnyaeAmgC46Qc7FDQdkq8

ipfs@privex:~$ echo -e "foo bar foo bar foo foo foo\nbar foo foo bar bar foo bar\n" > foo.txt

ipfs@privex:~$ ipfs add foo.txt
added QmaDDLFL3fM4sQkQfV82LdNqtNnyaeAmgC46Qc7FDQdkq8 foo.txt
 57 B / 57 B [======================================================================] 100.00%

3.最后,我们将创建的对象添加到IPFS上创建的hello文件夹内。

命令语法是:ipfs object patch add-link [object-to-add-to] [name-of-newly-added-file-or-folder] [object-to-inject]
现在的CID为:
foo.txt:QmaDDLFL3fM4sQkQfV82LdNqtNnyaeAmgC46Qc7FDQdkq8
hello/:QmXCfnzXHThHwaTvSSAKeErxK48XkyVoL6ZNEhkpKmZyW3
则命令为:
ipfs object patch add-link QmXCfnzXHThHwaTvSSAKeErxK48XkyVoL6ZNEhkpKmZyW3 hello/foo.txt QmaDDLFL3fM4sQkQfV82LdNqtNnyaeAmgC46Qc7FDQdkq8

ipfs@privex:~$ ipfs object patch add-link QmXCfnzXHThHwaTvSSAKeErxK48XkyVoL6ZNEhkpKmZyW3 hello/foo.txt QmaDDLFL3fM4sQkQfV82LdNqtNnyaeAmgC46Qc7FDQdkq8
QmaWoYZnSXnKqzskrBwtmZPE74qKe4AF5YfwaY83nzeCCL

它输出一个新的 ID:QmaWoYZnSXnKqzskrBwtmZPE74qKe4AF5YfwaY83nzeCCL,它既包含hello/lorem.txt原始文件,又包含hello/foo.txt后来加入的文件。

参考:IPFS: How to add a file to an existing folder?

]]>
SpringMvc中转发的html文件中文是乱码 (tomcat8解决方法) https://bk.google2015.cn/springmvc%e4%b8%ad%e8%bd%ac%e5%8f%91%e7%9a%84html%e6%96%87%e4%bb%b6%e4%b8%ad%e6%96%87%e6%98%af%e4%b9%b1%e7%a0%81-%ef%bc%88tomcat8%e8%a7%a3%e5%86%b3%e6%96%b9%e6%b3%95%ef%bc%89/ Tue, 08 Dec 2020 09:19:15 +0000 https://bk.google2015.cn/?p=351 1 、最简单解决方案: 该解决方案不再需要任何额外配置(如filter)
TOMCAT默认ISO-8859-1 因此可以设置默认编码为UTF-8解决,在confserver.xml文件中设置如下

Java代码

<Connector port="8080" protocol="HTTP/1.1"  
                               connectionTimeout="20000"  
                               redirectPort="8443" URIEncoding=”UTF-8”/>

2 、在 tomcat4 之后,可以通过如下配置来解决中文乱码,但必须配置 filter
在confserver.xml文件中设置如下

Java代码

<Connector port="8080" protocol="HTTP/1.1"  
                                       connectionTimeout="20000"  
                                       redirectPort="8443" useBodyEncodingForURI=“true”  />  


然后request.setCharacterEncoding(“UTF-8”)也可解决GET乱码

]]>
ssm项目部署上线(ubentu+Ngix转发+域名解析) https://bk.google2015.cn/ssm%e9%a1%b9%e7%9b%ae%e9%83%a8%e7%bd%b2%e4%b8%8a%e7%ba%bfubentungix%e8%bd%ac%e5%8f%91%e5%9f%9f%e5%90%8d%e8%a7%a3%e6%9e%90/ Mon, 25 May 2020 20:16:45 +0000 https://bk.google2015.cn/?p=353 坑:

MySQL5.7版本最高只适配到Ubuntu17.04,而MySQL8.0最高适配到Ubuntu18.04。

所以别像我一样用18.04安装MySQL5.7浪费了大量时间。

配置root账户

sudo passwd root

输入2次root密码

su

登录root账户

安装jdk

apt update

刷新存储库索引

apt upgrade

升级所有可升级软件包

apt install openjdk-8-jdk

安装jdk

java -version

检查jdk版本

卸载mysql

安装之前一定要确保服务器mysql卸载干净

dpkg -l | grep mysql

查看是否存在mysql

apt purge mysql-*

逐个卸载

也可使用

apt autoremove mysql-server

安装mysql

apt install mysql-server

打包安装mysql核心、客户端和服务端等

服务端安装时需要输入2次mysql密码

sudo netstat -tap | grep mysql

查看是否安装成功

mysql -uroot -p 你的密码

登录mysql

连接数据库

这时候连接数据库

 

会显示10060错误

先在服务器的安全组开放3306端口

vi /etc/mysql/mysql.conf.d/mysqld.cnf

我们需要将mysql默认只允许本地访问的设置关掉

bind-address        = 127.0.0.1

找到这行在前面加个#号注释掉

mysql -u root -p    //登录MySQL  
mysql> grant all on *.* to root@"%" identified by "密码";     //任何远程主机都可以访问数据库  
mysql> FLUSH PRIVILEGES;    //需要输入次命令使修改生效  
mysql> EXIT    //退出 

另外我们还需要设置mysql用户

这样就可以正常连接了

传文件

使用winscp连接

出现拒绝访问 我们需要开放ssh登录

vi /etc/ssh/sshd_config

修改ssh配置

PermitRootLogin prohibit-password

找到

PermitRootLogin yes

改为

sudo passwd root 

重新设置下密码

systemctl restart sshd 

重启ssh

就可以登录了

安装tomcat

apt install tomcat8
apt install tomcat8-docs tomcat8-examples tomcat8-admin

依然使用apt安装

/etc/init.d/tomcat8 start
/etc/init.d/tomcat8 stop
/etc/init.d/tomcat8 restart

启动 停止 重启命令

开放8080端口

访问ip:8080你能看到这个页面就是成功了

上传项目

传数据库

建好数据库

在本地表进行全选复制 服务器的表进行粘贴 弹出此页 下一步 开始


传输成功

将本地的war包传到tomcat webapps目录下

打开server.xml文件 将8080端口改为80端口 配置自己的项目

/etc/init.d/tomcat8 restart

重启tomcat

此时你的项目应该能访问了

如果 你的服务器和我一样 被提供商禁止了80端口访问

可以使用Nginx端口映射

iptables -t nat -A PREROUTING  -p tcp --dport 80 -j REDIRECT --to-port 8080

ps:记得把server.xml端口改回来

此时就能将端口解析到域名了

域名解析


直接输入服务器ip保存等待生效

]]>
解决Tomcat7.0在idea中乱码现象 https://bk.google2015.cn/%e8%a7%a3%e5%86%b3tomcat7-0%e5%9c%a8idea%e4%b8%ad%e4%b9%b1%e7%a0%81%e7%8e%b0%e8%b1%a1/ Mon, 24 Feb 2020 09:38:49 +0000 https://bk.google2015.cn/?p=356 解决办法 1.打开你安装Tomcat的所在目录,本文以7.0.92为例。
2. 打开后选择conf目录。
3. 将里面的logging.properties文件用编辑器打开,本例子是使用“Notepad++”编辑器打开。
4. 打开后大约在50行左右找到java.util.logging.ConsoleHandler.encoding = UTF-8
5. 修改为java.util.logging.ConsoleHandler.encoding = GBK;
6.重新启动Tomcat就可以了。

]]>
#武汉加油# 阿里云“在家实践”免费领取2核4GECS及学习资源 https://bk.google2015.cn/%e6%ad%a6%e6%b1%89%e5%8a%a0%e6%b2%b9%e9%98%bf%e9%87%8c%e4%ba%91-%e9%ab%98%e6%a0%a1%e5%ad%a6%e7%94%9f%e5%9c%a8%e5%ae%b6%e5%ae%9e%e8%b7%b5%e5%85%8d%e8%b4%b9%e9%a2%86%e5%8f%962/ Thu, 06 Feb 2020 09:25:24 +0000 http://bk.google2015.cn/?p=279 因新冠肺炎疫情,学校延期开学。在家时间不浪费,学习、实践提高能力好机会。阿里云高校“在家实践”计划,全国高校学生,每人可免费领取一台ECS算力资源,在线实践课程等多种免费资源。

注册登录、完成学生认证(支付宝登录,符合标准的可跳过认证)、完成测试、领取学习资源,然后就可以开启云上学习啦

测试环节为5道基础题目,日常建站或者对服务器有所了解的同学都可以通过

规则不做详细介绍,直接划重点。

1. 学生计划用户免费领取的云服务器ECS,有效期自领取日起6个月内有效。用户学生认证在有效期内且有效时长大于等于6个月的用户,云服务器ECS到期释放前,可登录个人中心,参加阶段性学习考试,测试通过,可免费续期1次,时长为6个月。使用过程中如需对领取产品进行升级,请按照标准费用进行升级。

2.参与阿里云高校在家实践计划的学生用户,同一用户最多可保有2台云服务器ECS,指包括满足学生计划条件用户,领取的1台云服务器ECS(同一用户限领1台),和通过教师计划,满足实名认证和学生认证条件用户,获得教师提供兑换码,验证成功,领取的1台云服务器ECS(同一用户限领1台)。

活动地址

]]>
Eclipse Debug 使用方法 https://bk.google2015.cn/eclipse-debug-%e4%bd%bf%e7%94%a8%e6%96%b9%e6%b3%95/ Sat, 25 May 2019 01:43:34 +0000 https://bk.google2015.cn/?p=358 Debug视图

Debug视图在Eclipse的右上角打开

Debug的工具栏常用的就这7个:

按照从左到右的顺序分别介绍功能:
Resume:恢复暂停的线程,直接从当前位置跳到下一个断点位置。

Suspend:暂停选定的线程,这个时候可以进行浏览或者修改代码,检查数据等。

Terminate:Eclipse通过Terminate命令终止对本地程序的调试。

Disconnect:Eclipse使用Disconnect命令来终止与远程JVM的socket连接。

Step Into:单步执行,遇到子函数就进入并且继续单步执行

Step Over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完在停止,也就是把子函数整个作为一步。

Step Return:跳出当前方法,在被调用方法的执行过程中,使用Step Return会在执行完当前方法的全部代码后跳出该方法返回到调用该方法的方法中。

其实常用的无非就是后面3个 快捷键分别为F5 F6 F7

我的理解是:

F5 一句句执行 遇到子函数就进入继续一句句执行
F6 在遇到子函数时不会进入子函数 而是直接运行完子函数(就是把子函数作为一句运行 不会进入)
F7 我认为就是不小心通过F5的句句执行进入了子函数之后(也许是点快了不小心进了子函数) 再通过F7可以让其运行完该方法全部代码回到上一个方法中

你一定疑问如果子函数中含有Scanner 扫描器等会出现什么情况 那当然是语句停在扫描器那一句啊 不会管你是什么调试。

三个面板的作用:

Variables View :


该面板负责显示运行此时的变量和其值

在该窗口中选中变量鼠标右键点击可以进行许多操作,主要操作有以下这些:

All Instances:打开一个对话框来显示该java类的所有实例,使用该功能需要java虚拟机支持实例的检索。

All References:打开一个对话框来显示所有引用了该变量的java对象,

Change Value:更改变量的值,该功能可以和Drop to Frame联合使用进行程序的调试。使用这两个功能就可以代替重新debug

Copy Variables:复制变量的值,尤其在变量值很长(比如json数据)的时候,这个功能就派上用场了。

Find:有的时候一个类中变量特别多的时候,可以进行查找。

Breakpoints View :


列出你在当前工作区间里设置的所有断点

Expressions View :


求当前表达式的值
比如我想要计算变量a+b的值,那么就可以在表达式视图中加一个表达式:a+b

设置断点


设置断点的方法如下:
1.右击代码编辑器左边的空白区域
2.点击Toggle Breakpoint

当然 快捷键 Ctrl+Shift+B 还有最常用的 双击空白区域 也可以

]]>
Eclipse 常用快捷键 https://bk.google2015.cn/eclipse-%e5%b8%b8%e7%94%a8%e5%bf%ab%e6%8d%b7%e9%94%ae/ Sat, 25 May 2019 01:06:17 +0000 https://bk.google2015.cn/?p=360 以下为Eclipse常用快捷键 加粗为本人常用的

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)

Ctrl+D: 删除当前行

Ctrl+Alt+↓ 复制当前行到下一行(复制增加)

Ctrl+Alt+↑ 复制当前行到上一行(复制增加)

Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)

Alt+↑ 当前行和上面一行交互位置(同上)

Alt+← 前一个编辑的页面

Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)

Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性

Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)

Shift+Ctrl+Enter 在当前行插入空行(原理同上条)

Ctrl+Q 定位到最后编辑的地方

Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)

Ctrl+M 最大化当前的Edit或View (再按则反之)

Ctrl+/ 注释当前行,再按则取消注释

Ctrl+O 快速显示 OutLine

Ctrl+T 快速显示当前类的继承结构

Ctrl+W 关闭当前Editer

Ctrl+K 参照选中的Word快速定位到下一个

Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)

Ctrl+/(小键盘) 折叠当前类中的所有代码

Ctrl+×(小键盘) 展开当前类中的所有代码

Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)

Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)

Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)

Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)

Ctrl+Shift+F4 关闭所有打开的Editer

Ctrl+Shift+X 把当前选中的文本全部变味小写

Ctrl+Shift+Y 把当前选中的文本全部变为小写

Ctrl+Shift+F 格式化当前代码(超赞 不解释!!!)

Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)

下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)

Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)

Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)

Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)

Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)

Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能)

Alt+Shift+I 合并变量(可能这样说有点不妥Inline)

Alt+Shift+V 移动函数和变量(不怎么常用)

Alt+Shift+Z 重构的后悔药(Undo)

]]>
自写破解某收费机场小工具 https://bk.google2015.cn/%e8%87%aa%e5%86%99%e7%a0%b4%e8%a7%a3%e6%9f%90%e6%94%b6%e8%b4%b9vpn%e5%95%86%e6%88%b7%e5%b0%8f%e5%b7%a5%e5%85%b7/ Sun, 14 Apr 2019 14:30:47 +0000 http://bk.google2015.cn/?p=193 花了大半天开发的小工具,只需要点击就会自动产生一个订阅地址,然后,就可以在世界各地奔波了。

]]>
搭建Win10+deepin双系统 https://bk.google2015.cn/%e6%90%ad%e5%bb%bawin10deepin%e5%8f%8c%e7%b3%bb%e7%bb%9ffq%e5%bd%bb%e5%ba%95%e7%a6%bb%e5%bc%80%e5%a4%a7%e9%99%86/ Mon, 18 Mar 2019 16:21:17 +0000 http://bk.google2015.cn/?p=170 花了一下午的时间搭建好Win10和Deepin双系统

安装篇:

对于Deepin的安装这里不多说,详看官方教程 点我

安装完之后会出现鼠标转圈,显示不了主页的情况。(N显卡的恶心)

这里给出唯一的解决方案:

1)开机后按esc,然后选中deepin系统,点击enter进入,默认选中第一个,如下图所示,然后这个时候千万不要点击enter,这个时候应该按键盘上的e,进入grub编辑页面;

2)然后我们在菜单中的代码中,找到倒数第二行,会出现如下所示的代码:
linux /vmlinuz-4.15.0-29deepin-generic root=UUID=b66d8ffa-aed9-466c-bc12-6bb801e45901 ro splash quiet
上面这行表示加载linux内核文件,解释如上面所示。

(3)在quiet的后面空一格加上如下所示的代码:nouveau.modeset=0,然后按F10保存即可。这时会重新开始登录deepin系统,耐心等待进入桌面即可。

然而这只是临时解决方案,永久解决方案如下:

(1)开机后输入账号和密码,等待十几秒或者一分钟时间加载桌面,这个时候应该不会出现鼠标一直转圈圈的问题了
(2)按Ctrl+Alt+T进入打开终端,输入以下代码来打开grub配置文件:sudo gedit /boot/grub/grub.cfg,如下图所示:

注意:这时会提示你输入密码,也就是超级用户的密码,因为这是系统文件,普通用户是不能进行更改的。(如果你是第一次刚安装好系统第一次进入系统的话,你输入你的登录密码会提示认证失败,因为那个是你的登录密码,而不是超级用户密码,这时后,你需要修改你的超级用户密码,如下图所示:)

(3)输入密码成功后会打开你的grub.cfg文件,如图所示,然后按Ctrl+F搜索quiet,并在第第一个quiet后面空一格加上这行代码:nouveau.modeset=0,并保存退出。

4)开机重启,问题已经永久解决!

美化篇:

这里推荐2款应用,可以在应用商店下到。

可以模拟IMAC的上顶栏
可以模拟IMAC主题

应用篇:

Deepin的大多数应用,应用商店都有了。而有些win使用的应用Deepin无法使用,例如QQ音乐,这里使用wine来解决

打开命令行,输入:sudo apt-get install wine

安装完成后,下载QQ音乐的安装包

然后安装:

示例:wine xx.exe     
实例:wine QQMusic.exe

安装完成,启动(或多或少会有编码和一些问题)

翻墙篇:!!!

Deepin没有直接提供ss工具,这里我们需要用到一个开源项目:点我

下载其中的deb文件,利用Deepin的软件安装器安装,

安装完成后配置好就可以使用了。

这里让我震惊的是SSR在Deepin下的速度是真的快,

我的服务器在WIN最多也就1000kb/s 而在Deepin却...

也许这就是linux吧.

]]>