2024-04
25

基于class的级联分类下拉达成

By xrspook @ 8:26:51 归类于: 烂日记

花了大概两天的时间,终于做出了我想要的那种级联分类下拉的效果,但实际上我的判断是根据上一层筛选的,所以如果上上一层不一样以我现在的判断结构,没办法分辨出来的。如果要把这些都分辨得清楚,那么json的结构里就得把每一条记录所在层都写清楚。如果那是1层,那么234可以留空,但如果那是4层,那么1234都得有。我的json文件现在结构非常简单,总体来说是一个数组,每个对象只有三个部分,一个是name,一个是class,一个是content。name是这个对象的名字,class是它所在的层,content分为两部分,如果不是最后一层,那么content就是下一层的name的数组,如果那是最后一层,那么就是它所包含的所有信息。

第1层比较简单,就是把属于第1层的数据添加到第1个选框里。第2层是我纠结得最久的,因为搞不定这个后面的也搞不定。一开始我的计划是首先判断第1层是有数的,然后获取第1层对应的content。然后开始数组的历遍,把名字跟content里的一致且层数是2的name选出来,然后把它们逐个添加到第2层的选框里。第2层开始,这个操作是第1层的选项发生了变动后清空第2层,然后初始化选项框。第3层和第2层做的事情是一样的,无非就是2变成3,然后就是清空的时候,如果到达了第3层,第2层清空的时候,就得把第2层跟第3层都清空了。我的设定是到第4层,第4场就是结果,所以当第4层被确定下来以后,第4层的content就需要展示具体内容。同理,如果我1234层都选好了,然后我又变动了第1层,那么就得把234层以及最后的结果全部清空。这些操作都是很规律的,我感觉可以通过循环或者递归之类把这说清楚,就不需要一次又一次重复这种事情。准确来说,我感觉用递归更合理一些,但是因为我的递归学得实在很糟糕。学python时候,递归那一章从来都是让我瑟瑟发抖的,尤其是要我画雪花图案的时候,简直毛骨悚然。有了那些清空和初始化的操作以后,我就彻底避免了百度AI自动生成的那些bug。现在我的这个方案的确挺傻的,但我觉得可以通过递归的改写让它没那么傻,这个方案之所以可行,其中一个很重要的地方在于起码以我手头上的资源以及我的技术,我可以生成出对应的文件。虽然可能会有点麻烦,但起码可以实现。首次生成会让你有点望洋兴叹,但持续更新的难度不大。

核心部分基本解决以后,我要开始进行UI美化,进而发现,原来CSS进化了那么多年,select下面的option依然没有可以轻易被控制的方案。这么一个死胡同,居然被我撞上了。

2024-04
23

测试用wordpress插件搬家

By xrspook @ 8:46:13 归类于: 烂日记

前段时间就被网友告知我们快要搬家了。搬家其实也没什么,但关键是网友已经忘记了账号密码。发邮件给服务器供应商,根本就没有回应。理论上找账密这种事情是很常见的,但为什么居然会没有回复呢?服务器外国,虽然我们的网站上也没有什么秘密,但如果突然有一天他们宕机了,我们又访问不到,丢失的就会是我们一直以来的心血,准确来说可能是我的心血,因为估计极少有人会像我这么痴迷于每天都写blog。虽然非常惋惜,但实际上我自己的内容倒还有纯文字的备份,只是不太容易查找我想要的内容,也会丢失掉所有的媒体文件以及网友的回复。

在我的印象之中,wordpress的经典搬家是需要在服务器那里把网站的内容拷贝出来,然后再去数据库那里把数据也打包出来,接下来就是到新的服务器那里,把网站内容复制上去,把数据库内容重新导到新的数据库里面。最后的步骤就是在域名那里重新做一个DNS的指向,但是这一个倒不是非常关键,因为用IP地址也能访问得到。对我这个基本上不会有什么浏览量的个人blog来说,外人一两天访问不到无所谓。

我想都没想过,我的合伙人居然把账密忘记了,这实在让人觉得非常的无语,所以如果按照wordpress常规的搬家程序,这个家是无论如何搬不动了,但现在有wordpress插件能实现全站搬家。1月的时候我就试验了一下,把网站的内容打包出来,大小是500多MB。他们的搬家方法你基本上不需要用什么大脑,把东西从原来的地方打包出来,然后新建一个wordpress,再把东西再导进去就可以了,但这个步骤到底行不行,会不会有什么幺蛾子?在没有测试过之前,我是不敢直接在网络上操作的,毕竟文件的大小摆在那里,没必要浪费时间。所以我需要做的就是用XAMPP在本地建立一个wordpress的运行环境,然后在本地建一个新的wordpress,然后尝试一下,把数据导进去。

在本地用XAMPP建wordpress对我来说已经不是第一次,但这一次,在win10之下,我发现了一个非常神奇的问题,理论上本地操作速度应该很快,但实际上打开一个页面居然要转上好几分钟,于是我不得不寻求帮助,结果发现首先第一个拦路虎是Windows Defender,那个东西是一个很大的罪魁祸首,所以首先我得在那里把XAMPP的文件夹设置为例外,第二个拦路虎是Apache的端口默认是80,但是80端口容易跟其他东西形成冲突,所以我把那个端口改成了8080。端口改掉了以后,在浏览器那里,打开本地的网站会出现警告,但是忽略了那些乱七八糟的东西以后就很顺利了,网站是秒开的。在我印象之中,以前我使用XAMPP的时候根本没有设置过MySQL的密码,但这一次我进行了设置,因为实际上在新建一个wordpress的时候需要我填入MySQL的密码,但XAMPP的MySQL默认没有密码。所以以前我之所以没有遇到这个问题,是不是以前的教程默认密码那一栏直接留空?

试验证明,那个搬家插件能非常快速顺利地把整个网站挪到其他地方。基本可以这么说,全部东西都挪过去了,起码我测试的部分都挪过去了。一开始的时候网页会出现404,我觉得可能是某些数据没有完全索引到位,当我在后台检查一番以后,再回到那些之前开不了的页面,发现又全部都可以了。可能在数据库方面,需要一定的时间去建立某些映射关系。除了出现404以外,还有一些warning的地方。搜索之后发现原来那是PHP的一些提示,当某个变量没有声明就开始使用的时候,就会出现那些warning,所以我看到的结果是我要的数据都生成出来了,但是那些数据前面会有一段warning,然后我就在自定义模板的functions.php那里把那些有warning提示的自定义变量全部都先做一个null初始化,这样非常傻瓜的操作以后,那些有warning的地方全部都警报解除了。

试验证明,用这种搬家方式是完全可行的。因为我是在本地测试,所以我把上传文件的大小改为了600MB,但如果我在新的服务器上做这种上传操作,服务器会不会允许我上传那么大的文件呢?万一真不允许我这么干,我还有第二个方案,就是先把导出的文件在本地转化为一个完整的wordpress,再把本地的网站和数据库分两片提取压缩,然后再上传到新的服务器。这是一种曲线救国的方法,应该没有问题。

自己的blog有救了,感觉终于可以松一口气。

2024-04
12

有理有据地做选择

By xrspook @ 8:17:23 归类于: 烂日记

花了大概一天的时间整理出一个用来算库存价值的东西,这里我没有使用VBA,是因为我需要一个更稳的方式。之所以不用VBA,因为已经不需要跨文件加入数据了,所有东西都将在一个文件里解决,而且相对于我得用VBA来干掉的那些,这里的数据相对来说很少,所以这一次我用的是Power Query。我有考虑过要不要用Power Pivot,但最终可能我的数据要以普通表格或者是数据透视表的方式表现出来,通过查询生成的东西最终可能要粘贴到经典的纸质版二维表里,数据透视表在这个情况下就不怎么适合复制粘贴,尤其是当我的数据透视表选项里有合并居中的设定。

在这个做这个的过程中,我有考虑过用Excel自带的公式,但无论是经典的lookup还是新函数xlookup效率都太低了,我不知道是我的电脑太渣,还是的确就那么回事。如果用PQ,在一个低端的Excel里,的确可能效果是很糟糕的,但如果我已经把刷新好的数据发给别人,别人即便刷新不出来,数据也都能看到,不影响,但如果用的是高级的公式,可能那里就一团糟了。还记得多年以前,单位有异地储备玉米,对方把到达码头和已经装船发货地数据发给我,用了sumifs,那个时候我用的office是2003的,那个公式我根本没办法使用,全部显示的都是一团糟,所以我不得不为了打开那个文件看到里面的数据又在电脑上装了个WPS。那次之后,我才努力的尝试用office 2016,之所以会跳过2013,是因为2013在数据透视表方面有无可救药的bug。如果是office 2010,高级公式依然打不开,所以现在当我要实现某个功能的时候,我要考虑什么东西会高效一点,什么东西兼容性好一点。VBA的兼容性很好,但是不是人人都敢打开宏文件。因为在以前,宏文件通常都意味着有木马之类的东西。同时,我设定了宏万一某些时候有问题,别人就会只会弹出错误,的不到结果,也会让人很紧张。

这一次我做的文件,可能后面见到的人会很多,他们可能会用不同的电脑,可能是win10,也可能是win11,有可能是office 2021、2019,又或者是Microsoft 365,也有可能是WPS,到底的WPS里面能不能正常打开并使用PQ我不知道,我估计是不行的,但是能不能看到数据呢?我觉得应该可以,但是无法通过修改某些条件刷新出新的东西。

微软的AI据说很厉害,但关键是在中国和俄罗斯用不了,所以那些都是扯淡。前段时间说Excel通过安装插件可以使用Python,但是那个Python处理是需要把数据送到远端的服务器再传送回来的,我感觉最终会跟微软AI的命运差不多。现在的Power Query相对于我第一次在office 2016里看到的那个已经成熟了很多。还记得我是第一次在自己的笔记本电脑 office 2016家庭版里见到的PQ,那个时候那就是个四不像,中文英文各有一点,翻译都不全。有些功能也不知道是我用得不对还是怎么样,反正就会卡住。对照一些经典案例,的确能得到某些结果,但是我却一直都没有经常使用,因为真的不是每个office都兼容那个东西,而且不同版本的office看到的结果和刷新到的效率可能相差很远。

要解决同样的问题,到底用什么样的工具?当我手上的工具只有唯一的时候,就只能选那个,但是当我可以做选择的时候,我会考虑数据大小、运行速度,以及不同windows和不同office下的兼容性。

2024-01
14

家里的VBA也出状况了

By xrspook @ 10:01:56 归类于: 烂日记

说晚上回家跟往常一样工作,却发现某个VBA排序的功能不知道为什么选不到了,那个VBA里面我设定了好几个宏。使用的时候我打开一个新的文件,然后调用某个VBA文件里的某个宏实现某种功能,现在的情况是某个VBA文件里面的某个宏我选不到了,之前从来没有发生过这么屌丝的事情。不仅仅是alt+F8的时候选不到了,当我当alt+F11进入VBA脚本编辑界面的时候,某些宏居然也点不进去了,模块也无法选定。那个时候我真的是非常无语,为什么居然会发生这种事呢?为什么有一些宏就可以,另外一些就不可以?幸好排序的那个功能即便无法用宏去实现,我依然可以轻易手动完成,但是这么诡异的事情实在让我不知道该怎么办。

我完成了那天的工作以后,我首先把office升级了,升级到了最高的版本,同时也把win10的系统进行了更新。所有东西升级完还没有重启之前,我测试那个之前诡异的VBA文件。好像情况又不像我工作的时候遇到的那么糟糕,但是情况时好时坏,有时能选择得到,有时选择不到。当我彻底更新的重启再次进入系统以后,发现那个VBA好了,彻底的好了,但是有时也会出现一点点鼠标转圈的卡顿。我的VBA都还没有进行任何的操作,为什么就卡顿了呢?

周六晚上我又进行一些很常规的操作的时候发现VBA的某些宏又出现了我办公室那台电脑上曾经困扰我的事情。会直接跳出来说,某些copy的功能不可用,你可以进行调试或者结束。这种东西是完全没有道理的,因为之前我都一直还在用着那个文件,没有进行任何的修改。如果说宏的某些问题跟跨表调用数据有关,但在这个出了copy问题的宏里根本就没有进行这种高端的操作。弹窗的报错是因为文件某个另存为的功能无法实现。为什么会有如此低端的问题呢?我隐约记得办公室的那台电脑出现这个问题的时候,我把电脑重启,然后就好了,什么都没有修改。

所以这到底是什么问题导致出这种错误呢?我严重怀疑周五晚上我遇到的那种事情,是因为win10正在后台悄悄地进行升级。首先是下载文件,会占用我大量的CPU和内存,因为家里这台电脑是2012年组装的,已经非常年迈了,i3二系的CPU进行日常的操作,上个网之类完全没有问题,但如果win10要进行大量的资料下载,同时也要进行那些东西的安装,我说不准会不会就会产生问题。理论上要不要升级,什么时候升级都应该由我来决定,但实际上win10在升级这个问题上,总是悄悄地在后台自动进行,当它提醒我的时候,通常下载和安装都已经完成,最后就只是让我决定什么时候重启。

单位办公室那台电脑出现那个问题的时候,我也觉得应该跟windows或者office的某些更新有关,但是我遇到问题的那个时间跟升级的那个时间相差挺远,没有找到接近的,所以我就没有继续在那里纠结。单位办公室那台电脑,VBA出不出状况,很难说情况,时好时坏,可能一天下来都没事,但也有可能一天会撞上好几回。有些时候把同样的文件复制过去,再次使用就没有问题了,有些时候得重启一下就好了。除了这两款以外,我实在找不出还有什么解决方案,但幸好这两款还暂时还能应付的过去。家里这台电脑之前我一直没有遇到过VBA相关的问题,周五晚上是我遇到的第一次,周六马上遇到了第二次。

Windows用了那么多年,VBA也用了那么多年,但微软居然会在这些如此普通的事件上面犯错误,所以如果我只是需要求稳定,我还可以相信谁呢?

2023-12
21

确定使用365家庭版

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

38岁生日的这一天做成了一件事,就是终于找到了一个方案更换同事的office软件。因为我发现在win11系统之下,用office 2016的确会出问题,但这种问题你又说不准到底是因为什么,有时候会出现文件报错。公式自动发生了变化,比如某些不是数组公式的会变成了数组公式,让人觉得非常无语的是数据透视表的部分完全没了,只剩下纯粹数据本身。除了这些核心问题以外,表格的格式也发生了变化,比如行列距离,但最根本的问题我觉得是当我在用365的Excel的VBA访问某些被office 2016修改过的文件的时候,会出现一些莫名其妙的错误。之所以这么觉得,是因为这些错误发生的时间跟2016修改文件的时间比较吻合。在没有找到VBA出现问题的根本原因之前,我首先得排除这是2016造成的。2016 proplus的版本里也可以使用Power Query,但实际上数据刷新的时候,非常容易卡住。在365里可以刷出来的数据,2016会卡在那里,可能多刷几次也能行,但是那种体验会让人觉得挺崩溃。因为我是一个用了365好几年的人,但因为同事的电脑是2016,所以虽然365已经引进了一些动态公式,但是我却一直不敢学习使用,因为只能我能看得到,别人看不到,这样就没办法工作了。现在如果大家都用了365,我就可以怎么高端怎么方便怎么来。

近期我发现很普通的vlookup公式在365最新版本之下,会自动会变成一个动态公式,根本不需要把公式往下拉,它自动会显示一个蓝色的窗口,里面就是你需要下拉的那些东西。那种动态的感觉直接让我联想到了超级表格。365的其它查询公式也有这么牛逼的功能,我在看其它公式介绍的时候就发现了,但直到某一天,我自己用vlookup的时候才发现原来传统的公式也升级了这项功能。

本来我的设想是买office 2021的密钥,跟同事经过一番讨论以后还是觉得单位购买Microsoft 365家庭版比较划算。首先因为家庭版可以绑定的电脑比较多,其次是因为如果电脑经过一批又一批的更新换代,新的电脑自带了office,365可能就不需要购买了,但如果只是一次性买2021的话,经过几年的迭代,那个东西虽然买回来很贵,但实际上还是会有老化的时候。

我足足花了一个上午的时间才总算最终确定了这个Microsoft 365家庭版的方案。,但把365装在同事的电脑上,并确定可以使用,又不得不拖到了下午。首先找做表的人,然后是找要签名的人。接着找建立账号的人,最后找付款的人。付款的人说因为申请表还没有列出来,所以还不能那么快就付款,因为付款就会自动生成电子发票,电子发票的时间不能早于申请表的时间。所以最终的决定是先把office 2016卸载了,然后安装Microsoft 365,接着是用同事的某个家庭账号里面的共享子账号暂时支撑一段时间,等单位的家庭账号买回来了以后再把同事的365账号更新上去。

生日这天让我没料到的是明明是星期三,消消乐却有了更新,当我好不容易干完了20级以后发现原来星期四还有一个更新。1220的算是节日加更,我搞不懂这到底算是什么节日,圣诞吗?元旦吗?还是说澳门回归?平平淡淡就好,每周20级就可以了,一周折腾两次很心累。

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