2022-06
28

装机

By xrspook @ 11:04:23 归类于: 烂日记

上个星期同事要换新电脑,我顺便折腾了一番。新买回来的那批联想主机很小巧,12G的内存,用的是英特尔20核的处理器。硬盘用的是搭配,固态用来装系统,机械的用来储存文件。主机的厚度跟牛津高阶差不多。整个主机的大小就像一个A4文件盒。以前的主机默认放在桌底下,但是这么小巧的东西显然放在桌面也完全可以。如果搭配无线键鼠,主机背后的连线就只剩下和显示器相连的HDMI线以及电源线而已。这种东西如果再经过完美的走线会显得更加小巧。

2018年的时候,单位买回来的那一批联想很便宜,有点工程机的意思。所以那批机器感觉不太稳定,有人会卡死,有人会蓝屏,当然不是人人都那样,所以显然,跟使用的那个人的习惯有关系。可以肯定的是,那批电脑连接网络总是很迟钝。开机以后要过好长一段时间网络才显示连上了。一开始我觉得那会不会是系统的问题,后来当我把那批机子的其中一部装上专业版以后,发现情况没有改善。不知道是我的心理作用还是真的那样,我觉得把那工程机从OEM家庭版重装成专业版以后,开机速度快了。开机速度快不快,除了软件以外,硬件也是一个很重要的因素。我的IT同事说可能那一批机子的固态硬盘质量很一般,所以导致那批机子的性能怪怪的。我现在用的那批戴尔的机子大概是2016年买的,那批机子只有一个机械硬盘,我的那个已经挂掉。除了机械硬盘好鸡肋,USB插口不知道什么时候会故障以外,内存和CPU还有主板我感觉质量还是很过硬的。所以当我的机械硬盘挂掉,换上一个三星的固态硬盘以后,整台机子非常顺滑。虽然比2018年那一批机子早上几年,但实际上就顺滑程度而言,我觉得我的机子比那一批好。我觉得已经顺滑,不需要怎么改进的机子,实际上只是i5六代搭配8GB的内存而已。

之所以要把2018年那批机子从家庭版变成专业版,其中一个很重要的原因是家庭版没有远程桌面。的确经过一番折腾以后可以开启远程桌面,但那样的话真的太费劲了,而且每一次Windows升级以后,那个东西都要废掉,都得重来,对小白来说这非常不友好。而且远程桌面这种东西是非必要不会使用,必要的时候发现用不了,小白根本无能为力。所以最直接的办法是直接把那个版本刷掉。

在固态硬盘上安装win10非常快速顺畅,如果那个固态硬盘是全新的,感觉会更加爽,即便不是全新的,也感觉挺不错,但如果要在一个机械硬盘上装win10,会让你有回到win7甚至是XP装机时的感受。

win10安装速度除了跟硬盘有关以外,跟主板、CPU的关系也很大,哪怕使用一样的固态硬盘,但如果你的CPU是一个非常老的版本。那么装机速度也快不到哪里去,相比于CPU,我觉得主板bios的版本更影响装机速度。比如昨天我在一台2016年装着win7旗舰版的机子上安装win10。光是那个bios就让我觉得很无语。在比较新的机子上安装win10,可能一开始我要选择USB启动,但是当系统装完了以后,通常就会直接跳过USB直接进入刚刚安装好的系统,但是那台2016年版本的联想显然就很逆天。USB安装完成以后,我还得回到bios把硬盘重新设置为优先启动,否则只要不拔U盘就会一直都是进入USB安装界面。同样是2016年的机子,戴尔就不这样。虽然我从来没有在bios上设置过,但是当我把有引导功能的USB插上去以后开机就会自动进入win10的安装,安装完毕以后,会自动不使用USB启动,当然之所以这样,大概是因为开机之前,我那个唯一的固态硬盘是一个全新的空盘。如果那个不是空盘,里面已经有一个系统的话,估计还是得手动设置一下USB优先启动。

大学的时候我给同学装过XP,然后回到家里也给自己装过XP。工作以后我组装了台新电脑,但那个时候64位的系统还不稳定,所以我斩钉截铁地跟帮我装机的人说只能装32位的win7。但32位的win7跟本无法调用4GB以上的内存。所以后来我又买了个硬盘,自己装上了64位的win7。所有系统我都不用ghost,都使用安装模式。直到我用官方的驱动安装过win10以后,我才意识到,原来用官方的驱动,在固态硬盘上安装一个win10系统是多么愉快的事。如果所有硬件都不算太糟糕的话,10分钟之内就可以装完一个win10。如果你安装的是win10专业版,基本上大路的驱动都自带了,但是如果你的是独显的话,可能还得联网以后再更新一下驱动。除非有非常特别的设置,否则 Windows自带的更新能满足所有驱动,无论是显卡声卡还是其它硬件。官方的安装程序非常干净,没有乱七八糟的东西,也不需要什么驱动精灵打补丁,只要你的win10还没被微软淘汰,微软的自动更新就能满足你的要求。

还记得当年装XP的时候没有两个小时以上根本搞不定。还记得装64位win7的时候没有个把小时很难搞定,最重要的是安装过程中非常有可能因为缺少某些驱动无法继续,于是你只能通过其它手段搜索解决办法。没有一个全家桶手册,你只能见招拆招。相对而言,现在的win10安装真的让人非常愉快。

win10的便捷让我迷恋上了装机。

2022-06
10

BEAT15连不上啊连不上

By xrspook @ 9:24:02 归类于: 烂日记

前段时间我买了个山人的光电心率带,一直以来都用得很舒畅,无论是连接野小兽的动感单车还是连接手机的app,都没有一点问题,所以我把那个推荐给别人了。买这个心率带时候我就知道他们自带app可以进行数据的读取记录或者是调节心率范围,所以在最后一次测评分享给别人之前,我下载了山人的APP。下载APP的时候我发现,我的BEAT15可以升级固件,当时我并没有多想,直接就升级了。当时的确没出现什么状况,一切用得都还好,直到第二天,我发现当我正常打开心率带、打开蓝牙、打开app的时候,已配对的心率带连不上手机,app无论如何读取不到心率带的数据。这直接让我慌了,我不断等待,不断尝试绑定解绑,不停尝试之后依然没什么进展。我试过在山人的app里面不断地绑定解绑,解绑可以马上实现,但是绑定却是靠运气。有时马上就会弹出来,告诉你绑上了,但之后却一直转圈圈,有时则不告诉你绑定上了,只是一直在转圈圈,简而言之就是app卡死了。在用山人的app之前我已经在其它运动app上试验过连接BEAT15,没有任何问题,打开心率带,其它app只要绑定过,就马上可以读取数据。但自从我固件升级了以后,当我打开其它app,也读取不到数据了。其它app里我做绑定跟解绑相比山人来说会很快很多,但问题是即便绑定了,也未必能读取数据。当我打开山人app,看到心率带已绑定未连接,然后我又在悦跑圈里绑定解绑,折腾一番以后有可能突然山人app就连上了,但是也有可能我在悦跑圈里折腾一番还是没有结果。相比于只在山人app里等待或者绑定解绑,用悦跑圈激活一下,最终心率带跟手机连上的几率比较高。

BEAT15除了有蓝牙模块以外还有ANT+模块,所以在佳明FR235不打开蓝牙的前提下,我让心率带跟手表配对,这两个设备的连接任何时候都是秒连的,跟我用过的其它有ANT+模块的心率带没有任何区别。但不知道为什么跟蓝牙设备连接就会有这种问题。

2017年我买的Scosche Rhythm+也是双模的,我也试过蓝牙和ANT+加同时连接两个设备,没有一点问题,蓝牙我连的是手机app,ANT+连的是佳明,两个都是秒连。我之前用过的所有心率带只要是有蓝牙模块的,基本都是配对过一次以后下次再打开都可以秒连,所以山人这个问题到底是什么问题呢?搞不懂。于是我就去找他们的网站,结果发现看来这是一个不仅面向中国市场的公司,因为他们有很多不同国家语言的网站,这是一家深圳的企业。让我有点意外这是这家以骑行起家的企业,居然没在微信开拓,他们的公众号几乎不更新,也没有小程序,所以我只能通过淘宝客服来解决我的问题。

他们觉得蓝牙连不上这个事情很神奇。因为他们测试的BEAT15跟任何一个手机的蓝牙都是可以连上的,不过可能有一点点延迟。之所以这个设备处状况,我觉得其中一个很重要的原因是除了它能反映实时的数据以外,还会传输这个设备上的历史数据。这种之前已经绑定过,但实际上每次断开蓝牙以后,重新连接仿佛还要经历一个重新绑定的过程有点像Windows系统里蓝牙驱动升级了,老设备连不上,虽然已经绑定过,但无论如何连接不上,需要解绑和重新绑定。我的蓝牙耳机里有一个是这样的,尤其当我的Windows用的是Win7的时候。解决办法只有把蓝牙耳机解绑然后重新绑定,然后就正常连接。每次蓝牙耳机和Win7断开连接后都得这样。但是到Win10的时候,即便还是那个耳机,还是那个USB的小型蓝牙接发器,基本上就没有这种问题了。

所以是不是因为BEAT15在固件升级的时候,某些驱动和手机不匹配呢?理论上蓝牙的驱程应该是向下兼容的,我的手机是安卓10,如果他们测试用的机型如果都是安卓11的话,会不会有一个他们默认的系统自带驱动跟我的有区别?幸好现在BEAT15还不完全是块砖,经过一番折腾后,我还是能连上的,尤其是只要是我不关机,只要我蓝牙不停掉,基本上就不会中途断线问题。

bug这种东西是科技企业发展过程中必然会遇到的阵痛。如果我的测试能让他们发现并解决这个问题,我也算是为中国科技贡献了一份力量。

PS:事实证明,硬件用得好好的,就不要手欠进行固件升级……

2022-04
8

二次验证必须备份

By xrspook @ 9:34:43 归类于: 烂日记

上周当我看到某个二次验证app推荐的时候才意识到我一直在用的Google Authenticator版本根本无法备份。所以如果我要换手机,我只能一个一个网站进去停掉二次验证,然后重新来。但问题是我得能进入那个网站,所以当我浏览器的cookie已经过期,且我的旧手机不见了或者突然坏掉的时候,那些做了二次验证的账号一点办法都没有,如果当初有留手机或许还能要回来,但如果当时根本没有那个操作,那就彻底完蛋了,而且即便有留手机,也未必可以拿回账号。有些网站有备用码,但是有些却没有。二次验证用好的话的确会更安全,但是一旦丢失二次验证,那比丢手机还要致命。丢失一部手机,里面的所有账号都可以冻结。支付宝微信之类的东西重新登录就可以,只要手机号还在,所有问题都不是问题。但是二次验证的app挂掉了,又没有备份的话,天真的要塌下来。当我从小米4c换成红米Note7的时候,用到二次验证的场合不多,估计不会超过5个,但自从我的网易域名邮箱被黑了以后,可以开二次验证的地方我全部都开了二次验证。那是个长长的清单。

要选择什么样的二次验证app?要以什么方式保存?要怎么备份?对我来说这些都非常重要。一开始我用的是Microsoft Authenticator,但不知道为什么安装的时候会有个提醒说需要Google框架,否则部分功能不能用,显然这个是不可能实现的。在两台手机上同时安装Microsoft Authenticator,不知道为什么老手机就是打不开微软账号的登录页面,这是很要命的,因为所有信息都会跟微软账号关联,登不上的话什么都没有。以前的Microsoft Authenticator没有云备份功能,现在的已经可以实现这个,但是当我打开了云备份以后发现创建时间和更新时间完全是一致的,即便我在创建之后又添加了一些东西进去,不知道是不是那个东西根本不懂得显示更新,所以云备份或许真的是备份了,但是备份了多少内容、那些内容是不是最新的,我要打个问号。与其信任那些放在云端服务器的东西不如信任我自己拿在手上的资源。所以我在老手机上安装了新版的Google Authenticator以及Aegis。之所以选择Aegis,是因为那是一个开源的软件,体积很小,而且每次打开的时候都强制要求必须使用密码、刷脸或者指纹。那个东西的好处是可以从很多地方导入密钥,也可以把已经添加二次验证的密钥导出。导出导入这个操作非常关键,这意味着只要你能找到这个app,只要你的备份文件放好了,那么任何时候换手机都不成问题,你甚至可以把手头上多个设备全部装上Aegis,然后导入同一份密钥。这就等于所有设备都可以成为有效的U盾。因为之前没用过这个东西,所以我同时也安装了新版的Google Authenticator,跟旧版最大的区别在于新版的有导出功能,只要你在旧的上面生成一个二维码,再用新的去扫。已经存在的密钥信息就可以一下子都过去了。这样看上去好像很靠谱,但是万一你的手机突然挂了呢,根本没办法做这个传递的工作。所以最根本的解决办法就是在每个网站开始进行二次验证的时候就把那个二维码保存下来。我直接开了个word,把截图贴进去,把最基本的信息也写进去,好让自己辨别那是什么账号,是什么时候生成的。只要有这个文档,哪怕手上所有二次验证app都失效,我依然可以用新的机器扫码关联通行。二次验证推广的时候都说这很安全,就从来没有人说过要如何备份。

昨天晚上我把9个账号的二次验证重新搞了一遍。在开启的时候三个app都扫了,同时也把那个藏着账号信息二维码截图保存了下来。Microsoft Authenticator可以云同步,当我把账号设置完以后,我就直接把那删掉了,因为那个app很大,经常更新会很麻烦,而且那个东西会自动填写密码,所以会后台驻留。Aegis结束后我把信息导出备份。然后再把Aegis和导出的备份在红米Note7上安装一遍。确定以这样的方式转移是完全可以的。二次验证这个东西本来就是为了在不联网的情况之下也能使用。所以我觉得尽量做到不云端同步反而更好。所以现在我两台设备上都已经安装了有效的二次验证app,同时最根本的账号信息二维码文档也已经妥善保存。

如果某天手机丢掉或者突然宕机,让我最担心的就是这个二步验证,现在我终于可以放下心头大石了。

2022-02
10

让自定义小工具复活

By xrspook @ 7:00:15 归类于: 烂日记

花了一整天都没搞懂的事情,突然晚上用了大概半个小时就开窍了。当然,其实功劳不在那30分钟,而是在前面的一直摸索积累。郁闷得要死要活,当然要总结一下经验,免得老是掉坑里。

上回说到自定义小工具时灵时不灵。通常,当我把网上的自定义小工具脚本(12)贴到functions.php,然后在小工具那里把相应的东西拖放到合适的位置,刷新前端就能看到。当我在functions.php修改代码,修改到一定程度的时候仍然可以看到,但改着改着,前端就没了。当我把改到最后还能显示的版本再贴回去,依然没反应。这到底是什么问题呢?后来我意识到不会是某些默认参数缺失导致。我不知道为什么在小工具的后台预览就没有这种缺失问题,但前端显示就有。非常有可能刚好碰上5.9前端和后台默认参数不完全一致。当我把所有之前空着,理论上应该自动带入默认参数的函数都补充为默认写法之后,奇迹发生了!所以折腾了一大轮非常有可能是5.9删掉了某些前端的默认参数,因为他们从这个版本开始可以使用区块进行全站模板编辑,既然所有东西都源于区块,所有东西都不是从自定义代码开始,在区块那里写入默认参数自然就不会有小工具默认参数缺失的问题。但是,他们万万没想到我这个从WordPress大概2.*版本就开始用的老土鬼依然在用很久很久很久很久很久以前的自定义小工具写法,而当时,当自定义小工具参数缺失时估计有默认参数补全……

要创建一个自定义小工具,可以在模板functions.php文件里通过代码方式实现。下面讲的只是创建小工具本身,有些模板没有自带容纳小工具的箱子,导致创建好的小工具后无法让其在前端显示,这里就不继续探讨了。

写一个自定义小工具主要有3步,其中第1步里有4个步骤需要完成:
1 创建小工具
1.1 设定小工具基本参数
1.2 设定小工具前端输出
1.3 设定小工具后台更新参数
1.4 设定小工具后台输出
2 注册小工具
3 激活小工具

转化为代码大概是这个样子:

class widget-ID extends WP_Widget //创建widget,widget-ID必须唯一,必须小写
{
	public function __construct() //widget基本参数设定
	{
		parent::__construct(
			'widget-ID',
			__('widget name'), //后台widget标题
			array('description' => __('widget description'),) //后台widget描述
		);
	}
	public function widget($args, $instance) //widget前端输出
	{
		echo $args['before_widget'];
		********** //要输出的全部放这里
		echo $args['after_widget'];
	}
	public function update( $new_instance, $old_instance ) //widget后台更新设定
	{ 
		return $new_instance; //public function form里更新了这里就更新,因为form没有内容,照抄默认写法
	}
	public function form( $instance ) //widget后台输出
	{
		echo '<p class="no-options-widget">' . __( 'There are no options for this widget.' ) . '</p>';
		return 'noform'; //因为是自定义小工具,参数都已就位,照抄默认写法
	}
}
function mi_register_widget() //注册自定义widget,mi_register_widget函数名随意
{
	register_widget('widget-ID1'); //多个自定义widget在这里全部列出
	register_widget('widget-ID2');
	register_widget('widget-ID3');
}
add_action('widgets_init', 'mi_register_widget'); //激活已注册的全部widget

之前我遇到的时灵时不灵根本原因在于public function update( $new_instance, $old_instance ){}和public function form( $instance ){}虽然我的确不需要表达什么,所以{}直接留空,于是就撞板了…… 所以这两个组后台参数设定可能对自定义的各位来说的确没啥用,但默认写法还是得继续保留,不能留空。

如果有人像我那样在WordPress 5.9之前自定义小工具好好的,但5.9后就前端不显示了,按照上面步骤对照修改后,还需要在后台小工具页面把之前失效的小工具从箱子里删除,然后重新拖放小工具归位。相信我,这个步骤非常重要!!!虽然看上去还是那个模样,但实际上拖放一圈的确就能解决修改代码后,前端无论如何仍然刷新不出来的问题。

撞板是痛苦的,但摸爬滚打后重新站起来的感觉非常好!

2022-02
9

后台预览和前端不一致

By xrspook @ 9:03:30 归类于: 烂日记

自从更新了WordPress 5.9以后,我的blog的自定义小工具在前端一律不显示,可以显示的只剩下系统自带的小工具,这到底是为什么呢?当我在后台用小工具实时预览界面的时候,我的小工具一个都没少,全部都有,为什么预览界面没有问题,实际上前端又有问题呢?5.9是我在春节放假之前更新上的,好长一段时间更新都没有任何问题,所以我根本没想过更新一个大版本会导致这样的事故。WordPress这个东西默认没办法回滚,要回到之前只有手动在服务器操作,而且还不一定兼容。到底是哪里出了状况?

可以肯定的是,5.9和之前的版本最大的区别可能在于全站都可以用可视化的方式用区块编辑,设计模板也不需要写代码了。但显然,对我这种人来说,我不太相信区块可视化编辑,我还是相信我的代码,但自从更新上这个版本以后,我的代码估计跟他们默认理解的有差异,所以就导致了这个问题。我觉得会不会是代码的某些钩子发生了变化,有些失效了,所以就导致我的自定义小工具失效呢?一开始我是这么认为的,但是当我研究过最新的那些模板后,却发现他们的模板里基本不自带小工具。我之所以要自定义小工具,是因为一般的模板、官方的模板通常不具备我需要的功能,所以我只能自己写代码实现。我从前的代码到底跟现在有效的那些语法在什么地方有冲突呢?我必须得找出来。让我觉得很困惑的是,如果是我代码语法有问题,理论上应该无论后台预览还是网站前端出来的效果是一样,也就是我的小工具应该都不起效才对,但实际上两个界面不一样。

当我好不容易找到了一些自定义小工具的脚本,当我把那往我的模板里贴了以后,的确一开始的时候是可以的,但改着改着就不行了。一开始我用的是正向修改,就是对比我自己的脚本跟可以显示的那些脚本,后来发现我觉得自己已经把需要改的地方都改完了,但还是没反应。于是我就开始反过来改,把我自己的东西贴到可以显示的脚本里面,结果发现依然没有问题的。起码可以这么说,核心部分的代码一点问题没有,但到底是什么地方出了问题呢?最后我修改到只剩下函数名称。一旦我把函数名称,东西就失效了。当我把没有失效还能显示的脚本贴回去以后,东西依然是失效的。所以到底怎么整才有效,怎么整会失效,到底是哪里的问题导致我的东西不能在前端显示呢?我花了一整天的时间都没找到原因,因为当我把可以显示和无法显示的脚本放在一起对比,除了自定义函数的名称以及缩进以外没有区别,而那个可以显示的脚本贴进WordPress里有时可以,有时不行。行就行,不行就不行,我写了那么多年的blog模板,无论是WordPress还是其它,从来没遇到过这种有时可以有时不行的情况。之所以这样,我猜他们是在某个地方用了缓存。那个缓存不是我浏览器的问题,因为这边我换浏览器问题依然存在,所以他们为了提高WordPress的运行速度,到底在这个5.9版本里做了什么呢?春节期间我一直没有主动修改,因为我希望过一段时间他们就会出一个新的版本解决前端和预览不一致的问题。如果我的小工具在预览界面也无法显示,我会心安理得。我不会像现在这样知道有问题,但完全不知道问题出在哪里。

可能当新版本出来以后会发现其实根本不是我的问题。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress