引言
在win端实际发开过程中(不管是win端sdk还是electron),经常会遇到超长路径的问题(超过MAX_PATH定义的长度),一般解决问题的方式是长路径支持,但由于windows平台兼容的特殊性,长路径在某些系统API场景下依然有不少的限制,本文浅述win端长路径的兼容方案及在长路径支持时可能会遇到的一些问题及解决方案,供遇到此问题者参考参考.
引言
在win端实际发开过程中(不管是win端sdk还是electron),经常会遇到超长路径的问题(超过MAX_PATH定义的长度),一般解决问题的方式是长路径支持,但由于windows平台兼容的特殊性,长路径在某些系统API场景下依然有不少的限制,本文浅述win端长路径的兼容方案及在长路径支持时可能会遇到的一些问题及解决方案,供遇到此问题者参考参考.
近日突然发现个人博客的gitalk评论必现授权失败,于是查看了下原因,分析并记录问题解决办法
打开个人博客页面,发现gitalk出现网络异常,F12看控制台,发现https://cors-anywhere.azm.workers.dev/https://github.com/login/oauth/access_token
这个连接访问失败,这个就是github获取accesstoken的代理链接,https://cors-anywhere.azm.workers.dev被墙了,导致代理失效。
因此要解决这个问题,可以自行搭建一个代理
引言
OOXML是 Office Open XML的简称,是以XML文件格式为基础的office文档规范,目前包括word,excel,ppt等。
其规范最初版本由Microsoft发布并在2006年由ECMA采纳成为Office文件标准(ECMA-376),
其后在2008年发布第二版本,2011.6月发布第三版本。
并且被ISO、IEC采纳成为国际标准(ISO/IEC 29500).
由于某些原因,需要在linux下验证Office文档的正确性,所以进行了一些校验工具的调研,vscode上有OOxml Validator插件,本质也是调用的微软的Document.OpenXml SDK, 在windows上有微软提供的安装程序安装运行,可以去官网下载,linux以及macos上暂时没发现有相应的工具可以使用,好在macos和linux上都有dotnet的支持,为linux上实现调用C#库提供了条件
桥接(Bridge)是用于把抽象化与实现化解耦,使得二者可以独立变化。这种类型的设计模式属于结构型模式,它通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。
比如家里有个遥控器,可以安装5号和7号电池,假如5号电池没电了,下次遥控器开启时就直接使用7号电池了,不至于让遥控器不能使用,这个选择的过程可以称之为适配过程,这就是适配器
VuePress 由两部分组成:第一部分是一个极简静态网站生成器 (opens new window),它包含由 Vue 驱动的主题系统和插件 API,另一个部分是为书写技术文档而优化的默认主题,它的诞生初衷是为了支持 Vue 及其子项目的文档需求。
每一个由 VuePress 生成的页面都带有预渲染好的 HTML,也因此具有非常好的加载性能和搜索引擎优化(SEO)。同时,一旦页面被加载,Vue 将接管这些静态内容,并将其转换成一个完整的单页应用(SPA),其他的页面则会只在用户浏览到的时候才按需加载。
说白了,VuePress就是基于Vue,用了SSR渲染成本地静态页面,解决PWA在SEO方面的弱势。
而VuePress除了使用Vue外,还继承了Vue各项能力,比如使用stylus写css,也能通过enhanceApp来增强应用,比如在Vuepress中使用Vuex等等。
后续将介绍如果安装Vuepress,如果使用enhanceApp,如果使用stylus,如何在Vuepress中自定义主题,并且最终将vuepress内容发布到Nginx供internet访问。
Each C++ expression (an operator with its operands, a literal, a variable name, etc.) is characterized by two independent properties: a type and a value category. Each expression has some non-reference type, and each expression belongs to exactly one of the three primary value categories: prvalue, xvalue, and lvalue.
在c++中,每个表达式(带有操作数的运算符、文字、变量名等),都有两个独立属性:类型和值类别。每个都属于prvalue、xvalue和xvalue中的一种
详情可以翻阅:https://en.cppreference.com/w/cpp/language/value_category
- prvalue: 纯右值 ,表达式产生的中间值,不能取地址。 - glvalue: 广义上的左值 - xvalue: 一个即将被销毁的值,但是可以被重复使用,如static_cast<char&&>(x)
、std::move
等
什么是代理?
代理简单点说就是当你想做一件事情,但是你当前因为某些原因做不了,而委托其他人去做,但是在其他人看来,这件事还是你做的,这就叫代理。
在设计模式中,经常为了把原始对象的实现信息隐藏的情况,这种情况下就需要使用代理模式