首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

类和对象(第十二章)

属性其实就是变量,方法就是咱们学过函数,这样一还是有联系 如一个对象特征叫做属性并且一个对象行为叫做方法 看代码 小乌龟源代码 class Turtle: #python 中类名约定以大写字母开头...): print("正在飞快像前爬") def bite(self): print("咬死你咬死你") def eat(self):...() 正在努力地往前爬 >>> 笔记; 在源代码层次上,还不叫一个对象,而是称源代码为一个class类,大家可能会注意到定义一个函数后跟了个陌生参数(self)这个是什么呢?...>>> bb.kick() 叫天钧,奥 是谁?!...(不是,小甲鱼说得,也没听过在变量名或者函数名前添加__两个英文下划线,那么这个函数或者变量就是私有的了,不就是“半封印”嘛,魔法方法是全封印,秒懂,真是机智一比 源代码 class Potato

29210

Linux 实现群聊功能

今天主题是在 Linux 上实现一个群聊功能,支持群聊,指定人私聊,群主禁言,踢出群聊功能,实际上要实现这个功能,如果你阅读过前两天写一篇 Linux原始系统api实现两个终端实时聊天 ,那么,...,也就是 A 客户端发送消息先会到服务器,服务器在进行转发,群聊就是将 A 发送消息转发给到其他连接到这个服务器其他所有人,所谓发起一个私信,即这个发送消息是不能被转发给到所有其他人,那你就需要和服务器约定消息格式了...send(client->sockfd, buffer, strlen(buffer), 0); } else { // 接收者不存在,发送错误消息给发送者...能想到:客户端可以请求服务端返回目前在线用户列表,即一个简单关系链这是一个命令行应用,那么可否给用户提供一个界面的方式呢?提升用户体验?...虽然这是一个极其简单 demo,但是,如果深入思考,能做优化是在是太多了,优化本身就是一个不断追求过程。正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!

53150
您找到你想要的搜索结果了吗?
是的
没有找到

D项目轶事之Kick-off

通过这个参观,大致了解了该客户是生产什么产品,其采购原材料是什么,生产成成品需要经过哪些工序等等,对于其仓库结构也有了一个感性认识。...德国不愧是工业4.0发起国,不仅在其本土正在大力践行工业4.0,其海外工厂也如火如荼向工业4.0接轨。 下午三点许,kick-off meeting(启动大会)正式开始。...发现,来自客户德国总部几个人,通过视频会议参与此次启动大会。终于明白了,D项目的kick-off 为什么会定在下午了。要知道,之前参与所有项目,启动大会必定是当天上午一早,八九点时候。...在启动大会会议结束后,客户有给项目组全体成员(顾问+关键用户)分发很精致礼品,是一个很好咖啡杯子。这个杯子据说客户提前很久就开始准备,颇费心思。...最后就是参加kick-off大会全体成员大合影。 不合常理是,kick-off结束后,D项目客户方居然没有安排dinner, 让有点失望。

42620

“罚点球”小游戏

实现方法有很多种,这里提供只是一种参考。你可以按照自己喜欢方式去做,那样才是属于你游戏。 先说一下方向设定。想法比较简单,就是左、中、右三个方向,用字符串来表示。...这里原因是,要让 kick 函数里用到外部定义变量,需要使用全局变量概念。暂时避免说这个,而用 list 不存在这个问题。...到这里我们点球游戏已经快完成了,现在要做就是增加比赛提前结束机制,让它更真实。 思路是这样:比赛提前结束,就是落后一方得分,加上他在5轮中剩下轮数,仍然低于领先方现在得分。...return 可以让 kick 函数提前结束。电脑判断与这个类似,只是要换成 rest[1]。...这次程序比我们之前写过都要长,结构也更复杂,需要耐心去分析。 你可以按照自己理解,去一步步完善这个游戏。

32110

在 iOS 工程中 Cocoapods 使用

这个时候我们就需要用到 cocoapods 来管理我第三方了,在我们有了 CocoaPods 这个工具之后,只需要将用到第三方开源库放到一个名为 Podfile 文件中, 然后在命令行执行 $...,不加的话容易出现这个错误 意思是你没有权限去执行这个命令,等出现了 RubyGems system software updated 这句话时候就证明升级成功了。...### 第二步: 安装 cocoapods 时候我们要访问 cocoapods.org 这个网站,不用这个网站已经被墙了,所以我们可以用淘宝 ruby 镜像来访问该网站。...以后打卡工程就直接打开这个文件就好啦 其中 podfile 文件中显示了我们这个工程中所以集成第三方, 修改版本的话就把后面的版本号改成你所需要版本号就好,删除的话就把这行删掉,添加的话就用第五部搜索命令去搜索然后同样把搜索结果中以...# 值得注意 1 经常遇到错误比如下面这个 通常出现在 OS X 10.11 系统上 这是由于从这个系统开始苹果开始使用无根安装,这时你再用这个方法就会报这个错,这时只需 这个命令就可以成功升级啦

99740

在单体架构中应用Hystrix

是的,但是如果您项目连接到某些外部系统,可以试试Hystrix。...回退 当连接到外部系统时,我们通常不会考虑如果远程系统停机我们应该支持什么回退操作,我们倾向于乐观并假设,在99%情况下,这个系统将在没有任何错误情况下做出响应并且响应速度非常快。...当然,我们会鼓励(或者甚至强迫)我们考虑在出现错误时应该做些什么,因为Hystrix基本配置包括为指定业务操作定义了回退。 让我们假设我们正在设计一种管理我们书籍服务。...线程池分离 外部系统慢还导致一个问题 - 线程池会用光,当越来越多线程执行远程调用并且它们永远留在那里无法收回到线程池时会发生什么?当然我们所有的线程都挂在这个调用上,我们正在消耗越来越多线程。...断路器 提到Hystrix最后一件事是断路器模式。简而言之,Hystrix正在测量每次呼叫远程系统统计数据。

91310

Defects启示 | 洞见

代码及逻辑错误:单元测试、Code Review、Desk Check都是用来发现代码及逻辑错误有效手段。...---- Defects对质量管理启示 Defects并不是独立存在,它或多或少反映出了项目管理和开发过程中存在问题,这些问题都可能对质量产生影响。...发现产生问题原因有以下几个方面: 本次ReleaseStory Kick Off和Desk Check做不够好。...有时候开发没有Kick Off就直接按照自己理解开始编码,导致团队成员没有对需求达成一致理解,做出来功能出现偏差。...这些原因充分说明了这段时间项目中存在问题,我们对此逐条提出了具体改进措施: 坚决执行Story Kick Off和Desk Check敏捷实践,在每日站会时严格跟踪每一张Story卡进度。

66440

Golang 中微服务-第二部分-Docker和go-micro

我们在这里增加了两个步骤,详细解释一下。首先,我们正在构建我们二进制文件。你会注意到在运行命令 之前,设置了两个环境变量。...这个二进制在你 Docker 容器中将是完全没有意义,它会抛出一个错误。第二步是添加 Docker 构建过程。这将读取你 Dockerfile 文件,并通过一个名称 构建镜像。...另外,提下,一个 Reddit 用户 /r/jerky_lodash46 指出,曾经使用 IRepository 作为接口名称。...这个系列中,我会留下任何错误,并在以后文章中予以纠正,以便能够解释这些改进。我们可以更多地学习。 现在让我们来看看有趣部分。...我们还将添加第三个服务,并使用 来管理我们在本地不断增长容器生态系统。 如果你发现这个系列很有用,而且你使用了一个广告拦截器(谁可以责怪你)。请考虑一下时间和精力。干杯!

1.5K50

Pingping Lin:ONOS-面向运营商网络SDN操作系统

ON.Lab公司一开始主要由几个教授最初提出了SDN,后又成立了这个实验室。...南向是协议层,会支持很多种协议,最后一个原则是一个大系统,如果一个组件现在发现它不能满足需求了,这时候可以很轻松替换掉,当然了还体现在安装功能时候都可以热插拔方式进行安装激活,这是它思想...对不同网络状态有不同处理方式。我们看一下Southbound,这是刚刚讲到这个逻辑原理我已经详细阐述了。...我们说了运用最简单表象,这个switch按照哪个流表,这是一个极其复杂过程,我们有一个高级抽象,我们管它叫Intent,比如说建一个PATH,这时候会进行编译。...简单介绍一下它Deployment,美国、以及欧洲、南美,在韩国也正在进行中一个部署,还有连接了其他12所大学还有机构等等,这个是一个场景,在澳大利亚、美国,图中是一个全球布局,大家可以感受一下部署情况

75170

windows批处理脚本_批处理打开文件命令

第一部分:批处理专用命令 批处理文件是将一系列命令按一定顺序集合为一个可执行文本文件,其扩展名为BAT。这些命令统称批处理命令,下面就来给大家介绍一下批处理命令。...string1==string2 string1和string2都为字符数据,英文字符大小写将看做不同,这个条件中等于号必须是2个(绝对相等),条件等后即执行后面的 command EXIST...Program Files 在一个复杂批处理中又可能同时使用变量会超过10个这时候会和系统规则冲突那么这个问题怎么解决呢?...这个例子做了些修改(完整文件见光盘ipc.bat)由兴趣朋友可以自己看看。修改后程序可以灵活查找你指定开始到结束或你指定开始到最大ip范围。...这个批处理我就不写注释了,大家好好参考上面的内容你会很快看懂这个批处理。看懂了得不要说简单哦!最起码这是个没有使用任何第三方工具就能探测并保存弱口令批处理了!!简单改一改杀伤力还是很大

1.9K40

x86中断和中断虚拟化

网上有很多写中断虚拟化博客,讲qemu/kvm是怎么模拟中断,贴了大段大段代码,看起来很吃力,对于一个虚拟化新手来说太困难太困难,这儿写点简单,讲讲中断和中断虚拟化原理和来龙去脉,争取让大家好理解一点...由于CPU核心越来越多,APIC编号位数不够用了,出了升级版xAPIC和x2APIC,xAPIC用memory mapping方式访问,x2APIC用读写MSR寄存器方式访问。...模式kick出来,物理CPU一看IPI中携带号码是事先约定,就知道是给虚拟CPU中断,然后重新RESUME guest用event inject机制把中断投递给虚拟CPU。...CPU了,不需要把物理CPU kick一下exit出来再event inject。...第二,原来虚拟CPU运行在物理CPU1上,外设中断Y来了交给物理CPU1理,那么假如虚拟CPU漂移到物理CPU2上执行,那么就得修改IOMMU中东西,以后把中断Y交给物理CPU2理,如果虚拟CPU没有在运行

2.2K10

【转】Java中Runtime.exec一些事 

: 主要问题就是错误调用了exitValue来取得外部命令返回值。...因为exitValue方法是非阻塞,在调用这个方法时外部命令并没有返回所以引起异常。阻塞形式方法是waitFor,它会一直等待外部命令执行完毕,然后返回执行结果。...windows中解释器解释,直接执行dir时无法找到dir.exe这个命令,所以会出现文件未找到这个2错误。...6 不良好重定向命令输出 错误认为exec方法会接受所有你在命令行或者Shell中输入并接受字符串。...这些错误主要出现在命令作为参数情况下,程序员错误将所有命令行中可以输入参数命令加入到exec中。下面的例子中就是一个程序员重定向一个命令输出。

2.4K20

vim编辑模式,命令模式以及vim实践

” 例:把正在编辑文件第10行到第15行另存为1.txt并保存到root目录下在一般模式下输入“:10,15 w /root/1.txt” 7.把其它文件内容导入到正在编辑文件光标所在...最后按键盘上返回到一般模式,再输入“:r /root/1.txt”回车 8.正在编辑文件时,不退出文件仍可以运行linux命令 列:下在编辑一个文件,但这时候查看“/root/1.txt...” 文件内容,但是不想退出正在编辑文件,那么我们可以这样 在编辑模式下输入“:!...cat /root/1.txt” 9.把命令执行结果导入到正在编辑文件光标所在 这题我们可以结合上面两题,在一般模式下输入“:r !...”这样连续字符串,这时候只输入一个或者一串指定字符就可以替换为刚才字符,比如我指定输入“aming”系统就会自动把“aming”替换成“abcdefghijklmnopqrstuvwxyz”

1.5K30

利用 CDE 中格式字符串漏洞

——动物生命百科全书 已经破解 Solaris 很长一段时间了。第一个公开漏洞 这个平台是从 2003 年开始 [5]。...在这种特殊情况下, 许多重要变量会在返回途中被覆盖 地址和易受攻击程序将不会轻易生存,直到 调用者函数返回。出于这个原因,决定专注于利用 而是格式字符串错误。...在这里,我们解析命令 行参数(包括 X11 显示字符串)并设置环境 在运行易受攻击程序之前: /* 处理命令行 */ 如果(argc < 2){ fprintf(标准错误, "用法:...“1” sprintf(), 我们控制格式字符串地方,将“2” strlen() 替换为 strdup() 和“3” sprintf() 动态调用 shellcode 由 strdup()...添加这些 两个值一起给出了 strlen() 跳转代码绝对地址 正在运行进程3321: bash-3.2# python -c '打印十六进制(0xFE800000+0x0014369c)' 0xfe94369cL

1.5K20

【聚焦】别轻易给大数据扣上“嫌贫爱富“帽子,也没看到宝马

市场事还是多让市场自己说话,别轻易给大数据扣上“嫌贫爱富“帽子,只要别在人前炫耀,别把个人隐私四张扬,怎么生活都与别人无关。   ...被归类定位感觉可能不好受,但作为一种商业模式,它倒是体现出了自己准确高效独特价值。   很多人痛骂腾讯嫌贫爱富——你考虑过我们感受吗,你在意过我们奋斗吗?...其实,微信要向谁推什么样广告那是它事,只要合法合规,被推的人没意见,公众犯不着着这个急。但当这种定点投放对应着社会里三六九等时,这个事就变味了。大数据会不会变成一种身份标识?某种程度上说会。...市场事还是多让市场自己说话,别轻易给大数据扣上“嫌贫爱富“帽子,只要别在人前炫耀,别把个人隐私四张扬,怎么生活都与别人无关。   ...,对第一个立志于大数据解决公众生活问题公司而言,大数据是个好东西,但也别掉进去出不来了,在数据没有更详细情况下盲目地区分客户群,对自己未必是好事。

64870

常用vim命令总结

执行外部命令,!make,find等等。。。 Vimquickfix模式等等,可以方便定位到编译错误。。 先来张截图: ?.../text:从当前光标开始搜索字符串 text,并且到达 text 出现地方。必须使用回车来开始这个搜索命令。...如果重复上次搜索的话,按 n移动到下个 text ,N 移动到上一个 text 。 ?text:和上面类似,但是是反方向。...x+i或c+space 多行修改就不用说了,前面加上数字再组合命令就可以了 从上面看来,我们应该可以更深刻认识到,VIM中大部分命令是组合使用 利用好了这点才能更快摸索出自己使用习惯,从而高效修改...vim可以同时记住最新10个错误列表,也就是说你最近10次使用":make"命令编译所遇到错误都保存着,可以使用":colder"和":cnewer"命令,回到旧错误列表,或者到更新错误列表。

1.7K10

Git 自救指南

/ reflog 是一个非常实用命令,你可以使用这个命令去找回无意间删除代码,或者去掉一些刚刚添加却把仓库里代码弄坏内容。...同时也可以拯救一下失败 merge,或者仅仅是为了回退到之前版本。 02 / commit 完才想起来 还有一小地方要修改!...03 / 要改一下上一个 commit message! / 当你们组对 commit message 有格式要求时,或者当你忘了中英文间要加空格,这个命令能救你狗命。.../ 注意:这个指令必须在错误 commit 后直接执行,如果你已经试了其他方式,你可能就需要用 git reset HEAD@{number} 来代替 HEAD~ 了。...05 / 不小心 commit 到错误分支上了! / 也有很多人推荐了 cherry-pick 解决方案,所以选哪个就看你心情了。

33110

腾讯云轻量应用服务器Docker基础镜像部署AdGuard Home

这里我们使用是腾讯云轻量应用服务器,因为已经购买,而腾讯云最近推出了docker基础镜像,所以首次尝试一下。...image.png 从创建开始,本来是没什么问题了,问题在于腾讯云控制台这个坑爹容器管理工具 使用shell窗口运行docker run命令创建 如果你是使用shell窗口执行以下docker run...腾讯云控制台容器管理创建 这个功能是真的坑爹,要说还不如直接给个窗口粘贴docker run命令呢 首先,点击新建容器,填写成下面的样子 image.png 然后重点来了,点击高级设置,填写绑定端口号...image.png 这个问题是因为腾讯云这个容器管理绑定端口功能,默认绑定地址全都是127.0.0.1,这导致了应用有奇怪端口转发问题(docker监听端口了,但没有转发,猜测是因为adguard...还有就是腾讯云容器管理我不知道如何添加--restart unless-stopped参数,在启动命令那个窗口编写,容器会返回[error] unknown option --restart报错,正在跟腾讯云工程师对线中

3.4K30
领券