2024-09
10

发现规律,抽象步骤

By xrspook @ 8:53:01 归类于: 烂日记

星期天的下午,初中的同学群又开始了数学题答问答。这一次又不知道是什么题目,反正照出来的那个相片右下角页码那里写的是有理数。有理数无理数具体是什么东西,实际上我已经不太记得了,但这就只是一个定义,稍微翻看一下书本,就会回忆起来。我不知道有理数跟那道题有什么关系。对一个路人来说,我觉得那道题就是一个考察发现规律的,发现那堆数字正负值的规律、发现那堆数字排列组合的规律。相对于高中时代的题目来说,我感觉那道可能是小学或者初中的题目,规律还是比较好找的。

当我第一眼看到那道题目的时候,我就彻底没想过要理,直接继续看我的电视,把那忽略掉,因为我知道即便我不回答,其他人也会回答。我不是唯一的一个答案。看上去那是一本习题册或者一个试卷册,无论是哪一款,肯定有标准答案,问题只是我的那个同学不知道那个答案到底是怎么来的。其实我也不知道他为什么要知道那个答案是怎么来的,毕竟要做这个题目的人不是他,而是他的孩子。所以孩子不知道怎么做那道题,为什么操心了半天的人却是家长呢?当我那个同学还是个孩子的时候,他不会做的题目他的家长绝对不会为他操心。不会做就不做,不会做就回去问老师问同学。现在这个该怎么做的这个责任仿佛都落到了家长的身上,又或许,是因为我的同学觉得他还是个小孩的时候,他的父母没尽过这种义务,他觉得不好,所以现在他成了孩子的家长,他觉得自己有责任去弄清楚,然后教小孩。

他觉得这是他的义务,但我就只是个同学而已,我没有义务解答题目。有兴趣的时候可能看一眼,没兴趣的时候就像这样直接忽略。周日下午吃过晚饭,回单位的路上,我又打开了那个群,仔细看了一下题目以及同学的回答。看过那道题目以后,我就得出了最上面的那个看法。我不知道那道题跟有理数到底有什么关系,但可以肯定的是,那道题的意图就是让做题的人发现规律并利用规律。

发现规律利用规律这种东西,在往后的人生之中实在太普遍了。抽象到哲学的层面,几乎每一件事都是这么个情况。数学这种东西,理论上是最容易用逻辑解决的,尤其是对大学以下的数学而言。以前没发现,后来我才意识到,以前那些有标准答案的题目逻辑性都非常强。只是当年的我要应付的事情太多,没办法逐个击破,没有领会其中的逻辑,于是也就只能死记硬背了。

那道题给我的感觉就是,对懂的人来说,找出规律以后,代入数字就能出结果,但是对那些知道规律,但又不知道如何把规律抽象成公式的人来说,那就等于是只能把那些东西都罗列出来,但关键是如果数量级很大,全部罗列是不可能的任务。对懂行的人来说,无论是自己列公式,还是写个程序跑一下,前提都是你发现了其中的规律,而且你把那个规律抽象成某些公式,于是最后题目就变成代入数字求和。如果硬是把所有东西都罗列一遍,那就只是写个程序,让程序按照你要的那个样子跑一遍,但这个跑一遍对懂的人来说是毫无意义的。因为不需要跑,不需要用最后的结果数字验证就能得出预判的那个结果就是最终答案。

编程是什么呢?编程就是发现规律,然后把那些规律抽象成某些步骤。

2024-08
15

有天赋?

By xrspook @ 8:42:44 归类于: 烂日记

有时候我也搞不懂自己是不是真的有编程的天赋,还是说不知道为什么我对这方面会特别感兴趣。之所以这样,我觉得一定程度上跟我过往的经历有关。我不讨厌数学,但因为自己的计算能力有问题,经常会因为这样那样的原因出错,所以越往上学,我的成绩就越会出现提不上去。知道那个思路,但是却算不出那个答案。这种情况在某些只需要答案不需要过程的考试里面就很吃亏。即便需要计算过程,但如果我在第一个部分就算错了,后面也就没有什么意义了,因为根本算不下去。

编程好像一定程度上弥补了我的计算失误。因为计算结果是由机器完成的,而我只需要提供思路。在简单的问题上,那种百发百中的感觉真好。不过当问题遇到的越来越多,思路不是一下子就能畅通,我需要碰过很多壁以后才能出结果我会觉得刺激。在考虑很多因素的时候,总是有这样那样的不到位。有些步骤可以做在前面,也可以坐在后面,但是哪个会更优呢?最终都能得到同样的结果,那个时候我就得用机器的方式去考虑,怎么样才能最大程度节省资源,提高运算速度。

如果说写脚本的话,高中的时候我已经在干,那个时候是写网站,现在写CSS,然后是 HTML,再到后来当我接触WordPress以后是PHP。一开始用的CSS 那个时候就完全只是控制网站的部分格式而已。CSS可以控制很多东西,但是核心的部件是没办法修改的,有些控制封装在核心部件里,于是自定义CSS无法到达,那个时候我感觉到有一点点的无力。相对而言,WordPress控制方面可以说只有你想不到没有做不到。哪怕有些部分可能CSS真的无能,但实际上当你得知那个控制手段以后,你还可以配合其它的脚本实现某些格式的自定义。

最终让我觉得自己的编程技术总算是用到了点子上是近几年Python,Power Qurey和Power Pivot以及VBA的使用。这几个东西是从Excel的数据处理开始的。我基础的东西都齐全了,但是我怎么才能快捷获取某个成品的结果呢?我知道那个事情该怎么干。但是天天都干,又或者是在很短的时间内要我干那个事情,首先是觉得很烦,其次是非常容易出错,于是这让我想到为什么我不能用编程的手段把它们高度的结合起来。要用什么编程语言?其实一直我都在摸索。用过了一段时间,大家都尝试过了以后,我觉得大部分情况下,无论哪个语言,都能获得类似的结果,但复杂程度不一样,在不同设备上的运行速度不一样,需要的设备基础也不一样。我要用什么编程实现那个结果,我就得考虑这些东西。我是不是经常要用,是不是我一个人用,是不是我还得给别人用。最终我觉得稳定性首先必须保证,最终那个结果也是,必须得以某个我要求的方式输出的,第三点就是看看我的第一感觉是哪个编程软件。

可能某一天,某些软件用不了了,我只能用其它方法去替代,虽然这很麻烦,但是我也相信,我有能力可以做出替代,但我希望不需要有那么一天。

2023-11
8

这些年,这些兴趣

By xrspook @ 8:30:37 归类于: 烂日记

“心有所属,唔怕孤独”这句话最早的时候大概是高中语文老师经常说的,至于她为什么会说这句话,我已经不记得了。后来好长一段时间里,这基本上也算是我的一个信条,因为一直都有东西干,所以我完全没有孤独的感觉,虽然绝大多数情况之下都是我一个人。一开始的时候是拉美电视剧,虽然都是猜的,虽然都是瞎搜索各种资料,但是人依然很快乐,无论那些跟我一起狂热的是国内还是国外的人,国外的还是那种完全外国人,不懂中文甚至不懂英语。

拉美电视剧这个关注点一整个大学甚至可以说从高中开始我就入坑了。大学毕业开始工作以后,变成了GA,因此认识了一些人,一些伊甸园的人。机缘巧合之下,我又重新开始看摔角,看WWE,结果又遇到了一帮喜欢摔角的人。因为兴趣,认识的人一波接一波,从来没有停止过,有些人可能一直都有联系,但是有些人当兴趣渐渐淡去以后基本上也就再也没有联系了。WWE的兴趣差不多了以后,接手的是跑步以及各种运动健身之类。跑步认识的网友基本上都是在微博上的,至于为什么他们会发现我,我也不知道。跑步进行的时候,又是一次巧合,喜欢上了米叔,因此入坑了印度电影,接着又认识了一帮与印度电影相关的人。他们有些是论坛的金主,但同时也会坚持翻译压制、校对之类的事情。

无论是一开始的拉美电视剧,还是之后的摔角,又或者是在之后的印度电影,我都是从论坛新手干起的,然后渐渐就跟那些版主、坛主之类的混熟了。之所以这样,是因为对每一个兴趣我都尽心尽力、毫无保留。他们也肯定能感觉得到我的用心,所以每次虽然都是从零开始,但是只要我持续在那里,总有一天都会发光发热,不知道为什么慢慢就会混到一些很高的职位。有可能是发布人,有可能是版主,也有可能是管理员。

跑步因为新冠疫情的原因被打断了几乎三年。印度电影也因为米叔很久都没有来一部,所以我也渐渐的从那个坑里退了下来。在那之后,基本上我就再也没有像从前那样入坑新的兴趣。以前总是觉得我有很多事做,根本做不完,因为要支撑那些兴趣,投入的时间和精力都是个无底洞,有些你可以预知,但有些是突如其来的。现在当我慢慢地放下那些兴趣以后,我觉得好闲,不知道该做些什么。

很久很久以前我就觉得,如果有一天,当我的兴趣成为了我的工作的一部分,我将非常牛逼。现在有些时候也的确发生了这种事,因为我觉得编程、写各种各样的代码,好像已经成为了我主要的兴趣。之所以要这么干,是因为我想把工作变得更加便捷。兴趣这个东西是你无论如何都挡不住的,所以根本无所谓上班下班,当你一心想干某事的时候,不知不觉就会熬到了很晚。以前的兴趣我的朋友都知道,现在这个兴趣估计知道的人没多少,因为一直以来都只是我一个人在那里死磕。编程这个东西,当你实现了一些目标以后,会觉得很有成就感,但是接下来可能好些时间你都是在等待发现下一个目标。

这么多年,我一直都没有变的是对兴趣心无旁骛的认真和全力以赴。这辈子我都得这样!

2023-09
2

选择关键词

By xrspook @ 10:39:32 归类于: 烂日记

写VBA的这段日子,我觉得自己的脑子越来越习惯用那种方式思考。如果你要把一件经常做的事情程序化,你就得抓住一些关键点。虽然流程大概差不多都那样的,但实际上人在操作的过程中还是有一些关键。如果想把那些流程标准化、自动解决问题,你就得把那些模糊的关键点全部都明确,比如看到什么关键词进行什么操作,这得一清二楚,而且这些关键词的选择还得考虑不容易被干扰。这些关键词的选取对一般人来说是没什么概念的,他们觉得大概应该那样,但实际上你要在一堆东西里面选取关键词,绝对不能像在一些标准序列里面选其中一个那么自然。

有一天同事发微信过来说我上报的某个数据好像不对,因为他筛选出来的结果不是那样的。我不知道为什么会发生这种事情,因为在上报那个数据之前,我已经再三核对。又过了一段时间,他又发微信过来告诉我,是他筛选的时候出现了一些干扰项,之前他没看到。他在去向字段筛选的关键词是Q3,理论上那是一个仓号,对绝大多数人来说,如果只说这两个字,也会觉得这是一个仓号,但问题是那天刚好遇到某个车的车牌里有这个Q3这两个字,于是他筛选到的结果跟我计算Q3的数量当然就有区别了。这个时候,如果他筛选的关键词不是Q3,不是Q3-01就不会有这种问题,因为没有一个车牌会有“-”。如果他选的是Q3-01,那么那些Q31、Q35的仓号也不会干扰到他的筛选结果。我不知道浪潮那些筛选项是如何设置的。如果是以前的那个系统,以前的那个需要运行exe的系统筛选,你还得选择到底是什么形式的筛选,是等于大于还是包含。现在浪潮那个在网页上运行的系统筛选词就只是模糊匹配。如果去向那里必须精确匹配,你不写Q3-01就返回不到你要的结果,他也不会遇到车牌号这种事情。把车牌和仓号按照流向放在来源和去向,从一开始我就觉得这很逆天。如果一开始就给我这样的数据,最后我还得通过入库和出库去判定到底哪个是车,哪个是仓。如果我的同事查找数据的那个界面没有这种来源和去向,只有流向、仓号、车船号,显然他一定会在仓号那里选Q3,而不会去车船号那里输入Q3,这样的话也不会遇到他碰到过的问题。

对编程的人来说,尤其是对那些专门要把某些程序自动化的人来说,非常在乎关键词的选择。因为把一些老表格自动化的过程中你会发现那些东西根本不是标准的字段模式。要怎么把那些非标的东西标准化,你就得绞尽脑汁选择关键词,怎么才会不重复?怎么才能实现你的目的?当然了,之所以这么说是因这些标准化是基于Excel工作表的,如果那本来就是一个数据库里面的东西,即便他们不愿意标准化,有些东西也不得不标准化。

当你强迫自己以某种方式去思考以后,经过一段时间的锻炼,你会觉得自己在不知不觉之中有了那种条件反射的能力。

2023-08
31

着迷中

By xrspook @ 8:09:03 归类于: 烂日记

我已经不记得自己是如何走上这条写代码的不归路的了,确切地说我已经不记得具体我是哪一天开始研究这个跨表查询的问题。我大概知道顺序是怎么样的,但是具体是哪一天开始我实在已经说不清了。现在我天天都在写,天天都在写VBA、天天都在纠结VBA里面的SQL。我已经不记得这种状态已经持续了多长时间,反正即便是吃饭睡觉,我的脑子里依然想着那个东西。每天就是起床吃早餐然后完成必须做的工作,接着以最快的速度完成打卡,然后一整天都在那里写代码,不管上班还是下班。在这种状态之下上班,那8个小时突然变得好短。因为已经沉迷其中,所以到了下班时间经常停不下来,吃饭时间因此一再拖延。如果不是去饭堂吃,而是自己吃麦片,那就更加是一杯麦片,我根本不知道自己是如何勺到口里的,反正那杯东西我可能得吃一个小时以上。当你完全着迷于做某事的时候,你根本感觉不到其它东西的存在,比如身体的各种反应,比如某些疼痛又或者是饥饿等等。因为我知道我一旦着迷就完全没办法顾及其它事情,所以当我还没迷进去的时候,我就得先把其它必须做的做完了,否则是完全不能自拔的。

之所以出现有现在这个状况,是因为自从我实现了第一个跨表查询的任务以后,我发现一直以来我的很多东西都可以用VBA+ADO+SQL把它们联系起来。那些以前我有数据,但需要这样那样粘贴的玩意现在我可以把它们统一起来通过查询的方式直接获取结果。这样的好处是成功开发以后很省事,但是坏处是这样非常定制化,所以基本没有什么动态可调整的余地,即便设定了很多条件当你想加更多的时候无能为力。还有一个让人觉得挺累的,就是如果我做的是数据透视表,汇总那些事情不是我干的,是系统干的,我管好明细就好,我要什么明细我就搞到什么程度,但如果我得在一个查询结果里面把汇总考虑进去,无论是列还是行,我都得想办法把实现。相对于数据透视表来说,我觉得这种汇总是硬汇总,是设计的人必须得想好的,而且一旦变换某些条件,又得伤筋动骨调试一番。对用户来说,对只看到最终结果的那个人来说,可能会觉得很爽,如果他做过之前那些这样那样的复杂操作,他更加会觉得这实在是太爽了,但如果某个人之前没有经历过那些,他只是直接用这个捷径,从他的角度考虑可能他想知道更多,但是现在已经固定好的方式没办法满足他的要求。所以我还是觉得如果数据是规范的,用Power Pivot的方式把连动起来更靠谱。

PP非常的稳定,尤其是相对于PQ来说,但问题是无论是PP还是PQ,那个写代码的地方都非常不友好。正常的窗口操作基本不会让你挂掉,但是写代码的时候非常有可能直接让你卡死,必须得关掉重来,但是之前写的东西就全部废掉了。现在我之所以会在那里玩VBA,因为实际上我玩的不仅仅是VBA本身,而是VBA延伸出去的SQL。本质上,我在进行类似PQ或者PP的操作,虽然公式少了很多,隐藏技能也就是我至今无法猜透的更多,但就运行效率来说,尤其是对小数据的运行效率来说,VBA+ADO+SQL远远优于PQ和PP。我这里说的小数据是单表不超过1万条,最宽的表不超过30列。

可能,如果我不是用Excel去玩PP和PQ,而是用Power BI去玩,效果会很不一样。

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