使用RVM管理多版本Ruby 安装RVM: GPG keys gpg2 --keyserver keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB \curl -sSL https://get.rvm.io | bash -s stable //codefile: $Home/.zshrc export PATH=$PATH:$HOME/.rvm/bin 使用RVM安装Ruby: rvm install [Version] 使用homebrew安装Ruby brew install ruby rvm mount [/opt/homebrew/Cellar/ruby/3.3.0] 使用RVM切换不同版本Ruby 查询可用版本 rvm list 使用指定版本Ruby rvm use [Version]
安装 sudo dpkg -i gitlab-ce_9.2.5-ce.0_amd64.deb sudo gitlab-ctl reconfigure 如需重启服务 sudo gitlab-ctl restart 备份 sudo gitlab-rake gitlab:backup:create 默认备份文件位置: /var/opt/gitlab/backups 备份配置文件及密匙: /etc/gitlab/gitlab.rb、/etc/gitlab/gitlab-secrets.json 恢复 sudo cp gitlab.rb /etc/gitlab/gitlab.rb sudo cp gitlab-secrets.json /etc/gitlab/gitlab-secrets.json sudo cp 1622265010_2021_05_29_9.2.5_gitlab_backup.tar /var/opt/gitlab/backups/ sudo gitlab-ctl stop unicorn sudo gitlab-ctl stop sidekiq sudo gitlab-ctl status sud
Ubuntu下安装配置Trojan服务 sudo apt-get install trojan 配置文件路径: /etc/trojan/config.json local_port: 服务端监听端口,默认443 password: 密码设置 ssl.cert: SSL证书 ssl.key: SSL证书私钥 //codefile:/etc/trojan/config.json { "run_type": "server", "local_addr": "0.0.0.0", "local_port": 443, "remote_addr": "127.0.0.1", "remote_port": 80, "password": [ "password" ], "log_level": 1, "ssl": { "cert":"/path/to/cert", "key": "/path/to/key", "key_password": "", "cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-
下载M3U8视频并存为MP4格式 ffmpeg -i [https://host/path/to/xxx.m3u8] [output.mp4] 将MP3格式转化为M3U8 ffmpeg -i [input.mp3] -c:a libmp3lame -b:a 128k -map 0:0 -f segment -segment_time 10 -segment_list [output.m3u8] -segment_format mpegts [%03d.ts] 将MP4格式转化为M3U8 ffmpeg -i [input.mp4] -f segment -segment_time 10 -segment_format mpegts -segment_list [output.m3u8] -c copy -bsf:v h264_mp4toannexb -map 0 [%04d.ts] 转成H264编码 ffmpeg -i [input.mp4] -c:v libx264 -preset slow -crf 22 -c:a copy [output.mp4]
/element-name 获取元素名为element-name的根元素。理论上一个合法的XML文件只会有一个根元素。 <!-- this element matched --> <element-name> <parent> <element-name></element-name> </parent> </element-name> //element-name 获取当前元素下所有元素名为element-name的元素。 <root> <parent> <!-- this element matched --> <element-name> <!-- this element matched --> <element-name></element-name> </element-name> <!-- this element matched --> <element-name></element-name> </parent> </root> . 获取当前元素。 .. 获取当前元素的父元素。 * 获取当前元素下所有元素。 //parent/element-name[1] 获取第一个元素名为element-
JAVA安装 安装JAVA SDK sudo apt-get update sudo apt-get install default-jdk 设置JAVA_HOME环境变量 sudo vim /etc/environment 添加以下内容 //codefile:/etc/environment JAVA_HOME="/usr/lib/jvm/[YOUR_JAVA_VERSION]" 刷新配置 source /etc/environment Elasticsearch安装 官网下载deb包,建议用迅雷下载: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-amd64.deb 使用以下命令安装 sudo dpkg -i elasticsearch-7.6.2-amd64.deb 配置Elasticsearch sudo vim /etc/elasticsearch/elasticsearch.yml 修改配置文件 //codefile:/etc/elasticsearch/elasticsearch.yml clus
获取样本数据 获取批量验证码图片 处理样本数据 使用OpenCV将验证码图片二进制化,针对不同平台导入对应平台的runtime包。 <Project Sdk="Microsoft.NET.Sdk"> <ItemGroup> <PackageReference Include="OpenCvSharp4" Version="4.4.0.20200915" /> <PackageReference Include="OpenCvSharp4.runtime.win" Version="4.4.0.20200915" /> </ItemGroup> </Project> public string Binarize(string file, string folder) { folder.EnsureFolder(); var src = Cv2.ImRead(file); var dst = new Mat(); Cv2.PyrMeanShiftFiltering(src, dst, 10, 10); var gray = new Mat(); Cv2.CvtColor(dst, gray, ColorConve
首先,这本书不建议大家费时间通读这。读下概要,或者以下简介就ok啦!因为这本书真是太太太冗余,太太太死板了。 原因是这本书一共主要讲的两点。 一,解释什么是可爱的诅咒;二,怎么克服这个诅咒,活出自己的灿烂生活。 可爱的诅咒:一个好人(称之为可爱的人)因为一些恐惧他人不开心,或者他人不喜欢自己,从来不去拒绝他人的请求,尽自己最大的能力帮助别人,甚至超过自己能力范围,最终让自己活的很糟糕,很累。给的越多,别人期望就越大,这样自己就越累,最终把自己压垮。就像受了诅咒一样,逃不出那个圈。 克服诅咒:分析自己是恐惧别人发怒还是因为害怕别人不喜欢,然后对症下药。勇敢说不,要循序渐进,并且列举了很多事例。反正我是没有记住。 我虽然是个好人,但是还没有到书中提到的那种程度,生活中,虽然有些时候难以直接拒绝别人,但是一般情况下,一些无理的要求,影响我生活的要求,我还是会直接拒绝的。 看了这本书,作用不是很多。但是有句话,我觉得挺受用的“你无需对别人的情绪负责,你有权让别人失望”。
更新Angular CLI npm uninstall -g angular-cli npm cache verify sudo npm install -g @angular/cli@latest 使用ng version查看当前安装的版本 更新Angular ng update @angular/core 创建项目 创建Angular项目目录 ng new angular-apps --createApplication=false --minimal=true 创建Angular应用 ng generate application app-name --minimal=true 创建Component ng generate component component-name --module app 编译项目 ng build app-name --baseHref="/" --prod=true --outputPath="./dist/app-name" 服务端渲染 ng add @nguniversal/express-engine --client-project='app-name'
创建Angular应用 ng new angular-electron cd angular-electron 更新Index.html 更新src/index.html文件,修改/为./ <base href="./"> 如果不想改变Angular项目中的文件,则编译Angular项目时指定base-href参数 ng build --base-href "./" 安装Electron npm install electron --save-dev 如果下载缓慢,可以设置环境变量ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ 添加main.js文件 在angular项目根目录下添加main.js文件 const { app, BrowserWindow } = require('electron') let win; function createWindow () { // Create the browser window. win = new BrowserWindow({ width: 600, height: 600, backgr