活动持续一个星期,截止到5月21日
昨天开始领的时候,服务器直接给搞炸了,不管是中国站还是国际站都处于崩溃的状态,
不过今天服务器逐渐恢复正常了,刚刚试了下可以领取了
正所谓早买早享受,晚买享折扣,不买免费送;
开局一个号,游戏全靠领!
这下你还能说自己咩有GTA5?
还不快叫上老友一起搞事情~
并且Epic官方明确表示三周内不会免费商城已上线的游戏,也就是说不会背刺自己,但是只背刺你steam
作为吃瓜群众,还是欢快的看着平台神仙打架,坐等撸羊毛吧~
活动持续一个星期,截止到5月21日
昨天开始领的时候,服务器直接给搞炸了,不管是中国站还是国际站都处于崩溃的状态,
不过今天服务器逐渐恢复正常了,刚刚试了下可以领取了
正所谓早买早享受,晚买享折扣,不买免费送;
开局一个号,游戏全靠领!
这下你还能说自己咩有GTA5?
还不快叫上老友一起搞事情~
并且Epic官方明确表示三周内不会免费商城已上线的游戏,也就是说不会背刺自己,但是只背刺你steam
作为吃瓜群众,还是欢快的看着平台神仙打架,坐等撸羊毛吧~
上一次我们使用Gitea搭建了自己的Git版本控制系统,可以用来管理自己的代码
还需要一个自动构建工具来解放生产力,这里我推荐使用Drone来搭建CI/CD持续集成,持续部署平台
为什么选用Gitea+Drone呢?因为这两款软件都是基于go编写的,运行过程中可谓十分轻量级,对于资源的占用都是很少的,并且都可以基于docker来安装,安装部署起来十分方便
相对来说主流的Gitlab+Jenkins一套下来对于资源的占用,个人是很难能流畅运行的,至少我的机器连个Gitlab都跑不起来,更别提使用Java编写的Jenkins了。。。
废话少说,直接开搞~
这里我的服务器环境使用的是最新的CentOS7 x64系统,只安装了一个docker
Gitea的安装过程详见:https://ffis.me/experience/1960.html
这里就不做过多的阐述了
新版的Drone可以直接使用OAuto2和drone进行通信,无缝集成,配置完成后只需要得到gitea的授权即可进入drone平台,连账户和密码都不用输了
Dcoker是一个开源的应用容器引擎,介绍我就不介绍了,总之就是很牛批,用过的都相见恨晚
平时我们不是应用都是先搭建相关环境,然后把应用启动一通配置好
本地环境需要搭建一次,测试环境需要搭建一次,生产环境也需要搭建一次,这样重复的工作就做了几次,效率降低
使用了docker了?我们只需要构建一次镜像,然后不同的环境只需要把镜像拉下来启动就行了,是不是很简单?
如果配合CI/DI持续集成,持续部署,那就太爽歪歪了,我们只需要把代码提交到git,剩下打包/编译/测试/部署工作就全自动自己运行了,是不是大大提高了生产力?
废话不多说,今天先研究docker怎么构建SpringBoot,改天再研究CI/DI~
首先docker只支持CentOS7以上的系统,如果系统版本过低请升级系统
这里我使用的是CentOS7 x64
docker安装教程详见:Docker的基本操作与使用
一直以来都想搭建自己的版本控制系统,虽然现在又Github、Gitee等热门的公共Git系统了,可有时候还是需要一个私有的Git系统来更方便的去管理、控制代码
这里我看了下开源的Git软件,大致有Gitlab、Gogs、Gitea等几款软件,Gitlab功能比较强大,但是个人使用就略显臃肿了,个人我还是倾向于使用比较轻量化的软件的,毕竟服务器的资源有限,能满足自己的需求就行了
Gitea是Gogs的一个分支,两款都是比较轻量化的软件,gogs之前搭建过了,这里选用Gitea再次搭建一个自己托管的Git版本控制中心。
Gitea是支持使用docker安装的,所以安装的步骤和过程都很简单明了
1.创建gogs数据储存目录mkdir -p /data/gogs
2.拉取最新版镜像docker pull gitea/gitea:latest
3.运行docker容器
docker run -d --name=gitea -p 10022:22 -p 10080:3000 -v /data/gitea:/data gitea/gitea:latest
-d: 后台运行
--name: docker容器名称
-p: 端口映射,将容器端口3000 映射到宿主机的 10080端口
-v: 目录映射,将容器 /data 目录映射到宿主机的 /data/gitea 目录
gitea/gitea:latest: 使用的docker镜像
由于我PC上的mysql是使用面板一键安装的,应该是解压版的,每次都要手动启动略显麻烦
所以可以将mysql安装为系统服务来实现自动启动
本机使用的MySQL版本为:8.0.12
不过理论上来说都是通用的
打开MySQL的bin目录,复制地址栏中地址
打开我的电脑-->属性-->高级系统设置-->高级-->环境变量选项卡
双击系统变量-->Path
在最下面添加刚刚复制的地址即可
一般我们编写好css/js文件后,上线的时候总是要压缩一下的~
因为压缩后能极大的减少文件的体积,从而加快文件的加载速度。
这里可以使用YUI Compressor配合idea来实现自动压缩文件
YUI Compressor是一种用于精简CSS/JS代码的工具。可以删除所有不必要的字符,例如空格,换行,注释而不更改源代码的功能
官方网站:http://yui.github.io/yuicompressor/
下载地址:https://github.com/yui/yuicompressor/releases
这里我下载的是最新版 2.4.8
下载完成后放到一个能找到的目录下。
这里我放到了 C:\Develop\JetBrains\yuicompressor-2.4.8.jar
t.cn 新浪短网址生成器,前端采用 HTML/JavaScript 实现,后端使用 PHP 实现。
其实很早之前就做好了,不过之前的接口失效了,就一直放那没管了
今天看到有大佬用这种方式请求,就顺便把接口修改了下发布了
有点不足是接口请求速度很慢,应该是新浪那边限制了,或者是大佬们都在艹,不过先凑合着用了
整个项目大小不到10kb
Demo:https://api.ffis.me/url/
Github:https://github.com/noisky/SinaShortUrl
直接在网站目录下 git clone
即可
git clone https://github.com/noisky/SinaShortUrl.git
请求方式:Get/Post请求
https://api.ffis.me/url/get.php?longUrl=http://www.taobao.com
请求参数:
- longUrl:`需要缩短的url`
新浪接口随时可能失效
说来话长,最近搭建了个frp内网转发,想着转发winodws的远程桌面端口3389,来实现任意地点的远程桌面登陆
等我搭建完毕frp后,试了下远程连接,发现连接失败
第一反应就是不是防火墙出问题了,等我排除了防火墙的问题后,隐隐约约记得win10是不是把家庭版的远程桌面给阉割掉了...
进去一看,果然是!万恶的资本主义...
虽然自己用的系统都是专业版的,可公司电脑默认装的是家庭版的...
公司的电脑毕竟是公司的财产,不到万不得已,我还是不想动这个系统
家庭版就不能用远程桌面了吗?nonono~
经过一番仔细查找,在Github找到了大佬写的远程桌面软件包,该程序可以让家庭版支持远程桌面功能,大佬就是大佬
下面开始安装:
你是否有需求,突然来了紧急需求,需要在家里远程操作公司的电脑进行加班?
不加班怎么享受福报呢?
当然以上都是瞎扯,在家里访问公司电脑,最简单的是使用远程控制软件,如Teamviewer、向日葵等,但是这都是第三方的应用,安全性没得什么保障,其次并不是很稳定,而且以上软件是监控VGA的输出,也就是你操作的时候,你的公司的屏幕也是可以被同事看到的,吓到人就不太好了,hh
最完美的方案还是windows自带的远程桌面,使用体验完美,并且不会在实际桌面输出,其弊端是公司的电脑一般都不会单独配置ip地址,无法直接连接,其次也不能调用独立显卡进行计算,不过公司的mx250拿来编译怕是要反向加速...
所以综合以上,这里我准备使用frp做内网穿透,并使用vps做端口转发,来实现在任意地点登陆公司电脑
1.Centos下先执行命令安装wgetyum install -y wget
2.创建目录来存放frp和配置文件mkdir /home/frp && cd /home/frp
3.下载Github最新版服务器端frp
下载地址:https://github.com/fatedier/frp/releases
这里以目前最新版 v0.32.1 为例wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
4.解压文件tar -xzvf frp_0.32.1_linux_amd64.tar.gz
5.进入解压的文件夹cd frp_0.32.1_linux_amd64/
6.编辑配置文件 vi frps.ini
[common]
bind_addr = 0.0.0.0
#frp连接端口
bind_port = 7000
#frp连接密码
token = 1234567890
#面板端口
dashboard_port = 7500
#面板账号
dashboard_user = admin
#面板密码
dashboard_pwd = admin
修改完成后输入:wq
保存退出即可
具体参数可参考官方的参考文档:https://github.com/fatedier/frp/blob/master/README_zh.md
7.给脚本加上执行权限chmod +X *.sh
8.运行脚本./frps -c ./frps.ini
至此,服务端就运行成功了,不过别忘了在防火墙放行对应的端口
现在可以直接在浏览器输入服务器ip:7500
打开frp面板了
因为线上部署的时候和本地往往使用不同的配置文件,所以研究了下SpringBoot配置文件存放位置及读取顺序
之前是直接手动指定配置文件启动来启动SpringBoot工程的,后来发现直接按照配置文件的加载顺序优先级放到对应的文件夹下即可进行配置文件的自动覆盖和互补
以下内容转载自:https://my.oschina.net/sdlvzg/blog/1612703
SpringBoot配置文件可以使用yml格式和properties格式
分别的默认命名为:application.yml、application.properties
SpringBoot配置文件默认可以放到以下目录中,可以自动读取到:
如果在不同的目录中存在多个配置文件,它的读取顺序是:
1、config/application.properties(项目根目录中config目录下)
2、config/application.yml
3、application.properties(项目根目录下)
4、application.yml
5、resources/config/application.properties(项目resources目录中config目录下)
6、resources/config/application.yml
7、resources/application.properties(项目的resources目录下)
8、resources/application.yml
注:
1、如果同一个目录下,有application.yml也有application.properties,默认先读取application.properties。
2、如果同一个配置属性,在多个配置文件都配置了,默认使用第1个读取到的,后面读取的不覆盖前面读取到的。
3、创建SpringBoot项目时,一般的配置文件放置在“项目的resources目录下”