一本码簿

众里寻码千百度,那段却在github处。

0%

WinGet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
winget install Fndroid.ClashForWindows -e;

winget install voidtools.Everything -e;
winget install AutoHotkey -e;
winget install Microsoft.PowerToys -e;
winget install NickeManarin.ScreenToGif -e;
winget install flux.flux -e;
winget install QL-Win.QuickLook -e;
winget install VideoLAN.VLC -e;
winget install Google.Chrome -e;
winget install Mozilla.Firefox -e;
winget install Tencent.WeChat -e;
winget install Tencent.TIM -e;
winget install Tencent.QQ -e;
winget install Alibaba.DingTalk -e;
winget install evernote.yinxiang -e;
winget install Seafile.Seafile -e;
winget install snipaste;
winget install Kingsoft.WPSOffice-CN -e;
winget install Rufus.Rufus -e;

winget install Tencent.Weiyun -e;
winget install Baidu.BaiduNetdisk -e -h;
winget install Alibaba.aDrive -e -h;
winget install Netease.CloudMusic -e -h;
winget install Tencent.QQMusic -e -h;
winget install Tencent.TencentVideo -e -h;
winget install Tencent.TencentMeeting -e;

winget install Microsoft.WindowsTerminal -e;
winget install Debian.Debian -e;
winget install Canonical.Ubuntu -e;
winget install PremiumSoft.NavicatPremium -e;
winget install VMware.WorkstationPro -e;
winget install WinSCP -e;
winget install JRSoftware.InnoSetup -e;
winget install DBBrowserForSQLite.DBBrowserForSQLite -e;

winget install JetBrains.IntelliJIDEA.Ultimate -e -i -v 212.5284.40;
winget install TortoiseSVN -i;
winget install Microsoft.VisualStudioCode-User-x64 -i;
winget install Microsoft.VisualStudio.Community -i;


winget install OSGeo.QGIS_LTR -e;
winget install Foxit.PhantomPDF -e;

--winget install 7zip.7zip;(安装scoop)
--winget install xftp/xshell;
--winget install arcgis/fme;
--winget install office;
--winget install activepresenter;

Scoop

1
Set-ExecutionPolicy RemoteSigned -scope CurrentUser -Force;iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

scoop install 7zip git-with-openssh gitignore sudo sysinternals nodejs-lts busybox maven -g

npm i -g tldr hexo-cli

npm i -g vue-cli webpack-cli

scoop install cmder yarn python -g

环境

  • Everything %AppData%\Everything\Everything.ini
  • SSH %HOMEPATH%\.ssh
  • Git %HOMEPATH%\.gitconfig
阅读全文 »

准备材料清单

服务

  • ZCEY ITISPR-33_服务级别管理程序-服务目录.xls
  • ZCEY ITISPR-33_服务级别管理程序-IT服务水平协议(SLA).docx
  • ZCEY ITISPR-33_服务级别管理程序-运营级别协议OLAS.doc

项目

  • 系统开发合同/开发任务单
  • 系统需求分析
  • 系统功能设计
  • 系统测试方案
  • 系统测试报告
  • 系统验收报告或功能点验收报告
  • 用户报告

运维

  • ZCEY ITISPR-22_事件管理程序-运维事件汇总记录单.xlsx
  • ZCEY ITISPR-22_事件管理程序-重大事件处理报告单.docx

其他

  • 系统变更记录
  • 系统会议记录
  • 系统巡检记录
  • 其他ITIS文件

安全服务协议

阅读全文 »

常用坐标对应的EPSG编号

cgcs2000_geo: 4490
cgcs2000_3_gk_117E: 4548
cgcs2000_3_gk_120E: 4549
cgcs2000_3_gk_123E: 4550
wgs84_geo: 4326
web_mercator_auxiliary_sphere: 3875
web_mercator(google): 3785

阅读全文 »

管理命令

数据库备份

1
2
3
alias pgbackup='thisFun(){pg_dump -U postgres -F t -ovf /var/pgbak/$1_$(date '+%Y%m%d%H%M%S').tar $1};thisFun'
alias pgbak='pg_dump -h localhost -U postgres -F t -ovf /var/pgbak/njqdb.tar njqdb'
pg_dump -h localhost -U postgres -d njqwebdb > /hdc/njqdbbak/njqweb$(date '+%Y%m%d%H%M%S').bak -v

数据库恢复

1
2
3
alias pgrecover='thisFun(){var=${1%%_*};var=${var##*/};echo $var;pg_restore -U postgres -d ${var} -cv $1};thisFun'
alias pgrec='pg_restore -h localhost -U postgres -d njqdb -cv /var/pgbak/njqdb.tar
psql -h localhost -U postgres -d databasename < C:\databasename.bak

Linux管理

  • 登录数据库 sudo psql -u postgres
  • 导出到表格
1
COPY (SELECT a.corp_name,a.area_code,a.entity_code,b.addr_type,b.addr_content,b.symbol_code,b.geo_addr FROM geo_entity_info as a left join geo_space_info as b on a.corp_id=b.corp_id) TO '/mnt/d/a.csv' WITH csv HEADER;

开启模块扩展

  • 创建数据库

    1
    2
    create database geoTemplate;
    \c geoTemplate;
  • 启用空间数据库模块

    1
    2
    3
    4
    5
    6
    7
    CREATE EXTENSION postgis;
    CREATE EXTENSION pgrouting;
    CREATE EXTENSION postgis_topology;
    CREATE EXTENSION fuzzystrmatch;
    CREATE EXTENSION postgis_tiger_geocoder;
    CREATE EXTENSION address_standardizer;
    CREATE EXTENSION "uuid-ossp";
阅读全文 »

查看系统信息

1
2
3
4
5
6
id -un
uname -a
lsb_release -c
lscpu
lshw
cat /proc/meminfo

初始安装

1
2
3
4
5
6
7
sh -c "$(curl -fsSL https://haies.cn/assets/install-zsh.sh)"
sh -c "$(curl -fsSL https://haies.cn/assets/debian-init.sh)"
sh -c "$(curl -fsSL https://haies.cn/assets/centos-init.sh)"
sh -c "$(curl -fsSL https://haies.cn/assets/ubuntu-init.sh)"
sh -c "$(curl -fsSL https://haies.cn/assets/apt-install.sh)"
sh -c "$(curl -fsSL https://haies.cn/assets/yum-install-docker.sh)"
sh -c "$(curl -fsSL https://haies.cn/assets/dns.sh)"

磁盘管理

查看磁盘格式:lsblk -f
查看磁盘信息:fdisk -l

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mkfs.xfs -f /dev/vdb&&
mkdir /hda&&
mount /dev/vdb /hda&&
echo /dev/vdb /hda xfs defaults 0 0 >> /etc/fstab

mkfs.ext4 -T huge -b 4096 /dev/vdb&&
mkdir /hda&&
mount /dev/vdb /hda&&
echo /dev/vdb /hda ext4 defaults 0 0 >> /etc/fstab

mkfs.ext3 -T largefile -i 4096 /dev/xvdb1&&
mkdir /hda&&
mount /dev/xvdb1 /hda&&
echo /dev/xvdb1 /hda ext3 defaults 0 0 >> /etc/fstab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
parted /dev/sda
resizepart 2
pvresize /dev/sda
lvextend -l +100%FREE /dev/mapper/centos-home
xfs_growfs /dev/mapper/centos-home

fdisk /dev/sdb
pvcreate /dev/sdb1
vgextend ubuntu-vg /dev/sdb1
lvextend -L +9G /dev/ubuntu-vg/root

pvs
vgs
lvs

pvdisplay
vgdisplay
lvdisplay

NTFS读写

1
2
3
apt-get install ntfs-3g
mount -t ntfs-3g /dev/hdax /mnt/windows
/dev/hdax /mnt/windows ntfs-3g defaults 0 0
阅读全文 »

系统环境

1.安装node.js

2.安装cnpm

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

3.安装vue-cli

1
cnpm i vue-cli

4.下载代码并进入代码目录下进行模块安装

1
cnpm i

IDEA配置

  1. File->settings->plugins 安装 node 插件和 vue.js 插件,重启IDEA
  2. 配置启动项如下图:
    启动项配置
阅读全文 »

获取文件夹指定类型的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private File[] getFilterFiles(String path, String[] suffix) {

File baseFolder = new File(path);
if(!baseFolder.isDirectory())return null;

FileFilter imageFilter = pathname -> {
String fileName = pathname.getName().toLowerCase();
for (String s : suffix) {
if (fileName.endsWith(s.toLowerCase())) return true;
}
return false;
};

return baseFolder.listFiles(imageFilter);
}

二维表转树Json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class itemType;
class itemTypeTree extetends itemType{
List<itemTypeTree> children;
}

private List<ItemTypeTree> recursionNode(List<ItemType> list, ItemType itemTree) {

if(list==null)return null;
if(itemTree==null)itemTree=new ItemTypeTree();
return getChildNode(list,itemTree).stream()
.map(item -> {
if(getChildNode(list,item).size()>0){
item.setChildren(recursionNode(list,item));
}
return item;
})
.collect(Collectors.toList());
}
private List<ItemTypeTree> getChildNode(List<ItemType> list,ItemType itemTree){
return list.stream()
.filter(item -> {
if(StringUtils.isBlank(itemTree.getTypecode())){
return StringUtils.isBlank(item.getParentcode());
}else {
return item.getParentcode().equals(itemTree.getTypecode());
}
})
.map(itemType -> {
ItemTypeTree itemTypeTree=new ItemTypeTree();
BeanUtils.copyProperties(itemType,itemTypeTree);
return itemTypeTree;
})
.collect(Collectors.toList());
}
阅读全文 »

跨表查询统计

1
2
3
4
5
6
SELECT xcz_item.code,xcz_region."name","type","count"(xcz_item.code) AS count
FROM xcz_item
LEFT JOIN xcz_region
ON xcz_item.code LIKE '330604%' AND xcz_item.code=xcz_region.code
GROUP BY xcz_item.code,"type",xcz_region."name"
ORDER BY xcz_item.code ,"type"

跨表条件统计

1
2
3
4
5
6
7
8
9
10
SELECT DISTINCT a.code,a.name,
COALESCE(count(b.*),0) AS total,
sum(CASE WHEN b.state = 4 THEN 1 ELSE 0 END) AS finished,
sum(CASE WHEN b.state <>4 OR b.state IS NULL THEN 1 ELSE 0 END) AS unfinished,
st_astext(st_centroid(a.geom)) AS position
FROM xcz_region a left join xcz_item b
ON a.code=b.code
WHERE a.need=1 AND b.type='1001'
GROUP BY a.code,a.name,a.geom
ORDER BY a.code

图形操作

  • 空间查询
    1
    2
    SELECT count(*) FROM njq_dk WHERE st_intersects(geom,st_geomfromtext('MULTIPOLYGON(((120.92 29.37,120.93 29.37,120.93 29.38,120.92 29.37,120.92 29.37)))',4326))
    SELECT count(*) FROM njq_dk WHERE st_intersects(geom,st_geomfromtext('POLYGON((120.92 29.37,120.93 29.37,120.93 29.38,120.92 29.37,120.92 29.37))',4326))
  • 创建空间索引
    1
    2
    3
    4
    create extension pg_trgm;
    update pg_opclass set opcdefault = true where opcname='gin_trgm_ops';
    CREATE index on njq_dk USING gist (geom);
    CREATE index on njq_dk USING gin (geom gin_trgm_ops);
  • 外包多边形
    1
    select ST_AsText(ST_ConvexHull(ST_Collect(geom))) FROM xcz_region
  • 外包矩形
    1
    select ST_AsText(st_Envelope(ST_Collect(geom))) FROM xcz_region
  • 中心点(面质心)
    1
    select st_astext(st_centroid(geom)) FROM xcz_region
  • 面上点(和面lable位置一致)
    1
    select st_astext(st_PointOnSurface(geom)) FROM xcz_region
阅读全文 »

生成密钥

ssh-keygen -t rsa -C “username@email.com

添加本地仓库到github

  1. git init
  2. git remote add origin git@github.com:bxxfighting/NowToDo.git
  3. git branch -u origin/master
  4. git pull

忽略已提交文件

  1. 先用如下命令: git rm -r --cached filename
  2. 再更新.gitignore文件忽略相关文件

创建git使用步骤

  1. 生成ssh key: git bash下运行 ssh-keygen -t rsa -C”username”,然后三个回车,密码为空,上传用户文件夹下的公钥 id_rsa.pub 到服务器
  2. 配置全局用户名 git config –global user.name “hai”、email git config –global user.email “username@email.com
  3. 配置cr、crlf转换 git config –global core.autocrlf input
  4. 配置safecrlf转换 git config –global core.safecrlf true
  5. 下载代码 git clone git@l.zjchey.com:code/NjqWeb.git
  6. 创建并切换分支 git checkout -b dev
  7. 建立当前本地分支dev和远程dev分支track git branch -u origin/dev
  8. 获取代码 git pull(相当向下箭头),提交代码 git add. git commit -m “message” git push(相当在vcs右键 commit changes)

git分支

  1. 创建分支 git branch < branch_name >,切换分支 git checkout < branch_name >,创建并切换分支 git checkout -b < branch_name >
  2. 显示本地分支 git branch,显示远程分支 git branch -r,显示本地和远程分支 git branch -a
  3. 获取远程分支 git pull origin < branch_name > 或者 git pull
  4. 推送到远程分支,git push origin < local_branch_name >:< remote_branch_name >,若本地分支和远程分支tracked,可简写为 git push,若 < local_branch_name > 为空,则删除远程分支
  5. 获取远程新分支 git checkout -b < local-branchname > origin/ < remote_branchname>
  6. 删除本地分支 git branch -d < branch_name >,删除远程分支 git branch -d -r orign/< branch_name >
  7. 合并分支 git merge < branch_name >
  8. 建立当前本地分支dev和远程dev分支track git branch -u origin/dev,新建和远程dev分支tracked的本地分支 git branch –track dev origin/dev
  9. 查看本地分支和远程分支是否tracked git branch -vv
  10. 分支重命名 git branch -m oldbranch newbranch
阅读全文 »

insert返回主键

1
2
3
<insert id="insertSelective" parameterType="com.web.quickwork.entity.UserProject"
useGeneratedKeys="true" keyProperty="id">
</insert>
1
2
3
4
5
<insert id="insertSelective" parameterType="com.zjchey.xxfy.geoCity.entity.Report">
<selectKey keyProperty="uid" order="BEFORE" resultType="java.lang.Object">
SELECT uuid_generate_v4()
</selectKey>
</insert>
1
2
3
4
5
<insert id="insertSelective" parameterType="com.web.quickwork.entity.UserProject" >
<selectKey resultType="long" order="AFTER" keyProperty="id">
SELECT MAX (ID) FROM USERPROJECT
</selectKey>
</insert>
阅读全文 »