这是官方提供的解决问题的教程:Creating a personal access token – GitHub Docs 第一步:点击Settings 点击Settings 第二步:点击Developer settings 点击Developer settings 第三步:点击Personal access tokens Personal access tokens 第四步:点击Generate new token Generate new token 第五步:给token起一个描述名字(随便起) token name 第六步:设置token多久后过期 expire 第七步:设置token拥有的权限 权限 第八步:点击Generate token,生成一个token 生成token 第九步:复制token(关掉当前页面,就再也看不到当前token,请确保自己已复制) 复制token 第十步:设置token
1 2 3 4 5 |
// <your_token>:包括<>在内的全部字符替换成你的token // <USERNAME>:包括<>在内的全部字符替换成你的username // <REPO>:包括<>在内的全部字符替换成你要访问的仓库名称 git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git git push origin main |
作者:沈正方 链接:https://www.jianshu.com/p/6e86c80c457c 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
View Details首先带有命名空间的xml读取可以使用Xml.Linq,也可以使用xpath,本文将采用xpath的方式解析。 原文参考了:https://www.cnblogs.com/duanjt/p/5440540.html 同时参考了:https://www.cnblogs.com/shixudong/p/4056400.html 首先带有命名空间的xml如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns:queryResponse xmlns:ns="http://release.service.das.jeaw.com"> <ns:return xsi:type="ax2291:QueryReturnEntity" xmlns:ax2293="http://release.service.das.jeaw.com/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ax2291="http://pojo.servgen.das.jeaw.com/xsd"> <ax2291:code>DAS00000</ax2291:code> <ax2291:message>服务访问成功</ax2291:message> <ax2291:totalRowCount>1</ax2291:totalRowCount> <ax2291:currentPageNo>1</ax2291:currentPageNo> <ax2291:datas xsi:type="ax2293:EntityGZ_GZBDJXX"> <ax2293:GZYXM_1>吕姗姗</ax2293:GZYXM_1> <ax2293:GZYZBH_1 xsi:nil="true"/> <ax2293:ID_1 xsi:nil="true"/> </ax2291:datas> <ax2291:pageSize>1</ax2291:pageSize> <ax2291:totalPageCount>1</ax2291:totalPageCount> </ns:return> </ns:queryResponse> </soapenv:Body> </soapenv:Envelope> |
解析如上的xml,就涉及到两个类,XmlNamespaceManager和XmlDocument。XmlDocument用于解析xml,而XmlNamespaceManager则是和命名空间相关的类。 如上的xml,如果我们想要获取到吕姗姗和ID_1的true怎么实现呢,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
string xmlStr = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\"> <soapenv:Body> <ns:queryResponse xmlns:ns=\"http://release.service.das.jeaw.com\"> <ns:return xsi:type=\"ax2291:QueryReturnEntity\" xmlns:ax2293=\"http://release.service.das.jeaw.com/xsd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:ax2291=\"http://pojo.servgen.das.jeaw.com/xsd\"> <ax2291:code>DAS00000</ax2291:code> <ax2291:message>服务访问成功</ax2291:message> <ax2291:totalRowCount>1</ax2291:totalRowCount> <ax2291:currentPageNo>1</ax2291:currentPageNo> <ax2291:datas xsi:type=\"ax2293:EntityGZ_GZBDJXX\"> <ax2293:GZYXM_1>吕姗姗</ax2293:GZYXM_1> <ax2293:GZYZBH_1 xsi:nil=\"true\"/> <ax2293:ID_1 xsi:nil=\"true\"/> </ax2291:datas> <ax2291:pageSize>1</ax2291:pageSize> <ax2291:totalPageCount>1</ax2291:totalPageCount> </ns:return> </ns:queryResponse> </soapenv:Body> </soapenv:Envelope>"; XmlDocument doc = new XmlDocument(); doc.LoadXml(xmlStr); XmlNamespaceManager nsMgr = new XmlNamespaceManager(doc.NameTable);//这一步实例化一个xml命名空间管理器 nsMgr.AddNamespace("soapenv", "http://schemas.xmlsoap.org/soap/envelope/"); nsMgr.AddNamespace("ns", "http://release.service.das.jeaw.com"); nsMgr.AddNamespace("ax2293", "http://release.service.das.jeaw.com/xsd"); nsMgr.AddNamespace("xsi", "http://www.w3.org/2001/XMLSchema-instance"); nsMgr.AddNamespace("ax2291", "http://pojo.servgen.das.jeaw.com/xsd"); XmlNode nodeGZYXM = doc.SelectSingleNode("soapenv:Envelope/soapenv:Body/ns:queryResponse/ns:return/ax2291:datas/ax2293:GZYXM_1", nsMgr); Console.WriteLine(nodeGZYXM.InnerText); //将输出 吕姗姗 XmlNode nodeId = doc.SelectSingleNode("soapenv:Envelope/soapenv:Body/ns:queryResponse/ns:return/ax2291:datas/ax2293:ID_1/@xsi:nil", nsMgr); //@xsi:nil表示获取Attribute而不是node节点 Console.WriteLine(nodeId.InnerText); //将输出 true |
from:https://www.cnblogs.com/duanjt/p/11654173.html
View Detailssagan\sagan-client\webpack.config.js
1 2 3 4 5 6 7 |
{ test: /\.(woff2|woff|eot|ttf|svg)$/, loader: 'file-loader', options: { name: 'fonts/[name].[ext]', }, }, |
View Details
https://plugins.gradle.org/plugin/com.gorylenko.gradle-git-properties
View Detailsnvm全名node.js version management,顾名思义是一个nodejs的版本管理工具。通过它可以安装和切换不同版本的nodejs。下面列出下载、安装及使用方法。
View Details
1 2 |
"node-sass": "^6.0.1", "sass-loader": "^10.0.1", |
试了半天啊 我真的泪目了 希望给各位省点时间吧 node-sass – npm 认准对应的node版本号 确定好一个后来回切换即可 容错率很高 from:https://blog.csdn.net/qq_40095911/article/details/119253908
View Details1.value:请求中传入参数的名称,如果不设置后台接口的value值,则会默认为该变量名。比如上图中第一个参数如果不设置value="page",则前端传入的参数名必须为pageNum,否则在后台接口中pageNum将接收不到对应的数据。
2.required:该参数是否为必传项。默认是true,表示请求中一定要传入对应的参数,否则会报404错误,如果设置为false时,当请求中没有此参数,将会默认为null,而对于基本数据类型的变量,则必须有值,这时会抛出空指针异常。如果允许空值,则接口中变量需要使用包装类来声明。
3.defaultValue:参数的默认值,如果请求中没有同名的参数时,该变量默认为此值。注意默认值可以使用SpEL表达式,如"#{systemProperties['java.vm.version']}"
JDK7 的 HashMap
JDK7 的 HashMap 的存储结构其实就是哈希表的存储结构(由数组与链表结合组成,称为链表的数组)。
JDK8 的 HashMap
当链表长度超过阈值(TREEIFY_THRESHOLD) 8,table 的长度大于 64如果小于 64,就通过扩容的方式来解决,避免红黑树结构化链表转换为红黑树。
HashMap 在高并发下会出现链表环,从而导致程序出现死循环。高并发下避免 HashMap 出问题的方法有两种,一是使用 HashTable,二是使用 Collections.syncronizedMap。但是这两种方法的性能都能差。因为这两个在执行读写操作时都是将整个集合加锁,导致多个线程无法同时读写集合。高并发下的 HashMap 出现的问题就需要 ConcurrentHashMap 来解决了。
View Details