11
2021
07

IDEA 小技巧之书签与收藏

首先介绍的是 IDEA 的书签功能,可以通过书签快速跳转到相应的源码。
IDEA 书签分为两种,
  • 匿名书签,可以生成无数个,使用快捷键 F11 快速生成。

  • 标记书签,可以用数字或字母标记书签,总共只能生成 10 个数字以及 26 个字母的标记书签,使用快捷键 Ctrl+F11生成。


19
2021
02

window安装YAPI

0x01.安装nodejs

# i. 下载安装包
# ii. 加入环境变量

0x02.安装mongodb

# i. 下载安装包
# ii. 加入环境变量
# iii. 手动创建 D:\data\db
mongod --dbpath D:\data\db


19
2021
02

删除被占用的文件夹

在资源监视器中搜索文件夹路径,在关联句柄中右键单击,结束进程

18
2021
02

Etcher镜像写入工具使用(可代替Win32DiskImager)

   

13
2021
02

树莓派安装python3.8

sudo  apt-get  update
sudo  apt-get  upgrade
sudo apt-get install build-essential libsqlite3-dev sqlite3 bzip2 libbz2-dev
wget https://www.python.org/ftp/python/3.8.7/Python-3.8.7.tgz
# 手动下载地址 https://www.python.org/downloads/
tar zxvf Python-3.8.7.tgz
cd Python-3.8.7
sudo ./configure
sudo make
sudo make install
04
2021
02

C# Json转Object兼容性测试(Newtonsoft.Json)

namespace JsonToObject
{
    class Program
    {
        static void Main(string[] args)
        {
            // 原始字符串 {"c1":1,"c2":"2","c3":3}
            string json = "{\"c1\":1,\"c2\":\"2\",\"c3\":3}";

            // json字符串中的属性比object中多
            Obj1 obj1 = JsonConvert.DeserializeObject<Obj1>(json);
            Console.WriteLine(JsonConvert.SerializeObject(obj1));

            // json字符串中的属性和object中一致
            Obj2 obj2 = JsonConvert.DeserializeObject<Obj2>(json);
            Console.WriteLine(JsonConvert.SerializeObject(obj2));

            // json字符串中的属性比object中少
            Obj3 obj3 = JsonConvert.DeserializeObject<Obj3>(json);
            Console.WriteLine(JsonConvert.SerializeObject(obj3));

            // json字符串中的属性与object中大小写不一致且类型不一致
            Obj4 obj4 = JsonConvert.DeserializeObject<Obj4>(json);
            Console.WriteLine(JsonConvert.SerializeObject(obj4));
29
2021
01

MySql通过CURRENT_TIMESTAMP实现创建时间与更新时间

在创建时间字段的时候
DEFAULT CURRENT_TIMESTAMP
表示当插入数据的时候,该字段默认值为当前时间
ON UPDATE CURRENT_TIMESTAMP
表示每次更新这条数据的时候,该字段都会更新成当前时间
这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护
如下:
CREATE TABLE `mytest` (
    `text` varchar(255) DEFAULT '' COMMENT '内容',
    `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

28
2021
01

C# Json转DataTable

using Newtonsoft.Json;
// ...
string json = "[{...}]";
DataTable dt = JsonConvert.DeserializeObject<DataTable>(json);
30
2020
06

使用basemap加载shp文件绘制地图

下载安装 pyproj和basemap
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
plt.figure(figsize=(12, 8))
plt.subplots_adjust(left=0.08, bottom=0.08, right=0.95, top=0.95, wspace=0.3, hspace=0.2)
m = Basemap(llcrnrlon=92, llcrnrlat=32, urcrnrlon=109, urcrnrlat=43)
m.readshapefile('../shp/县级线图', 'gs')
plt.savefig('../data/县级线图.png')
plt.show()
10
2020
06

python批量shp文件转json文件

任务说明:需要将shp文件转换为json坐标数据文件,然后加载到地图中,使用python中的pyshp批量完成

第一步:安装pyshp

pip install pyshp

第二步:编写代码

import os
import codecs
import shutil
import shapefile


def shp2json(fn_in, fn_out):
    shps = shapefile.Reader(fn_in)
    # print(shps.shapeRecord())
    i_len = len(shps.shapes())
    print(shps.shpLength)
    print('len:%s' % i_len)

    for i_index in range(i_len):
        fn_out_temp = fn_out
        if i_len > 1:
            fn_out_temp = fn_out[:-5] + '_' + str(i_index + 1) + '.json'
        if os.path.exists(fn_out_temp):
            print('find:%s' % fn_out_temp)

        s = '{"data":[\n%s\n]}'
        s_data = ''
        r = shps.shape(i_index)
        print('shapeTypeName:%s' % r.shapeTypeName)
        ls_p = r.points
        print('point count:%s' % len(ls_p))
        i = -1
        for p in ls_p:
            i += 1
            # print(p[0])

            if i > 0:
                s_data += ',\n'
            s_data += '[%s,%s]' % (p[0], p[1])

        s = s % s_data

        f = open(fn_out_temp, 'w')
        f.write(s)
        f.close()
        print('save:%s' % fn_out_temp)