分类 闲余折腾 下的文章

前言:最近在网络上发现了几位跟我使用同一头像的朋友,更加刺激了我想要制作一个专属头像的想法。然后我就想到了使用一些业界知名开源软件来制作一个属于我的专属头像的想法。

介绍

一款视频换脸的开源软件

deepfacelab下载

源代码地址deepfacelab,可在项目的readme页面下载window环境的执行文件,最让人舒服的是,它帮我们解决了环境问题。我唯一需要解决的环境问题,就是安装显卡驱动(如果有显卡的话)

安装

安装文件是个exe文件,双击运行会进行解压。解压后文件大致如下,根目录是一些批处理命令。workspace是工作区,放一些源文件和目标文件视频,而_internal则存放着一些环境相关文件,如Vs code,cuda, python等,所谓贴心至极,莫过于此。

2020-10-25T12:32:22.png

使用

如它贴心的环境依赖一般的容易使用,你甚至只需要点击几个文件文件,再敲几个回车,就可以完成AI换脸的全过程。大致可分为五个过程

  1. 视频抽帧
  2. 人脸提取
  3. 训练模型
  4. 合成模型
  5. 生成视频

效果展示

2020-10-25T12:40:19.png

贴心小技巧

  1. 一定要记得把aligned里面的质量差的人脸在训练前删除
  2. 由于dst是全帧抽取,而视频合成则是以60帧每秒合成,如果原dst没有60帧,则会出现音画不同步的情况
  3. 换脸后适当提高图片锐度,会极高的提高换脸清晰度
  4. 建议将mask_blur_modifier调至150左右以提升换脸真实性

前言

本文使用jQuery修改typecho让其在文章编辑页内支持CTRL + S保存文章草稿,typecho的版本为1.2 (18.10.23).

为什么需要?

由于个人博客使用的typecho,在编辑文章的过程中经常习惯性的点击CTRl + S,然后就会非常不友好的提示了这个。

2019-10-28T06:59:58.png

这对追求优雅的本宅来说,简直无法容忍。难道我要因此弃用typecho?这也太夸张了。那就来发挥我modify的能力吧,毕竟闲余折腾是我的一大乐趣,而且自己动手,丰衣足食嘛!

心路历程

  1. 首先,我知道这个理论上绝对可行,因为我用过很多此类功能。
  2. 经查阅资料,chrome的适配最好,当然我也没考虑别的浏览器,因为我眼中的浏览器只有两种,chrome和不是chrome。随便一提:不用chrome的程序员不是优雅的程序员。
  3. 分析实现方法,大致分为两步,监听ctrl+s时间和模拟点击保存草稿按钮
  4. 选型方面,由于typecho内置jquery,因此采用最快捷的办法

实现过程

确认页面是否支持jQuery

为了避免重复引入,我们可在console中输入$,根据提示来确认是否已有jQuery

确认是否已有jQuery

如图,则表示已有jQuery。

找到编辑文章的php页面

嗯,就是这个路径typecho/admin/write-post.php

找个合适位置放script

请在文件末尾插入一个script节点,以防止在jquery定义之前使用或者在if语句中未应用。

监听ctrl + S

在script节点中插入以下代码

$(window).keydown(function(event) {
        if (event.ctrlKey && event.which == 83) {
            alert("Ctrl+S pressed.");
            return false;
        } else {
            return true;
        }
    });

刷新编辑文章页,提示以下内容则监听成功。

好像暗黑背景有点看不清?

模拟点击保存

通过源代码分析,我们可以发现,保存文章的按钮id为btn-save。现在我们修改代码里面的内容如下

$(window).keydown(function(event) {
        if (event.ctrlKey && event.which == 83) {
            $("#btn-save").click();
            return false;
        } else {
            return true;
        }
    });

大功告成

2019-10-28T07:33:26.png

结语

本文从技术层面上来说没什么亮点,这是我在尝试一种新的写作方式的练手篇。在原先只记录如何做的基础上,增加了了心路历程这一项,侧重于记录我在实际过程中一个想法到把它实现出来的整个过程,目的在于分享如何思考,从哪里开始,怎么实现的整个思维过程。大家且当抛砖引玉看看吧!

参考资料

JavaScript或jQuery模拟点击超链接和按钮
javascript屏蔽Ctrl+s,F1,F3各浏览器兼容写法

大致思路

  1. 注册表新建目录右键项
  2. 填写WSL命令行
如果你觉得添加起来过于麻烦,你可以双击执行下列注册表文件

wsl.reg

一些简介

注册表百科

注册表(Registry,繁体中文版Windows操作系统称之为登录档)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Microsoft Windows 95操作系统开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。

打开方式

  1. Win + R键入regedit

操作流程

  1. 目录导航输入HKEY_CLASSES_ROOT\Directory\shell
  2. 新建项ubuntu
  3. 选择ubuntu项,新建字符串值:名称为默认,值为WSL

如图:2019-03-25T02:28:02.png

  1. 在ubuntu项内添加command项
  2. 字符串名称为默认,值为wsl.exe --cd "%V"

如图:2019-03-25T02:30:30.png

截至目前,存在的问题

就是只有在选择一个目录时才会出现这个东西,右键空白处啥都不会发生

解决方法

HKEY_CLASSES_ROOT\Directory\Background\shell也同样操作一波

效果预览

我去,我不知道怎么截右键这个状态。

vscode

Vscode 格式化vue Template代码段

1.安装 vetur
2.在User Setting中增加设置:
"vetur.format.defaultFormatter.html": "js-beautify-html"

2020.07.08留:我现在已经使用prettier来格式化代码了

Vs code 添加 wepy template 代码

  1. 打开File > preference > user snippets, 选择vue
  2. 编辑vue.json
{
"Print to console": {
        "prefix": "vue",
        "body": [
            "<!-- $0 -->",
            "<template>",
            "  <view class='page'> </view>",
            "</template>",
            "",
            "<script>",
            "import wepy from 'wepy'",
            "export default class Index extends wepy.page {",
            "config = {",
            "    navigationBarTitleText: '场馆预订',",
            "    usingComponents: {}",
            "};",
            "",
            "components = {};",
            "",
            "mixins = [];",
            "",
            "data = {};",
            "",
            "computed = {};",
            "",
            "methods = {};",
            "",
            "events = {};",
            "",
            "onLoad() {}",
            "}",
            "</script>",
            "<style lang='less'>",
            "</style>"
        ],
        "description": "Log output to console"
    }
}

使用emmet自动代码补全

  1. 打开File > preference > setting, 搜索emmet.triggerExpansionOnTab
  2. 设置为true

自动读取eslint文件并进行修复

  1. 先安装eslint
  2. 设置中添加以下内容
{
  "eslint.autoFixOnSave": true, //  启用保存时自动修复,默认只支持.js文件
  "eslint.validate": [
    "javascript", //  用eslint的规则检测js文件
    {
      "language": "vue", // 检测vue文件
      "autoFix": true //  为vue文件开启保存自动修复的功能
    },
    {
      "language": "html",
      "autoFix": true
    },
  ],
}
2020.07.08留:这个配置已经过时了

正则删除HTML标签

Ctrl + H 正则匹配 <[^>]+> 替换为空

正则替换换行

Ctrl + H 正则匹配 \n 替换为你想要的

tab无法缩进代码

Ctrl + M试试

多光标操作

1、按住alt,用鼠标左键点击,可以出现多个光标,输入的代码可以在光标处同时增加。
2、按住Ctrl + Alt,再按键盘上向上或者向下的键,可以使一列上出现多个光标。
3、选中一段文字,按shift+alt+i,可以在每行末尾出现光标
4、按shift+alt,再使用鼠标拖动,也可以出现竖直的列光标,同时可以选中多列。

好好学习

每天花大把时间在微信上,但其实有没有什么重要的事情。仔细统计了一下,如果我一天不看微信,每天至少可以多出1-3h。每次都高估了自己被世界需要的可能性。没看手机时,以为全世界都在找我,看手机时发现没人关注我。

预备,晚上

今晚会不会有人发现我不在了?一想到要坚持三天就感觉有点困难。

第一天

正常

第二天

由于不可抗力,该计划被迫终止。

前言

醉月老哥的微信助手:
不要问我为什么起这个名字,我也不知道!
这两天天气冷,在脑海里构想这个,之后便开始着手做了。
开始日期:2017年12月15日 13时47分25秒

醉月老哥的微信助手

功能定位

立志做一个对接全网内容的助手,其内容包括但不限于:糗事百科,今日头条,简书,MSDN,php.net,百度翻译,搜索引擎。争取做到微信在手,天下我有!有好的想法或者建议欢迎联系我!

特别感谢: @Goff, @Annabel

现有功能介绍

1. 糗事百科

使用说明

公众号回复"糗事百科"

效果展示

糗事百科:效果展示

:TODO

虽然看似基本功能完成了,但是会有一个小问题:
当爬取的内容为,图片分享时,并不能展示其对应的图片

2. 今日头条

今日头条-使用说明

公众号回复“今日头条"

今日头条-效果展示

今日头条:效果展示

今日头条-:TODO

我怎么感觉这个娱乐新闻偏多呢?(是头条热点的问题?)
1.将内容集中与政治,社会,科技

3. 醉月老哥的微信助手

醉月老哥的微信助手-使用说明

公众号回复"醉月老哥的微信助手"

醉月老哥的微信助手-效果展示

醉月老哥的微信助手:效果展示

4.搜索新闻

搜索新闻-使用说明

回复'news(关键词)'搜索新闻,例如news(江歌),搜索关于江歌的新闻

搜索新闻-效果展示

enter description here

搜索新闻-:TODO

让新闻来源可指向

公众号二维码

enter description here

源代码地址

醉月老哥的微信助手

更新说明

更新说明

首先下载UEFI版

下载链接在官方QQ群里面

TIPS: 直接在群文件里面下载可能会因为各种原因中断下载,建议登录QQ群空间里面,再使用迅雷下载。

接下来为转载的操作

image

mount挂载

mount {{根挂载点}} /mnt

第一次尝试(2018.9.21 9:05)

自动清除磁盘安装,未找到/分区,手动分区尝试中。

手动分区,发现格式好奇怪,看不懂,格式化尝试中。

更新: 好像是开启了LVM的原因,尝试不开启LVM。清除整个磁盘安装

### 第二次尝试清除整个磁盘安装 (2018.9.21 9:15)

磁盘情况,分区情况如下,但是无法进入系统

好像联网安装就成功了????

hexo 配置的一些相关问题笔记

发布时间不对的问题

细心的小伙伴会发现我的博客有些文章居然发布日期比更新日期还要晚,这是因为我的时区没有配置好的原因。

修改 _confing.yml下的timezone

timezone: Asia/Shanghai