粉丝3.3万获赞71.2万

学习拍算的过程中,大家应该都见到过这样的函数名吧,他们到底是什么?今天带大家解锁拍算中的魔法方法。魔法方法是一组以双下划线开头和结尾的特殊方法,专门用来实现类的核心行为,无需手动调用,由拍算解释器自动触发执行。例如,我们常用的加号,对整数式做加法运算,对字母串式做拼接操作,结果截然不同。 这是因为整数和字母串内部对 id 魔法方法的定义不同。当你使用加号时,解释器会自动调用对应对象的 id 方法。明白这一点后,我们就能通过重写魔法方法来自定义类的行为。举个例子, str 魔法方法。当我们使用 str 函数强制转换对象类型或使用 print 函数打印对象时,拍算解释器都会自动调用它。 在自定义类中重写 s、 t、 r, 就 能让打印结果不再是会缩的内存地址,而是我们想要的自定义内容。掌握魔法方法的核心逻辑,就能灵活定制类的行为。在实际开发中,我们不需要记住所有的魔法方法,按需求选择即可。

网络工程师必须会的实验,共计三十个常见网络实验案例汇总,今天给大家讲一个为 land 的 技术, 对于为 land 呢,我们是把一个大的广播域分割成多个小的广播域,也就是说在一个网洞中,我们想划分不同的子网,那么我们可以使用为 land 基础,那么只有相同的为 land 可以 通信,不同的为 land 是 不能够通信的。 那么围栏这个点是交换机是最重要的一个技术啊,那基本说大家无论是学习还是在工作中,基本上来说,你都会多多少少都会碰到围栏技术,因为它属于一个二层分层的技术, 用它的用途非常的广泛啊,基本上来说,在企业中的网络中啊,都会用到围栏这个技术。我们今天给大家讲一下相关围栏的一个配置啊,华为备考资料我整理好了, 保存了,就可以开始学习了,祝大家一次上岸。好,这里是一台交换机啊,这里有两个 pc, 那 比如说我们这里的 pc 一 的地址是十点一点一点一点一, 二十四, pc 二的地址呢是十点一点一点二,杠二十四。我们可以再拉一个 pc, 好 吧,因为我们一个这个类型啊,对于华为里面呢,对于无量的配置有三个这个类型啊, 然后我们把 pc 三也连一下,把它启动一下。好,那 p 三的地址呢?是十点一点三杠二十四,十点一点三杠二十四。好,首先我们来看一下啊, w 一, 好,我们把信息中心关一下啊, 第一步呢,第一步我们先创建围栏啊,假设我们怎么规划呢?这个接口是围栏十,这个接口是围栏二,这接口呢也是围栏十,现在啊,在我没有画围栏,大家默问都属于围栏一,所以说我们在一个广播,并且我们又是同网的,所以我们 p c 一, p c 二, p c 三都是能够相互通信 的,我们把 p c 一 地址给一下啊,只一点一点一二五,五点二五五点二五五。好,我们应用一下,我们 p c 二地址给一下, 十点一点一点二二五,五点二五五点二五五。用一下,我们 pc 三,十点一点一点三二五,五点二五五点二五五。但呢,你看我们,因为我们现在是处于同一个围栏吗?因为我们在没配的时候末都属于围栏一,并且我们是同网的地址,所以说我们这三个 pc 都是能够相互访问的啊,十点一点一点二能通的,看到没有? 十一点一点三也是能通的,我们都是能相互通信的啊。好,现在五号围栏在一个二层里,我们通往的,我们进行一个二层分层,比如说我们这两个部门是 a 部门,这两个部门是 b, 那 么我们希望 a 部门的人能够通信, b 部门的人是不能够通信的,这里我们可以使用的围栏技术对不对? 那就说只有相同的维量能够通信,不同的维量是不能够通信的。那现在呢?我们 pc 一 和 pc 三是不是在维量十里面?那么我们 pc 二是不是在维量二十里面?那只有相同的维量能够通信嘛?那么等会我们配好维量之后呢?那是不是 pc 一 和 pc 三能够通信,同时的 pc 一 和 pc 三是不是不能够拼通 pc 二啊?那我们来看一下啊。 首先进入机零杠零杠一端口,我们进入端口啊,首先给他一个接口类型,我们这个接口类型呢,有三种接口类型,一个是 excise, 一个是 harry 的, 一个是 chunk。 那 我们首先用第一种 size 端口类型呢?是一般来说是做接入的啊,是连接终端的,会用的,而 chunk 呢,是交换机跟交换机互联, 那我使用 chunk 列路啊。首先我们这里给一个 excel, 把它的这个接口划到维量十里面去,相当于对于我们 excel 这个接口类型来说,你进了我这个接口,如果说你没有输一针,你会打上个对应的标签啊。那么如果说你常从我这个接口发出去,那你必须跟我的 p v i d 是 一样的,也说跟我维量是相同,我才能给你发出去。 所以说我们这里给设了一个十 o 的 default 围栏十,那么,呃,我们还没有创建围栏,尤其是二十。我们需要注意的是啊,我们用到哪些围栏,你需要去创建对应的围栏啊?我们把围栏创一下,进入机零杠零杠一端口,我们刚刚这里给一个这个类型嘛,我们再给个围栏 o 的 围栏幺零 case, 对 不对?那么这样子就说零杠零杠一端口的接口类型是个 size, 且把它划到对应的围栏是围栏十,那么也就是说 p c 一 进了我这个接口会打上十标签,那么也就是说二号和三号端口必须跟必须跟我的标签是一样的,我才会玻璃发送出去。同理, 我们进入 g 零杠零二号端口,把二号端口的类型也改成并且破回来,是吧?也就是说零杠零和二号端口被我划入了为二十,那么也就是说当我 p c r 进来打,那么当我没有标签的时候,我进来就会打成个二十标签, 那么此时是不是 p c e 和 p c r 不 能同向,因为他们属于不同的。为赖嘛?你进来打十标签,这边进来打二十标签,那么我这个标签又对不上, 我们不是一家人。所以说此时你在我房间,我去拼十点一点二,通不了了。看到没有?因为不同的围栏已经隔离了,已经把它们隔离了。紧接着我们把零杠、零杠三号端口也做一遍,端口的类型是 excel 后 for 里。 那你说三号端口是不是把它划到围栏十里面去了?把它划到围栏十里面去了吧?那现在 pc 一 和 pc 三是不相同围栏,你进来打上十标签,从我三号端口把你的 p y d, 你 的 p y d 跟我一样,所以说我会把围栏标签,我会把十给它剥离, 把围栏石给它剥离,再发生出去。那这个时候你看我们 p p p 三的水是能通,对不对?为什么呢?因为我们是相同的围栏,我 pc 一 属于围栏石,你 pc 三也属于围栏石,我们是相同的围栏,是吧?但是我们 pc 二、 pc 二是不是属于围栏二石啊? 所以说你去拼十点一点一是不能通的。为什么?因为你我们是围栏二十,而 pc 属于围栏十。那么紧接着我们去拼 pc 三十点一点三也是不能通的,因为我是围栏二十,你是围栏十,有相同的围栏的功能性,不同的围栏是不同的。那么也就是说,我们在一个大的广博域中是不是分割成多个小的广博域吗? 同一个围栏就是个网幕语嘛,对不对?我们当然还可以自己规划,比如说有围栏十、围栏二十、围栏三十、围栏四十、围栏五十等等,都是可以的啊,进行一个二层分层的一个作用。那么这就是我们的围栏的配置啊。那第一个这个类型是 excite 的 这个类型。

呃,面试题啊, promis 如何处理多个异步操作的并行执行? 呃, promis 呢,提供两个用于处理多个异步操作并行执行的方法, promis 点 off 和 promis 点 risk。 嗯,两个方法。呃,这道题呢,也可以拓展啊,拓展其他的面试题。呃,也有碰到过啊, 就说一下这个 promis 点 r 和 promis 点 riss 的 异同。来,我们先也是,还是啊,看视力, 我这里呢,这里啊,是为了看它是并线执行的啊,所以这里写了个定时器,这是一个定时器,我给标注一下啊,定时器下面呢,是三个。呃, promis 啊, 然后我们先来看了这个,嗯, promis 点二这个方法啊,它接收了一个数组,这个数组里边是,呃,三个,这三个 promis 啊, 呃,我们这里啊,是当这个定时器,当我们三 promiss 都结束以后啊,这个定时器了就取消。首先是这一点,然后是成功以后啊,拿到成功以后打印成功,如果错误的话就是打印这个错误。 好,我们这三个 promiss 呢,分别是,嗯,第一个啊,就是直接那直接回调成功啊。 第二个是一秒钟以后回到成功并返回一个二,结果啊。第三个是两秒钟以后返回成功并返回一个三的结果。行,我们来看一下啊,看一下他这个,呃,最终的一个效果啊,我刷新一下, 一二是这个计时器打印出来的啊,一二,然后我们拿到的结果是一个数组,一二三, 好,我们就可以得到这个结论啊, promis 点二,接收一个 promis 宿主作为参数,并返回一个新的 promis 啊。特点,当宿主中所有的 promis 都成功,使新的 promis 才才会成功并返回所有结果。结果是个宿主啊, 当数组中有一个 promiss 返回失败,新的 promiss 马上返回失败啊,当执行并执行啊,开始回调,我们来看一下,我们来测试一个。呃,失败啊,我们直接给第一个打个失败 刷新,然后这里直接就是失败了,然后其他的也不会不再去。呃,做啊,或者说,我们再来给中间这个测测试一下啊。 我们看一秒钟之后,这里回掉了二啊。失败,第二步是失败,然后第三步也就,呃中断了。好,我们再来看看这个 promise 啊,这方法 同样啊,我们先都让它回调成功,我们来刷新刷新一下,这里直接回掉了一啊。嗯,这个一不是计时器的啊,我们给这做一个标注。 呃,结果 刷新啊,这是结果回掉结果打印出来的。呃,同样是三个啊,但是这个是最快的,这个最快执行完了,直接又回掉一,我他然后拿到成功以后,他就不往后回掉了啊。 嗯,我们再来测试一个,他的失败来也是同样啊,给这个一失败 刷新直接照就报一了啊。失败了,那如果他是成功,他是失败呢?我们再来看一下啊, 成功,他是执行的,结果成功了一啊。好,由此我们得出了结论啊, prometheus 啊,这个方法也是啊,接受一个 prometheus 数值作为参数,并返回一个新的 prometheus, 这是两个人的共同点啊。 呃,他的特点呢,是当任意一个 promiss 成功或失败时,立即返回结果,这时方法可以帮助。呃,这些方法可以帮助在病情执行的异步操作中 控制流程和获取最最终的结果啊。他只要不管是成功还是失败,第一个只要是到达了成功或者失败,或者是我们说是我们的 promiss 三个状态吗?啊,已经到了一个呃 呃 reject 啊那个状态的时候他立马就返回来了,不再执行以后的这个操作了啊。 嗯,当我们这个啊,第一个他是最快的,他执行回掉以后后边两个就直接就放弃了,就不会再执行了。 好,这就是关于这个 promiss 的 这个并行啊。嗯,并行操作好就到这里啊,下课。

这个视频我们来讲讲电脑小白必备电脑知识,如何把 c 盘里面的软件迁移到其他盘。以下为本期视频的知识点,建议先看完一遍再跟练操作。需要用到的工具叫 freemove, 开源免费体积, emb 都没到,非常清亮。下载地址已放在老地方, 也可以直接去 github 搜索获取。软件下载到电脑后,右击点击,以管理员身份运行,进入软件会发现页面十分简洁,只需填入原软件位置和目标位置两个参数。那么接下来我们就要找到有哪些软件是装到 c 盘的。点击开始菜单,搜索安装的应用,点击第一个进入, 点击筛选条件,选择 c 盘旁边的排序,可以按大小从大到小排列,这样一眼就可以看到哪些软件安装在 c 盘。老妈,虽然系统是这么显示,但这里的安装位置并不完全准确,我这里直接贴图,有兴趣的可以暂停延伸补充学习一下。但是呢,还是可以作为一个简单的参考。 如果想确认某个软件的真实位置,我们以网易云为例,右键点属性,再点打开文件所在位置,就能看到软件的具体的位置了。如果桌面没有对应的快捷键图标,在开始菜单中搜索软件名字,点击打开文件位置,再 右击点击属性进入。如果想更方便看到所有软件的安装路径,可以使用一些专业卸载工具进行预览。关于卸载工具的使用,可以去看我这期视频。 ok, 收回软件迁移,找到了软件的原安装位置后, 点击顶部地址栏中的路径, ctrl 加 c, 复制粘贴到 freemove 的 原位置输入框,然后下方就是选择我们需要把软件迁移到的位置,这个选项勾选上,待会再向大家解释是干啥的,然后我们点击 move, 一 会就迁移完成了。 但是怎么 c 盘这个文件夹还在呢?不要慌,这是正常的,并不是没有迁移成功。当前的这个 c 盘文件夹,它已经变成了一个 junction, 你 可以简单理解为它现在就只是一个职称。 现在 c 盘上看到内容,它实际上是存储在 d 盘,当前 c 盘的文件夹并不会占空间的。我们右击被迁移的文件,可以看到目标地址已经指向了我们刚刚迁移的 d 盘, 你还会发现这个文件夹变成了半透明。这是因为我们刚刚勾选的这个,所以它被设为了隐藏文件。如果你完全看不到的话,说明你文件夹这里没有选择开启隐藏文件,可以去顶部勾选一下就看到了啊。 不过对新手来讲,我还是建议隐藏,因为这个隐藏文件平时是不需要动到它的,这也是直接对软件文件夹使用剪切的区别。如果你是直接使用剪切进行迁移的话,软件大概是打不开的,因为相关注册表认的还是原本 c 盘的位置。 然后接下来讲一个十分重要的点,不能用这个方法去迁移一些大型软件,例如像 adobe 的 软件 c 四 d, solidworks 等,因为这些专业软件在安装时,它的路径会十分的复杂。对于专业软件想要迁移 只能卸载重装,以及要使用专业的卸载工具进行卸载,彻底清理掉相关注册表和残留,否则软件重新安装的时候,极大概率可能会出现安装失败的问题,这也是很多电脑小白容易踩的坑。那游戏怎么迁移呢?如果你是 steam 用户, 点击顶部这里进入设置,点击存储空间,勾上需要移动的游戏,下方就会出现移动的选项啦。微 game 同理,点击菜单系统设置,点击最下面的存储与迁移,选中需要迁移的游戏即可。