<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zcmain的专栏]]></title><description><![CDATA[要么看书 要么旅行 身体或心灵总要有一样在路上。]]></description><link>https://blog.youkuaiyun.com/zcmain</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zcmain]]></copyright><item><title><![CDATA[git常用命令]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/120346871</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/120346871</guid><author>zcmain</author><pubDate>Fri, 17 Sep 2021 12:53:26 +0800</pubDate><description><![CDATA[git常用命令
文章目录git常用命令账号配置git 文件管理分支管理命令行指引Git 全局设置git clonegit remote远程创建一个新仓库，克隆到本地将本地现存项目推送到到远程仓库将本地已有的Git仓库项目推送到一个新的地址（或者说更改现有的git仓库远程地址）git地址迁移一台主机配置可访问多个github仓库地址
账号配置


MAC配置全局的git账户

查看所有账户信息

git config --list


查看当前全局的git账户信息

git config user.na...]]></description><category></category></item><item><title><![CDATA[国密算法—SM2介绍及基于BC的实现]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/114099664</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/114099664</guid><author>zcmain</author><pubDate>Thu, 25 Feb 2021 19:03:48 +0800</pubDate><description><![CDATA[国密算法—SM2介绍及基于BC的实现
文章目录国密算法—SM2介绍及基于BC的实现简介私钥公钥数据格式密钥数据格式私钥数据格式公钥数据格式加密数据格式签名数据格式计算过程生成密钥加密解密预处理预处理1预处理2数字签名签名验证Java基于BC实现SM2加解密
简介
SM2密码算法是一种椭圆(非对称)密码算法

加密强度：256位（私钥长度）；
公私钥长度：公钥长度为64字节(512位)，私钥32字节（256位）；
支持签名最大数据量及签名结果长度：最大签名数据量长度无限制；签名结果为64字节（但由于签名后会做]]></description><category></category></item><item><title><![CDATA[https免费证书申请及部署流程]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/109071729</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/109071729</guid><author>zcmain</author><pubDate>Wed, 14 Oct 2020 14:00:28 +0800</pubDate><description><![CDATA[文章目录申请地址申请流程linux tomcat部署https证书扩展申请证书-域名验证配置指南
申请地址

FreeSSL.cn

申请流程


填写域名及选择品牌



输入邮箱并选择生成方式（我这里选择离线生成）


安装KeyManager重新尝试


keymanager生成CSR文件成功，返回网页继续


进入域名购买商平台(我这里是阿里云平台)，验证DNS
具体配置指南参考扩展（注意先点一下右下角检测，没问题再点验证按钮）


配置好之后点击验证，验证成功，即成功生成证书信息
其中私钥存储在k]]></description><category></category></item><item><title><![CDATA[创建基于Springboot的RESTFUl服务并打包发布]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/108366785</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/108366785</guid><author>zcmain</author><pubDate>Wed, 02 Sep 2020 18:04:05 +0800</pubDate><description><![CDATA[文章目录创建项目编写代码打包发布打包jar打包war扩展Maven引入本地Jar包并打包进War包中
创建项目

IntelliJ IDE选择New—&gt;Project—&gt;Spring Initializr 
设置项目group、Artifact、type、Language、Packaging、Java Version

下一步选择Web—&gt;Spring Web

下一步填写项目名称及存储路径

下一步点击完成，开始初始化项目下载maven依赖的包
PS：初次创建项目，下载依赖包会耗时很久，]]></description><category></category></item><item><title><![CDATA[微信支付(商户平台)卡券开发文档]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/108197554</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/108197554</guid><author>zcmain</author><pubDate>Mon, 24 Aug 2020 13:36:40 +0800</pubDate><description><![CDATA[文章目录简介代金券代金券分类预充值代金券免充值代金券发券渠道二维码发券营销活动发券高级API接口发券核销方式支付中自动核销券操作指引开发前准备开通代金券权限下载API证书商户平台操作创建代金券激活代金券发放代金券管理代金券API接口操作创建代金券激活代金券发放代金券管理代金券商家券商家券分类满减券折扣券换购券发券渠道商家自有流量场景微信支付平台流量场景核销方式线上小程序核销（MINI_PROGRAMS）线下滴码核销（OFF_LINE）微信支付付款码核销（PAYMENT_CODE）用户自助核销（SELF_CO]]></description><category></category></item><item><title><![CDATA[微信公众平台卡券API接口开发指南]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/108195939</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/108195939</guid><author>zcmain</author><pubDate>Mon, 24 Aug 2020 11:47:11 +0800</pubDate><description><![CDATA[文章目录说明卡券术语介绍卡券生命周期流程图准备申请开发账号公众平台开发配置公众号开发信息配置填写服务器配置并验证有效性申请微信认证及开通微信卡券功能卡券分类普通卡券会员卡券朋友的券特殊票券接口开发创建卡券1. 获取access_token接口2. 上传卡券Logo3. ~~设置卡券适用门店~~（可选）4. 选取卡券背景颜色5. 创建卡券（这里以团购券为例）注意事项跳转外链带参数说明投放卡券二维码投放JS-SDK投放微信卡券货架投放公众号下发消息投放添加测试白名单账号核销卡券线下核销线上核销管理卡券查询Cod]]></description><category></category></item><item><title><![CDATA[微信公众平台卡劵功能接入指南]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/108195656</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/108195656</guid><author>zcmain</author><pubDate>Mon, 24 Aug 2020 11:18:23 +0800</pubDate><description><![CDATA[文章目录1. 微信卡券功能介绍2. 申请方式2.1 公众平台申请2.2 开放平台申请3. 申请条件3.1 公众平台条件3.2 开放平台条件4. 申请种类、类目、商户类型4.1 开放种类4.2 开放类目4.3 开放商户类型5. 申请流程及步骤5.1 申请流程5.2 申请步骤5.2.1 公众平台申请步骤5.2.2 开放平台申请步骤6. 开发流程6.1 制作普通卡券通过微信公众平台制作(免开发)6.2 卡券投放6.3 卡券核销扩展微信《卡券功能申请类目与资质审核要求》微信《卡券违规处罚及清退规则》
1. 微信卡券]]></description><category></category></item><item><title><![CDATA[RN图表组件react-native-charts-wrapper]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/107909374</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/107909374</guid><author>zcmain</author><pubDate>Mon, 10 Aug 2020 12:09:38 +0800</pubDate><description><![CDATA[文章目录组件安装组件使用组件属性一. 散点图组件(ScatterChart)二. 饼图组件(PieChart)三. 折线图组件(LineChart)五. 柱状图(BarChart)
效果图

组件安装
//安装
yarn add react-native-charts-wrapper

组件使用
//引入组件
import {
    LineChart,
    ScatterChart,
    ...
} from 'react-native-charts-wrapper';

//使用
&lt;Sc]]></description><category></category></item><item><title><![CDATA[微信支付模式介绍]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/107413456</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/107413456</guid><author>zcmain</author><pubDate>Fri, 17 Jul 2020 17:56:30 +0800</pubDate><description><![CDATA[文章目录支付模式介绍普通商户版说明账号申请指引（以下以小程序为例）开发指引服务商版说明账号申请指引开发指引特约商户进件银行服务商版扩展微信开放平台微信公众平台微信商户平台微信服务商平台APP拉起微信小程序
支付模式介绍
普通商户版
说明

普通商户版是最常规的普通支付模式，可以进行交易直连商户收款，但是不能拓展子商户。
开发者需要申请自己的appId和mach_id，同时两者需具备绑定关系，以此具备微信支付能力。

账号申请指引（以下以小程序为例）


登录微信公众平台，注册一个小程序的开发者账号。申请指引]]></description><category></category></item><item><title><![CDATA[Artifactory-oos搭建私有Maven仓库]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/107208293</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/107208293</guid><author>zcmain</author><pubDate>Wed, 08 Jul 2020 17:08:19 +0800</pubDate><description><![CDATA[Artifactory搭建私有Maven仓库及使用
文章目录Artifactory搭建私有Maven仓库及使用1.下载并解压 Artifactory2. 启动Artifactory配置3. 创建私有仓库3.1 New Local Repository（新建本地仓库）手动部署包动态部署包3.2 New Remote Repository（新建远程仓库）3.3 New Virtual Repository(新建虚拟仓库)扩展阿里云代理公共仓库列表内网用户访问私有Maven上资源出现401
在涉及到模块化开发过程]]></description><category></category></item><item><title><![CDATA[Android NDK—CMake配置及使用]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/107005861</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/107005861</guid><author>zcmain</author><pubDate>Sun, 28 Jun 2020 19:03:58 +0800</pubDate><description><![CDATA[文章目录安装NDK和CMake新建NDK项目代码实现编译构建如何使用自身项目使用其他项目使用
安装NDK和CMake

打开AS的Prefrences—&gt;Android SDK—&gt;SDK Tools



选中 NDK (Side by side) 和 CMake 复选框。我这里之前在nkd-bundle中已经安装NDK就没有卸载了

注意：如果您在 ndk-bundle 文件夹中安装了 NDK，它会显示在标签为 NDK 的列表中。如果您使用的是 Android Gradle 插件 3.5.0 ]]></description><category></category></item><item><title><![CDATA[Kotlin高阶函数及Lambda表达式实现接口回调]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106929334</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106929334</guid><author>zcmain</author><pubDate>Tue, 23 Jun 2020 18:19:34 +0800</pubDate><description><![CDATA[文章目录什么是高阶函数？Lambda 表达式使用Kotlin高阶函数实现接口回调Java中接口使用Kotlin中接口使用
什么是高阶函数？
高阶函数是将函数作为参数或者返回值的函数。


特点

参数可以是函数
返回值可以是函数
所有函数类型都有一个圆括号括起来的参数类型列表及一个返回类型



举个????
var onClick:()-&gt;Util      //onClick变量类型为：无参且无返回类型的函数
var onClick:(A,B)-&gt;C      //onCick变量类型为：参]]></description><category></category></item><item><title><![CDATA[Kotlin协程]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106929293</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106929293</guid><author>zcmain</author><pubDate>Tue, 23 Jun 2020 18:17:58 +0800</pubDate><description><![CDATA[文章目录协程是什么？如何使用?结构化并发(`runBlocking`)作用域构建器(`CoroutineScope`)提取函数重构(`suspend`)取消与超时(`cancelAndJoin`&amp;`withTimeOut`)组合挂起函数使用async实现异步并发协程调度器与线程协程调度器在不同的线程间切换(withContext)协程异步流(Flow)扩展[可在全局创建的协程： lauch 与 runBlocking](https://blog.youkuaiyun.com/zhong_zihao/articl]]></description><category></category></item><item><title><![CDATA[Kotlin基础]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106929199</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106929199</guid><author>zcmain</author><pubDate>Tue, 23 Jun 2020 18:15:35 +0800</pubDate><description><![CDATA[文章目录Kotlin简介类类的声明(`class`|`object`)类的修饰符(`classModifier`|`accessModifier`)静态内部类(`class` )非静态内部类(`inner`)抽象类(`abstract`)匿名内部类类继承(`:xx()`)接口(`:xx`)单例类(`object`)委托/代理类(`by`)类委托属性委托函数(`fun`)构造函数主构造函数次构造函数普通函数可变长参数的函数(`vararg`)成员变量变量修饰符(`Var`)可变变量(`Val`)不可变变量变量]]></description><category></category></item><item><title><![CDATA[JDK(Android)—IO字节流与字符流]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106694099</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106694099</guid><author>zcmain</author><pubDate>Thu, 11 Jun 2020 18:15:08 +0800</pubDate><description><![CDATA[文章目录Java IO流Java IO的用途和特征Java IO类概述表字节流简介基类字节流InPutStreamOutputStream文件字节流FileInputStreamFileOutputStream缓冲字节流BufferedInputStreamBufferedOutputStream字符流简介基类字符流ReaderWriter文件字符流FileReaderFileWriter缓冲字符流BufferedReaderBufferedWriter转换流InputStreamReaderOutputS]]></description><category></category></item><item><title><![CDATA[Android设备存储那些事]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106556086</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106556086</guid><author>zcmain</author><pubDate>Thu, 04 Jun 2020 19:05:02 +0800</pubDate><description><![CDATA[文章目录内部存储存储结构访问方式存储特点外部存储私有目录存储结构访问方式存储特点公共(共享)目录存储结构访问方式存储特点
在之前的开发过程中，对于应用存储目录存在一些模糊的观念，在AndroidQ版本中，Google对应用存储空间又做了调整，借此机会梳理一下。
移动设备存储空间大致可划分为内部存储 与 外部存储，而外部存储又可细分为外部私有存储与外部共享存储，具体区别如下
内部存储
存储结构

访问方式
/**
 *获取应用内部存储的files路径
 */
String filesPath = contex]]></description><category></category></item><item><title><![CDATA[Android Bluetooth API及连接方式介绍]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106431488</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106431488</guid><author>zcmain</author><pubDate>Fri, 29 May 2020 19:20:39 +0800</pubDate><description><![CDATA[文章目录APIBluetoothDeviceBluetoothClass连接建立方式安全连接不安全连接使用注意
API
BluetoothDevice
java.lang.Object
↳android.bluetooth.BluetoothDevice
代表**远程蓝牙设备**。通过BluetoothDevice，您可以与各自的设备建立连接或查询有关该设备的信息，例如名称，地址，类和绑定状态。
//硬件地址形如： "00:11:22:AA:BB:CC"
String address = Bluetooth]]></description><category></category></item><item><title><![CDATA[Https协议通信过程以及在Android平台使用]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106411466</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106411466</guid><author>zcmain</author><pubDate>Thu, 28 May 2020 19:16:03 +0800</pubDate><description><![CDATA[Https协议通信过程以及在Android平台使用
文章目录Https协议通信过程以及在Android平台使用Https协议通信过程TCP三次握手(建立可靠通信连接)通信协议协商(确认通信双方加密算法)证书验证传递会话密钥加密通信Https证书认证在Android中应用HTTPS示例验证服务器证书常见问题未知CA颁发服务器证书如何验签？自签名服务器证书如何验签？主机名验证常见问题扩展根证书、CA解释以及数字证书办法过程根证书与中级(中间根)证书知名CA机构TCP为什么要进行三次握手，一次或者两次不行吗？TC]]></description><category></category></item><item><title><![CDATA[IOS开发者证书申请及打包步骤]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/106117021</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/106117021</guid><author>zcmain</author><pubDate>Thu, 14 May 2020 12:28:22 +0800</pubDate><description><![CDATA[文章目录1 创建苹果开发者账号2 创建`Certificates`、`APP IDs`、`Provisioning Profile`自动创建手动创建创建`Certificates`证书创建`App IDs`应用标识添加`Devices`测试设备创建`Provisioning Profiles`配置文件3 APP打包扩展如何将开发者证书导出给其他人员使用(`Profile` + `p12`)如何从本地导出包含公私钥的P12证书？证书文件`Development`、`Ad Hoc`、`Distribution`]]></description><category></category></item><item><title><![CDATA[在RN中引入对TypeScript语言的支持]]></title><link>https://blog.youkuaiyun.com/zcmain/article/details/105820984</link><guid>https://blog.youkuaiyun.com/zcmain/article/details/105820984</guid><author>zcmain</author><pubDate>Tue, 28 Apr 2020 18:41:30 +0800</pubDate><description><![CDATA[文章目录为什么要使用TypeScript初始化一个RN项目安装TypeScript相关插件创建TypeScript配置文件`tsconfig.json`配置`tsconfig.json`创建.ts/.tsx文件编译并运行扩展RN测试工具Jestreact-test-renderer
为什么要使用TypeScript
TypeScript是JavaScript的超集，扩展了JavaScript语法，...]]></description><category></category></item></channel></rss>