写了一个密钥生成器,方便开发时生成随机的 AES 密钥使用,部署在 Azure 应用服务上面。
生成代码
1 | function keygen($length) { |
From: https://github.com/gladchinda/keygen-php/blob/master/src/Keygen/Generators/TokenGenerator.php
写了一个密钥生成器,方便开发时生成随机的 AES 密钥使用,部署在 Azure 应用服务上面。
1 | function keygen($length) { |
From: https://github.com/gladchinda/keygen-php/blob/master/src/Keygen/Generators/TokenGenerator.php
我和同事的两套本地开发环境,相同的一段返回随机验证码图片的代码,验证码代码参考的是 php实现的Captcha验证码类实例 里的代码。在同事的电脑上调用,出来的是裂开的图片,在我的电脑上调用,出来的就是正常的图片,这是为什么呢?解决这个问题花费了三四个小时,记录一下过程。
因为代码上没有区别,所以开始怀疑环境问题,两台开发机都是相同型号,配置也相同,PHP 运行在 docker 容器下,检查 PHP 版本相同。
查了一下 PHP 文档,怀疑可能是因为什么特性没有启用,测试以下代码:
1 |
|
测试结果 imagetypes() & IMG_PNG
的值大于零,看起来两个环境都是支持 PNG 图的。
昨天晚上 Icarus 主题的 RC 版本发布,离正式版不远了,我自 3.0.0-beta.1
一路使用到现在,把自己的使用经验分享一下。
由于主题作者换掉了 ejs 语言,全部重写了一遍,迁移这块的难度是最大的。
拉 dev 分支,冲突实在是太多了,我的办法是,把在旧版上的魔改的整个 diff 导出,然后直接从 dev 签出一个新的分支,参考 diff 对每个文件都重新修改,花了不到2个小时搞定。
主题中部分可重用的 JS 和 JSX 代码已经被移到另一个项目 hexo-component-inferno
中,我们如何对这些组件魔改?此时要分2种情况——
体验 Azure 应用服务:可以白嫖的 OneIndex 空间
之前已经写过一篇如何使用 Azure DevOps 实现自动部署 Hexo 的文章,这个月,受疫情影响在家,就把自己的 Azure 新用户体验账号开了,获得了限时 1 个月 200 刀的体验额度。
之后研究中发现了 Azure 提供的应用服务还挺好用的,当然重点是——可以白嫖!
免费套餐当然是有限制的——
我们可以在上面部署 .Net Core, ASP.NET, Java, Node.js, PHP, Python, Ruby 语言的项目。
之前有访问过别人的 PyOne,发现下载速度还挺快,就一直想用 OneDrive 搭建一个自己的网盘,机会来了。
主流的 OneDrive 第三方 Directory Index,有老牌的 oneindex,还有后起之秀 PyOne 和 OLAINDEX,虽然 Azure 的 PHP 环境可以自动识别 composer 安装依赖,也支持执行部署脚本、执行 php 命令,但是由于 PyOne 还要依赖 Python 环境,OLAINDEX 还要依赖 Nginx,别想了,搭建不了。
当我尝试在 Azure 应用服务上面部署 OLAINDEX 时,在执行安装脚本
php artisan od:install
时出错,遇到的错误是 SQLiteGeneral error: 5 database is locked
,由于完全不会 PHP,就放弃了。
好了,就决定是 OneIndex 了!高手看到这里基本就可以自己去尝试了,下面是我的步骤。
屏蔽 Chrome for Windows “请停用以开发者模式运行的扩展程序” 提示
开发过 Chrome 扩展的人都知道,加载已解压的扩展之后,Chrome 每次启动会弹窗警告,这个警告在新 Edge 中叫 “禁用开发人员模式扩展” 。
这个提示在打开浏览器几秒之后出现,并夺走窗口焦点,很是烦人,如何屏蔽呢?
多种方式解决 Windows CMD 中 vue-cli-service 不是内部或外部命令
已安装 Vue 脚手架
1 | npm install -g @vue/cli |
找不到 vue-cli-service
命令
1 | 'vue-cli-service' is not recognized as an internal or external command, operable program or batch file. |
经过搜索,发现这个问题只在 Windows 下存在。
装了脚手架应该会在 node 目录产生 vue-cli-service.cmd
的文件,实际没有产生,不过在全局 node_modules
下是有的。
有说清理 node_modules
重新安装可以解决的,试了不管用,全局卸载脚手架重新安装也不管用,就算管用也比较麻烦,于是我找到了几个间接使用方法——
Vue 给 i18n 国际化组件写单元测试报 $t is not a function
对一个有国际化的 Vue 组件写单元测试,mount这个组件时,会遇到找不到 $t
的报错。
1 | <p>{{ $t('message.hello' }}</p> |
1 | TypeError: _vm.$t is not a function |