00:00
好,那接下来呢,我们要拿这个监控流做一个过滤,既然说了这个是过滤数据,那我们用哪一个。方法。既然过滤,我们应该用哪个方法?Filter没问题,而且这个里边我们要用到状态编程。要用状态编程。那很明显。我们要用reach filter的方式嘛,对吧,要用负函数,因为状态变成你普通的肯定用不了啊,没问题啊行,那这边呢,我们就调用这个filter,用一个reach的方式好。返回值为false或true,对吧?好看L加V得到一个filter DS过滤后的或者叫UVDS也可以啊。
01:01
叫UVDS对吧,那我们核心业务逻辑就在这里边啊,就在这儿。对吧,最核心的就在于这块了,首先我们今天说了啊,我们今天说了说什么呢,要做一个状态编程啊,所以呢,我们。写一个状态。发鹏鹏太强了,那你以为呢啊?对吧,好,那我们用什么类型的状态呢。我们今天说了,存一个年月日时间是不是就够了?对吧,那么这一块我们用哪一种状态呢。对了,Value state是不是就够了?好,那我们取一个value state。那这里面放。对吧,啊,那这个呢,我们叫一个data state。
02:00
日期的一个状态对吧?好,那但是我们数据里边啊,注意看我们数据里边是不是只有时间戳TS看见没,只有TS没有这个年月日,所以很明显我们是不是需要一个simple data format这个东西来帮助我们做这个事情啊,所以我一定把这个创建了啊,叫simple。Data对吧,啊SDF。那open生命周期方法里边,我们做它的一个初始化啊,那这个date state啊,初始化get runtime contact.get state啊呃,然后这里边呢,要一个value的描述器,对吧。Value state description。那这里面呢,是string类型,好,那这个地方一个name一个类型啊,那这边是。State。然后类型呢是string.class。
03:00
发家杯得到一个value state,好,那把这个呢,往这一扔。这个就值了,对吧,同样的我们还有一个SIM format不要忘了啊,然后呢,给它也初始化一下。Symbol data much,我们要的是YYYY-MM-DD对吧,为了方便我们后续处理这个数据,没问题吧?啊,是这样的一个过程,行,那这个东西搞定了,接下来呢,就写这里边逻辑,还记得逻辑吗?我再给大家梳理一下啊,整个逻辑是这样子的,第一步先判断。先取出什么,我们大概的流程图取出。上一跳页面对吧,好,接下来呢。是判断它是否为no啊对吧,好,那如果不为囊呢。不等于呢否?对吧,这个数据直接就返回false。
04:00
就返回了对吧,好,如果是呢。是我们在取出。状态对吧,取出状态好,接下来判断状态。是否为纳?还是判断是否,哎,这画不下去了,懂吗?啊,我把这画小一点。这样吧,用一个三角形啊,本来菱形对吧,这个呢,判断它是否为呢,啊是否为呢,好,那一样的,如果它。适闹呢,适当直接处对吧,然后呢,更新状态啊,状态要更新啊,如果否呢。如果否的。否的话继续判断。TS跟状态怎么样,是否相等,是不是这个逻辑有没有问题?之前我们梳理过一遍啊,现在我大致的画了一下,有没有问题。我没画完啊,大家都知道了。
05:01
这,这。这不是吗?我跟状态呀,写了呀。是要判断,我说了这不是判断,这不是三角形,不就相当于菱形吗?我跟他说画不下去,本来画菱形对吧,画不下去。直接判断是否相等。你直接把它拿出来,嗯,也可以啊,也可以对吧?啊,因为如果文档的话肯定不懂嘛,啊也行也行,你就相当于把这两个合并了,对吧,也可以啊好,那我们来写啊,这是核心的逻辑,你要梳理清楚,其实里边有的地方确实可以合并啊,确实可以合并,那我们先按照一步一步来嘛,对吧,能合并到时候再说啊行,那接下来呢,我们写一下啊这边。这个返回值呢,是不要了。啊,先不要让他报错呗,那if啊先呢,第一步我们说取出。
06:00
上一跳。页面信息对吧,那就是说从Y6当中点get。Object。接上对吧,然后呢,我们先获取配置。然后继续点get string获取谁呀,叫last ID叫这个啊lastd对吧,把它获取到。看右边得到一个last配置ID对吧?好,那接下来呢,我们就判断上一跳页面是否为那。啊,是否有上一跳是否存在对吧,那这个呢,我们就判断,如果说last非它等等于。No啊,它等于no,或者啊,Last page id.length小于等于零,一般来说我们做两个化的。
07:01
对吧,好,我们做两分的好,那这个else else呢,说明它。不等于呢,对吧,说明了它不等于呢。啊,或者说说那肯定就不等于当了,对吧,就是这个意思啊行那。这个地方我们直接什么返回false。没问题吧,啊,这个地方直接返回false啊,这个数据就不要了,这个数据不要了,因为它上一跳不等于那么好,当上一条文档的时候,我们刚才说了取出状态数据啊,把它状态数据取出来,那我们就是data state点。VALUE2加V得到一个DT啊,或者叫last。Data,对吧,他无论有没有都是上一次的对吧,但是可能是昨天的,可能是今天的,不知道不知道他也可能没呢,对吧,那有家说了,直接可以判断相等啊,直接判断相等,那当然可以啊,那取出。
08:09
今天的日期啊,今天的日期呢,得这得要simple data format点,我们要做个什么呢?做一个format。对吧,好,那从Y6当中获取我们的TS。啊,注意这个当中呢,有一个TS磁带对吧,它的最外层这个大家要知道啊,所以呢,我们来获取出来,那这个呢,就current date。啊。对吧,好看这个好,那我们判断啊,那有的说直接判断行不行,可以的啊,判断两个日期是否相等相同,对吧,那怎么判断呢?If这个。Current这个一定不为now对吧,我们今天的日期取出来的,它不可能没呢,但是它有可能没not,所以呢,我拿它去调用谁啊,调用ex方法啊,你不要拿着last给塔调用ex方法,如果说我把它写在前面,是不是第一条数据来的时候就控制帧了。
09:10
对吧,没问题吧,啊,所以呢,你要把当前日期放在这儿。啊,把last data放在后面啊,它有可能为闹啊,他第一次第一条数据来的时候呢,它是个now对吧?好,那如果相等的怎么办呢。如果相等了啊,或者说这样啊,我们不等。啊,如果不等。对吧。他俩不等。怎么办?相等了怎么办?相等了是不是说明今天已经来过了for对吧?好,那如果不等,两件事情是不是更新状态返回处啊,没问题。
10:00
更新状态啊,对了啊,那就是我们的这个data.update把这个当前的日期更新进去,同时返回这。返回处,好,那我为什么要这样写呢?其实大家看看到了。我做什么事啊,你看else else,这全都是什么false啊,也就是说只有他是什么呀为主,其他的都是false。这两个force能不能合并?能不能合并啊?就刚才有同学提到了,有的东西可以合并,对吧,我们先按这个逻辑写,其实你会发现这种逻辑判断的时候,有好多地方都可以合并。那这个合并怎么写啊,来看啊,我先把它干掉,把这个else干掉,对吧,把这里边干掉。来,我把这个保留吧,这样啊,我先给大家保留一下啊,我我保留一下,我告诉大家我干掉什么东西了。
11:09
给大家保留一点东西。是不是?对不对,我就不删了,就放在这儿对吧,因为刚才我们顺着这个大的逻辑写下来的,这个有没有问题,现在。这样有没有问题,没问题吧。呃,总有人问这样的问题啊,生长环境当中,我们防止它出现问题吗?对吧?那那你说一个字符转小于零,这个判断有必要吗?防止它是一个空字符串呢,对吧,那小于零有必要吗?我写等于零不就行了吗?但是你那我写小于零也不会有错呀,对吧?啊防止什么呢?防止last被ID,有的公司呢,它这个字段已经放这儿,但是呢,它其实不是的,它是一个空串。
12:10
他是个空袋,他没有上一跳,有的公司呢,这样玩对吧,所以呢,你做两个一定没问题。能听懂做两个,如果你不放这个字段没问题,它等于呢,对吧,你放了放了一个什么呢,空串,那也认为它是空的,所以做两个判断。OK吗?刚才是谁呀,我看一下啊。刚才是谁问的这个问题?啊,彭总是吧,彭总能理解吧,这个事儿往往来说我们都这样去判断啊。嗯,这个我们不考虑了啊。这个我们不考虑了,我我懂你的意思就是说哎,先来了一个8月24号的数据,凌晨的凌晨那时候啊,又来了个8月25号的数据。
13:04
对吧,好,由于乱序又来了一个8月24号的数据啊,那这种呢,就不考虑了啊,不考虑了,因为呃,这个毕竟是求什么。求日活日活对吧,毕竟是求日活啊,也就什么意思呢,对日活这种数据,你说我假如说一天啊百万日活或者千万日活,你会在意一两条数据的偏差吗?你想一下啊。就不说咱们了,你觉得公司当中你你觉得会在意这个偏差吗。你的日活千万啊或小一点百万对吧,就那么几条的偏差在在意啊啊。在意,那留给孙总解决这个问题好吧,啊,这个问题留给你解决了。啊,你想一想啊,想一想这个问题应该怎么去解决。对吧。
14:01
这个是过滤的核心字段啊,然后接下来呢,我们把这个写完,一个是UV,点点print,然后我们做一个打印对吧,然后uv.and think啊,然后这边呢,叫MY卡法U这个点看到卡法的一个producer啊,这个地方我们肯定用第一个重载的API当中第一个对吧,要一个这个主题啊,那就think topic就好了啊同理这边呢,我们要把它转成这个就是明写泛型的坏处,对吧,我们要把它转成呢这个string类型,所以用一个map啊,那就是杰森,你这边写一下,那就是这边呢是杰森点to杰森string。对吧,它也有简写的方式,那我们简写就行了,好,那这块呢,我们就写到了卡普卡当中,然后因为点。对,格局小了大聪明。在西红柿之前啊,其实我们的卧龙凤雏还是一个褒义词啊,从那之后,什么大聪明卧龙凤雏变成了贬义词了啊,好,那这是我们所写的这个代码啊,就搞定了啊。
我来说两句