分类: 偶而学习

浪费了时间,学了点东西,推荐一些优秀资源。

  • 增程式电动车的一个设计思路

    现在的增程式新能源经常被吐槽,有电没电差别太大也是硬伤

    怎么没有哪家换个思路,把从油车的设计思路转成电车的设计思路,真正只考虑给电车配发电机,绝不考虑用增程器发电直接给发动机用。完全可以这样入手啊

    1. 电池这样设计,一块切成两半用,这半用完用另一半,前半边供电时后半边可以充电,切换起来如丝般顺滑
    2. 增程器1小时能发10度电就够了甚至更小都可以,只运行在最佳状态,声音又小效率又高能耗又低,对电池又友好

    一半电池还剩20%时切换到另一半电池,然后增程器为这一半电池充电,来回折腾,确实是一点电都没有的话停车发电,发1小时电能跑50公里去找充电桩,这样既没里程焦虑,也不用担心抢不到充电桩,而且开起来99%接近电车感觉

  • 统计用行政区划代码

    统计局2023版,包括村以上代码,620494条

    https://f.kdocs.cn/page/w/2WegRq02

  • 解决Acrobat DC打开电子发票显示不全的问题

    解决Acrobat DC打开电子发票显示不全的问题

    问题表现

    Windows 10系统下Adobe Acrobat DC 2022.001.20085打开某些电子发票一些固定元素显示不出来,打印出来也没有,用Edge或者WPS打开就是正常的

    (更多…)
  • WPS企业版序列号

    694BF-YUDBG-EAR69-BPRGB-ATQXH

    https://ep.wps.cn/download 11.8.2.11500输入后会提示无限制,不得不说其实金山在线文档确实做得不错

  • 解决Excel每个单元格打印成一页

    主要表现就是打印预览时本来没有几页的文档会变成很多页,而且每页几乎没有内容,取消预览后出现很多分页符,页面布局视图时每个单元格变成一页,分区预览视图时也一样,很多蓝色虚线,或者是普通预览没问题,设置了将所有列缩放为一页就会出这个问题,在进行页面设置时会提示边界设置不适用于指定的纸张大小,设置缩放比例时不是内容缩放而且纸张在缩放

    出现的原因是Excel与打印机之间的沟通出了点问题,互相没理解到对方说的分页、缩放是啥子意思

    解决方法是用WPS,或者删除打印驱动重新安装,或者换个打印机试试,或者先用虚拟打印打印机打印成PDF文件

  • Excel 数字转大写金额

    金山WPS确实更懂国人需求,直接集成了大写人民币格式,但就是与Excel不兼容,这里有一个大家都兼容的方法

    基本思路是整数用[DBNum2]生成大写,然后处理角,再处理分,这里面没去判断数量小数超过2位的问题,要判断也简单,用ROUND函数

    =TEXT(INT(A1),"[DBNum2]")&"元"&IF(INT(A1)=A1,"整",TEXT(RIGHT(TRUNC(A1,1)),"[DBNum2]")&"角")&IF(TRUNC(A1,2)=TRUNC(A1,1),"",TEXT(RIGHT(A1),"[DBNum2]")&"分")
    =TEXT(INT(A1),”[DBNum2]”)&”元”=IF(INT(A1)=A1,”整”,TEXT(RIGHT(TRUNC(A1,1)),”[DBNum2]”)&”角”)=IF(TRUNC(A1,2)=TRUNC(A1,1),””,TEXT(RIGHT(A1),”[DBNum2]”)&”分”)
    250.41 贰佰伍拾元肆角壹分
    250.4贰佰伍拾元肆角
    250贰佰伍拾元

    Word格式里面
    [DBNum2]表示中文大写壹贰叁
    [DBNum1]表示中文小写一二三

    Excel域格式里面
    EEEE年O月A日星期W表示二〇二一年八月五日星期四
    \* CHINESENUM3表示二百五十
    \* CHINESENUM2表示贰佰伍拾
    \* CHINESENUM1表示二五〇

  • 各省市标准地图

    自然资源部全国标准地图
    http://bzdt.ch.mnr.gov.cn/index.html

    北京,时效不行
    http://beijing.tianditu.gov.cn/bzdt/

    天津,聊胜于无
    http://ghhzrzy.tj.gov.cn/bsfw_143/bzdt/

    重庆,图多、更新及时、方便易用

    重庆地势图

    上海,聊胜于无
    http://shanghai.tianditu.gov.cn/map/views/standardMap.html

    西藏
    http://zrzyt.xizang.gov.cn/fw/zyxz/202004/t20200430_139102.html

    新疆
    http://xinjiang.tianditu.gov.cn/main/bzdt.html

    四川,到县一级
    http://scsm.mnr.gov.cn/nbzdt.htm

    贵州
    http://zrzy.guizhou.gov.cn/zfxxgk/zfxxgkml/chgl/dtfw/

    湖北
    http://hubei.tianditu.gov.cn/standardMap
    http://zrzyt.hubei.gov.cn/bsfw/bmcxfw/bzdtfw/

    河北
    http://hebei.tianditu.gov.cn/bzdt/

    山西,尚可
    http://zrzyt.shanxi.gov.cn/zwgk/bzdt/sxsdt/

    内蒙古
    http://zrzy.nmg.gov.cn/bsfw/bzdt/

    辽宁
    http://liaoning.tianditu.gov.cn/standardmap/index.html

    吉林,到县一级
    http://jilin.tianditu.gov.cn/liquor-viewer/standardMap.do

    黑龙江
    http://hlsm.mnr.gov.cn/ggfw/xzfw/2c907f087167b849017167c321fa060f.html

    江苏
    http://zrzy.jiangsu.gov.cn/jsbzdt/index.html

    浙江,到县级,格式全,但最大只有8开
    https://zhejiang.tianditu.gov.cn/standard/view

    安徽
    http://zrzyt.ah.gov.cn/site/tpl/1034671041

    福建,
    http://bzdt.fjmap.net/

    江西
    http://bnr.jiangxi.gov.cn/col/col45382/index.html

    山东,5481幅,图多,样式全,更新及时
    http://dnr.shandong.gov.cn/tplj_30790/sdsgtzytbzdtfw/

    河南,到县一级
    http://henan.tianditu.gov.cn/downMap

    湖南
    http://www.dzmap.cn/TDTHN/tjxz/index.html

    广东
    http://nr.gd.gov.cn/gdlrcms/stcms/layout.html
    http://nr.gd.gov.cn/map/bzdt/Home.aspx

    广西
    http://www.gismap.com.cn/mapcenter/static/mapcenter/page/index.html

    海南
    http://hism.mnr.gov.cn/sjkf/bzdt/index.html

    云南
    https://yunnan.tianditu.gov.cn/MapResource

    陕西
    http://snsm.mnr.gov.cn/Information/BiaoZhunDiTuPage/1131

    甘肃
    http://zrzy.gansu.gov.cn/list-f62c5105baa948179d867c5ebc13fb16-1.htm

    青海
    http://zrzyt.qinghai.gov.cn/text-?vid=34010

    宁夏
    http://ningxia.tianditu.gov.cn/tuji

  • SELinux出错导致系统无法启动

    CentOS 7.9安装了snap后开机时提示:failed to load SELinux policy。然后就是卡住进不去系统
    解决方法就是开机(虚机进noVNC)选择引导时,按 e,在 LANG=zh_CN.UTF-8 后面添加 selinux=0 然后按 Ctrl+X 进系统
    重点来了,怎么修复
    如果你本身就想禁用,打开 sudo vi /etc/selinux/config 修改 SELINUX=disabled
    或者直接

    sudo yum remove selinux-policy
    sudo yum install selinux-policy
  • Word自动更新样式表导致的奇怪问题

    典型表现就是Word里面设置不同正文样式后保存重新打开就还原了,比如正文默认五号字修改成四号字,关闭重新打开又变成五号字了,但是WPS里面就不会出这个问题,这里面核心的就是word\settings.xml里面的这个设置项

     <w:linkStyles/>

    Word开发工具(默认不显示,需要在选项里面自定义功能区勾选)里面的文档模板选项里面有个设置叫自动更新文档样式,这个参数勾上每次打开就会读取默认模板并更新到当前文件,所以就会出些感觉很奇怪的问题,WPS没有这个选项,也不自动更新,所以一切正常

  • 解决 Excel 使用中假死

    系统 Win10 + Office 365,打开 Excel 的时候非常慢,使用的时候隔几十秒就假死,十几秒之后才恢复,网上提供的方法关闭ddexc、关闭情况报告之类的都不管用,经过不断排查,发现原因大概是这样的

    如果电脑不连网或者连互联网都没问题,但是我的电脑是连单独的局域网(不与互联网联通),Excel 不知道是哪个地方设计有问题,就会联网不知是查询数据还是上传数据,导致假死,解决方法就是在防火墙中禁止 Excel 外连

  • PHP 按指定顺序重命名文件

    有的时候总会遇到这样的问题,一个文件夹中每个单位一个文件,不想保存文件时就编好文件顺序,找了下 CMD 批处理好像不太好解决,于是乎想到可以用 PHP 来实现

    $name = array('北京', '上海', '天津', '重庆');
    $dir = scandir('./');
    foreach ($dir as $item) {
        if (is_file($item)) {
            foreach ($name as $key => $value) {
                //数组排序是从0开始,1位数字的补足2位
                $key = str_pad(++$key, 2, 0, STR_PAD_LEFT);
                if (false !== stripos($item, $value)) {
                    echo "\n\t将把 ".$item.' 重命名为 '.$key . $item."\n";
                    sleep(1);
                    rename($item, $key . $item);
                }
            }
        }
    }
    echo "\n\t\t重命名结束";

    把上面的代码保存为 rename.php,然后把 php.exephp7.dllrename.php 放到文件夹 rename
    新建一个批处理 rename\php rename.php
    把这个批处理和 rename 文件夹复制到需要重命名的文件夹,运行批处理就可以解决问题了

  • ExifTool 为照片添加中文注释

    ExifTool 所说是查看修改 EXIF 信息最好的工具,但是在 Windows 下如果要添加中文注释大都因为编码问题导致是乱码而无法读取,通过生成临时文件的方法可以解决这个问题

    @echo off
    color 1C
    chcp 65001
    cls
    echo.
    echo.
    echo                     请输入需要修改的图片的描述信息
    echo.
    set /p description=
    echo %description% > %temp%\tmp.txt
    exiftool -k -P -overwrite_original "-ImageDescription<=%temp%\tmp.txt" *.jpg
    del %temp%\tmp.txt
  • Excel 准确计算年初年尾周数

    有的时候想要计算全年的周数,比如下面这个表,不管是用=ISOWEEKNUM(B2),还是=WEEKNUM(B2,2),都会面临年初年尾都没达到预期的问题,虽然可以通过计算C2来临时解决问题,但是换一年呢

    12018-12-312019-1-12019-1-22019-1-32019-1-42019-1-52019-1-6
    22019-1-72019-1-82019-1-92019-1-102019-1-112019-1-122019-1-13
    …………………………………………
    522019-12-232019-12-242019-12-252019-12-262019-12-272019-12-282019-12-29
    532019-12-302019-12-312020-1-12020-1-22020-1-32020-1-42020-1-5

    但是变成 WEEKNUM(MEDIAN(DATE(2019,1,1),DATE(2019,12,31),B2),2) 的话就完美达到预期

    这其中重点是 MEDIAN,这个函数奇数个参数的时候是返回中间值,不是平均值,所以加一个年初1月1日,年尾12月31日,确保出现的任何一个日期都是在年内的,计算出的周数当然也是我们想要的了

  • Windows 下使用 OpenSSL 生成自签名证书

    解决了几个问题,1.生成自签名根证书,2.生成中间证书,3.为网站签发证书,4.多域名多IP签发证书

    首先下载 OpenSSL 解压,打开cmd,切换到 OpenSSL 目录,将当前上当添加到环境变量便于操作

    set path=%path%%cd%;

    创建目录来保存所有东西

    mkdir ca

    创建openssl的工作目录,不会自动创建相关文件,很坑的一个东西,后面会说到

    mkdir .\demoCA\newcerts
    cd . > demoCA\index.txt
    cd . > demoCA\index.txt.attr
    cd . > demoCA\cacert.pem
    echo 01 > .\demoCA\serial

    复制一个配置文件以便可以生成中文根证书

    copy openssl.cnf openssl-ca.cnf

    修改openssl-utf8.cnf,修改前把字符编码调整为UTF-8或者修改完另存为UTF-8编码
    修改 [ CA_default ] 段

    copy_extensions = copy

    修改 [ req_distinguished_name ]段,有些_default没得的自己对照复制一个就可以了

    countryName_default                     = CN
    stateOrProvinceName_default        = 北京市
    localityName_default                      = 海淀区
    0.organizationName_default          = 百度公司
    organizationalUnitName_default   = 百度公司的一个部门
    commonName_default                   = 百度
    emailAddress_default                     = [email protected]

    不改配置的话可能会有这些错误

    The commonName field needed to be supplied and was missing

    复制一个配置文件以便可以生成中文证书,修改内容同上

    copy openssl.cnf openssl-subca.cnf

    修改[ policy_match ]段,这段用根CA生成网站证书的时候会用到

    countryName = supplied
    stateOrProvinceName = supplied
    organizationName = supplied

    不改的话会提示

    The stateOrProvinceName field is different between CA certificate and the request

    复制一个配置文件以便可以生成网站

    copy openssl.cnf openssl-web.cnf

    在[ v3_req ]段最后添加下面这些内容,签发多域名证书的关键,IP访问的必须设置成IP,不这样操作 Chrome 会报错

    subjectAltName = IP:192.168.1.1,IP:192.168.1.2
    subjectAltName = DNS:www.baidu.com, DNS:pan.baidu.com

    其它内容同上,commonName 一般情况下是网址,如果配置了subjectAltName也可以不是
    生成私钥、证书请求、根证书,batch表示不弹出提示,避免乱码

    openssl genrsa -out ./ca/ca.key 4096
    openssl req -new -utf8 -config openssl-ca.cnf -key ./ca/ca.key -out ./ca/ca.csr -batch
    openssl ca -utf8 -config openssl-ca.cnf -in ./ca/ca.csr -out ./ca/ca.cer -keyfile ./ca/ca.key -selfsign -startdate 20000101000000Z -enddate 21000101000000Z -extensions v3_ca -rand_serial

    网上通用是通过 x509 设置,但是官方文档说了这样不能设置 startdate 和 enddate ,-preserve_dates 应该是与 -CA 一起用的

    openssl x509 -req -in ./ca/ca.csr -out ./ca/ca.cer -signkey ./ca/ca.key -extfile openssl-ca.cnf -extensions v3_ca -days 41882 -set_serial 01
    openssl x509 -in ./ca/ca.cer -text

    现在把ca.cer安装到「受信任的根证书颁发机构」,用配套私钥签发的证书就像真的一样
    或者还有更简单的一句话解决,没有私钥的情况下

    openssl req -x509 -days 41882 -newkey rsa:4096 -utf8 -config openssl-ca.cnf -keyout ./ca/ca.key -out ./ca/ca.cer -batch -nodes -extensions v3_ca

    有私钥的情况下

    openssl req -new -x509 -days 41882 -utf8 -config openssl-ca.cnf -key ./ca/ca.key -out ./ca/ca.cer -batch -extensions v3_ca

    生成子证书,与生成网站证书的区别在于 -extensions v3_ca

    openssl genrsa -out ./ca/subca.key 2048
    openssl req -new -utf8 -config openssl-subca.cnf -key ./ca/subca.key -out ./ca/subca.csr -batch
    openssl ca -utf8 -config openssl-subca.cnf -in ./ca/subca.csr -out ./ca/subca.cer -cert ./ca/ca.cer -keyfile ./ca/ca.key -startdate 20111111000000Z -enddate 20380101000000Z -rand_serial -extensions v3_ca

    然后假装是大佬给小网站发证书
    生成私钥、证书请求、根证书,密码长度越长越慢,越短越不安全,当前一般为2048

    openssl genrsa -out ./ca/web.key 2048
    openssl req -new -utf8 -config openssl-web.cnf -key ./ca/web.key -out ./ca/web.csr -batch

    重点来了,用根证书或者中间证书给这个请求签发证书

    openssl ca -in ./ca/web.csr -out ./ca/web.cer -cert ./ca/subca.cer -keyfile ./ca/subca.key -utf8 -config openssl-web.cnf -startdate 20180828000000Z -enddate 20380828000000Z -extensions v3_req -rand_serial
    openssl x509 -in ./ca/web.cer -text

    然后证书就已经生成好了,web.cer 和 web.key 两个是最重要的,现在可以用了
    如果要把所有的打包到一起

    openssl pkcs12 -export -out ./ca/ca.p12 -inkey ./ca/ca.key -in ./ca/ca.cer

    如果没有 demoCA 那一堆操作,可能会遇到这些坑

    ./demoCA/newcerts: No such file or directory
    15828:error:02001002:system library:fopen:No such file or directory::0:fopen('./demoCA/index.txt.attr','r')
    error while loading serial number
    15828:error:02001002:system library:fopen:No such file or directory::0:fopen('./demoCA/serial','r')
    Can't open ./demoCA/cacert.pem for reading, No such file or directory
    unable to load certificate

    另外如果你用 Windows 证书管理器导出的CA有时需要提取私钥公钥

    openssl pkcs12 -in ./ca/ca.p12 -nocerts -nodes -out ./ca/temp.key

    提取私钥

    openssl rsa -in ./ca/temp.key -out ./ca/web.key

    提取公钥

    openssl rsa -in ./ca/temp.key -pubout -out ./ca/web.pub
  • 餐饮业一个事后营销的脑洞

    现在的餐饮业营销好像都主要集中于前端,比如菜品8折、抢6折优惠券、啤酒免费、火锅锅底免费、满200减20等等之类的,这些营销对于消费者来说都是吃之前就有心理预期,不过好像现在大部分的行业都是这样营销的,网上营销也跳不出这个坑,今天吃饭的时候突然想到如果我来做餐饮我就做个事后营销,因为没人做啊
    (更多…)

  • 支付宝微信如何打开线下的一个脑洞

    最近支付宝搞的免费发红包的活动确实有点发动人民群众的意思,但是我感觉还是有些人不知道,为什么不知道,因为整个城市(N线不发达城市)可能80%的人都不知道也不关心,当然没达到效果,因为支付宝的优势是商家,微信的优势是人脉,所以有个脑洞给支付宝建议下,真正打通线上线下,把现在推广的无人超市变自助超市,一步一步来,微信挡都挡不住
    (更多…)

  • 准确查找重复身份证号

    通常查找重复身份证号的方法,一是用 Excel 自带的条件格式(单击“开始”>“条件格式”>“突出显示单元格规则”>“重复值”),另一种是使用=COUNTIF(A:A,A2)通过判断出现次数来查找重复,但很多不同的身份证号都被视为相同的,在处理大量数据时会非常影响效率
    (更多…)

  • SharePoint 2016 SPUpgradeException 错误解决方法

    安装完 SharePoint Server 2016 运行产品配置向导时出现错误,提示信息

    未能创建数据库。
    已引发 Exception:Microsoft.SharePoint.Upgrade.SPUpgradeException 的异常。其它异常信息:未能加载一个或多个类型。

    检查数据库时发现数据库已经生成了,在网上搜索了好久都没能解决问题,最后发现还是搜英文管用
    (更多…)

  • 全国历年县以上行政区划

    县以上行政区划用到的地方很多,但是准而全的很少,网上数据多来自于统计局,于是花了点时间搜集整理了一下,所有数据都来自于民政部,手工复制粘贴,难免出错,要查找准确区划、人口、面积、区划、区号、邮编去这里 http://xzqh.mca.gov.cn/
    民政部是按实际区划来的,没有市辖区这种汇总码,统计局有。国家标准化管理委员会是专管这些的
    (更多…)

  • Ingress 密码共享

    Ingress Passcode 也叫密码、兑换码,是个挺好用的东西,某些情况下救急可以迅速补充装备,不过就是有点麻烦,1.不太好找,2.可能兑完老,3.没兑完但已经兑过老,于是看看有没有简单的方法可以解决这些问题
    (更多…)