Hexo+Caddy+Git自动化博客部署
在使用GithubPage+Hexo来部署博客时,我们时常会遇到这样的问题: 网页源代码push上去了,但是大量的markdown文件保留在了本地,这对于多机用户的影响是很大的。
为此你不得不再新建一个branch/repo来存放你的文章,但依然难以避免忘记同步文章的情况发生。
并且多机环境意味着每台机器都要装nodejs环境来进行网页的生成。十分不友好。
所以更好的解决方案呼之欲出:使用webhhook等方式,把生成网页的步骤交给服务器,PC要做的仅仅是写markdown+同步至Git。
准备工作
准备好Caddy环境,具体可查看我的上一篇博客:Gitea+Caddy搭建私有Git服务
任意Git服务(如Github/GitLab/Gitea)
Hexo的基础知识,不了解的请先去查阅官网:文档|Hexo
...
SAP-VT项目面经
有幸收到了SAP VT项目的offer(大二/大三都能申请),写一篇面经给后来人一点借鉴。
整个考核共分三轮,分别是在线笔试【自闭场】,电话面试【猝不及防】,群体面试【轻松愉快】。
在线笔试在线笔试设在赛码网,建议先做几道OJ题熟悉编译环境。
笔试时间100分钟,其中选择题20题40分钟,编程题2题60分钟。
选择题非常非常自闭。考试范围从HTML,CSS到Java,CPP,Python,再到Cgroup,敏捷开发,最后甚至出现了线性规划,遗传算法。但不要怕,我易人易,我不大意,我难人难,我不畏难。尽力去做,不会就做,注意千万不要想着作弊,万一被发现就很尴尬了。...
2019-05-17
杂谈
KDE踩坑实录 [3月22日更新]
只有写写踩坑文才能维持生活的样子环境:Fedora 29, KDE 5.55.0
KDE CONNECT找不到设备原因没有打开相关端口
解决方法
防火墙是iptables
sudo iptables -I INPUT -p tcp --dport 1714:1764 -j ACCEPT
sudo iptables -I INPUT -p udp --dport 1714:1764 -j ACCEPT
防火墙是firewall
sudo firewall-cmd --zone=public --add-port=1714-1764/tcp --permanent
sudo firewall-cmd --zone=public --add-port=1714-1764/udp --permanent
sudo firewall-cmd --reload
...
material-ui与TS结合的实践
介绍material-uimaterial-ui是一款React下的组件库,它支持绝大部分Material Design所定义的组件。相比其他的React组件库【比如antd,semantic-ui】,它有如下优势:
样式酷炫, 符合年轻人审美
定制化程度强
支持多种CSS写法,如
JSS
Styled-Components
CSS Modules
LESS
SASS/SCSS
完善的Typescript支持
TypescriptTypescript是由微软开发的JavaScript的超集,同时借鉴了Java与C#的优点。相比JavaScript,它的优势在于:
静态类型检查,减少运行时错误
增强IDE的智能提示
强大的社区支持
空安全机制
Umiumi,中文可发音为乌米,是一个由阿里开源的 react 应用框架。umi 以路由为基础的,支持类 next.js 的约定式路由,以及各种进阶的路由功能,并以此进行功能扩展,比如支持路由级的按需加载。然后配以完善的插件体系,覆盖从源码到构建产物的每个生命周期,支持各种功能扩展和业务需求,目前内外部加起来已有 50+ 的插件。它的主要特性在于:
📦 开箱即用,内置 react、react-router 等
🏈 类 next.js 且功能完备的路由约定,同时支持配置的路由方式
🎉 完善的插件体系,覆盖从源码到构建产物的每个生命周期
🚀 高性能,通过插件支持 PWA、以路由为单元的 code splitting 等
💈 支持静态页面导出,适配各种环境,比如中台业务、无线业务、egg、支付宝钱包、云凤蝶等
🚄 开发启动快,支持一键开启 dll 和 hard-source-webpack-plugin 等
🐠 一键兼容到 IE9,基于 umi-plugin-polyfills
🍁 完善的 TypeScript 支持,包括 d.ts 定义和 umi test
🌴 与 dva 数据流的深入融合,支持 duck directory、model 的自动加载、code splitting 等等
...
pyqt踩坑实录
如何创建一个可编辑的QLabel(双击编辑,回车保存)
建立一个MyLabel类继承QWidget
布局中添加两个组件label(继承自QLabel) 和 edit(继承自QLineEdit)
[重要] 设置label显示,edit隐藏
重写 mouseDoubleClick 方法,使label隐藏,edit显示
为完成编写操作设置回调(槽函数)。当editingFinished信号发出时触发该槽函数
坑点:组件创建完需立即加入layout中,否则会炸
Sample
class SingleBuddyLabel(QWidget):
def __init__(self,text):
super().__init__()
self.layout = QHBoxLayout(self)
self.label = QLabel(text)
self.edit = QLineEdit()
self.layout.addWidget(self.label)
self.layout.addWidget(self.edit)