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

为什么我在公司里访问不了家里的电脑?

上篇文章「为什么我们家里的IP都是192.168开头的?」提到,因为IPv4地址有限,最大42亿个。...之后IP数据包经过公网里各个路由器的转发,发到了接收端30.30.30.30,到这里发送流程结束。...之后数据包经过公网里各个路由器的转发,发到了接收端30.30.30.30:3000,到这里发送流程结束。...那这么说只有用到端口的网络协议才能被NAT识别出来并转发? 但这怎么解释ping命令?ping基于ICMP协议,而ICMP协议报文里并不带端口信息。我依然可以正常的ping通公网机器并收到回包。...为什么我在公司里访问不了家里的电脑? 那是因为家里的电脑在局域网内,局域网和广域网之间有个NAT路由器。由于NAT路由器的存在,外网服务无法主动连通局域网内的电脑。

2.1K10

为什么我写的程序有bug(一):逻辑篇

我本来是希望 when 的,在写第一个when的时候头脑还是很清晰的。但是呢,当写第二个的时候就用四肢写代码了,习惯性的打了个return。...a>=10时,在成功或者失败的回调要处理不一样的逻辑。...但是同类的问题却很多,在逻辑相对比较复杂的情况下,容易挖坑。...accountService == null){ waitBind();//等待绑定成功、然后跨进程获取数据 } Info info = pushService.aidlGetInfo(); } 发现这个问题的现象是程序刚启动时随机出现几次...但是,我们在清除accountID时只清除了数据库,没有清除缓存,再次登录的时候用的缓存的值。这样就会导致程序陷入了死循环。所以在进行存储操作时,需要考虑好同步的问题。

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

    为什么我的数据库应用程序这么慢?

    一般来说,SQL Server应用程序的性能问题有两个主要原因: 网络问题 - 与将SQL应用程序客户端连接到数据库的“管道”的速度和容量有关 处理时间慢 - 在管道的末端,涉及要求处理的速度和效率。...当然这两者是相互联系的。 如果您的应用程序(或同一网络上的其他应用程序)生成的网络流量压倒可用带宽,则这可能会增加延迟。 延迟 延迟是在应用程序和SQL Server之间发送TCP数据包所需的时间。...应用问题:处理时间慢 每当客户端向SQL Server发送请求时,要检索所需的数据集,完成请求所需的总处理时间都包括: 应用程序处理时间:应用程序在发送下一个请求之前处理上一个响应中的数据需要多长时间...专注于一个小型可重复的工作流将让您隔离问题。 接下来的问题当然是为什么要花10秒钟?缩小问题的第一个也是最简单的方法是将应用程序尽可能靠近SQL Server,在同一台机器上或在同一个LAN上运行。...一个聊天应用程序是发送许多重复和不必要的查询,使得更多的网络往返行程比必要。 通常,这些应用程序最初是在高速LAN上开发并部署的,所以“chattiness”从来没有真正引起问题。

    2.3K30

    『设计模式』反射,反射程序员的快乐!为什么我老是加班?为什么我工资不如他多?原来是我不懂反射!

    看完不会,请评论,我亲自给你解释,嘻嘻! ? 什么是动态语言? 动态语言,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。...动态语言无时不刻在体现动态性,而静态语言也在通过其他方法来趋近于去弥补静态语言的缺陷。 为什么么要使用反射: 反射是框架设计的灵魂 框架: 半成品软件。可以在框架的基础上进行软件开发,简化编码。...同一个字节码文件(*.class)在一次程序运行中,只会被加载一次,不论通过哪一种方式获取的Class对象都是同一个。...总结 这时候又会有小朋友问: 为什么要这么麻烦,我直接调用不就好了?...家境贫寒,总得向这个世界低头,所以我一直在奋斗,想改变我的命运给亲人好的生活,希望同样被生活绑架的你可以通过自己的努力改变现状,深知成年人的世界里没有容易二字。

    1.1K20

    我在自己的桌面端应用中运行了小程序

    作为程序员必须要(xia)精(zhe)进(teng),就单纯有一天突然奇想,能否做到像微信一样在桌面应用也跑上自己的小程序呢?...图片细细想下,这样标准容器化的好处,可以保证在开发语言环境存在差异下,“套壳子的小程序”能独立运行的同时,也可以与“其他套壳子的小程序”联动使用。...SDK 前还需要在 FinClip 的后台上架小程序,我上架了官方的示例小程序代码包,也尝试了直接把微信小程序的代码包上传到 IDE 中的,发现也能兼容。...以下是我桌面端实际运行小程序的结果。图片如果做一定适配优化,小程序的展示尺寸还可以适配打开窗口大小,效果也不错。...图片个人认为一些企业做OA模块化开发还挺适合在桌面端用小程序的,毕竟小程序能够实现动态化的更新,不必硬要通过迭代更新实现。好了以上就是我瞎折腾的全过程,欢迎各位大佬拍砖。

    1.4K30

    我在开发微信小程序中用到的几个不错的库

    昨天文章中给大家提到过,在今天的文章中,给大家分享一下,我在开发过程中用到的不错的一些微信小程序的开源库。说道做到,今天就给大家分享。...图片裁剪工具 图片裁剪工具:we-cropper ,这个开源库真的是很好用,在我开发的微信小程序:活动云助手,其中的抽奖功能上上传图片,裁剪图片用到的就是它。它的功能有哪些呢?...开源库地址:https://github.com/we-plugin/we-cropper 作者:we-plugin 时间选择控件 我开发的微信小程序中,选择时间控件是在网上找的一个开源库,因为微信小程序自带的时间和日期组件是分开的...这个库是我在网上找到的,作者没有放到 GitHub 上,所以想要用的朋友,可以在公众号后台回复关键字“时间”,即可获取下载地址。 日历组件 在我开发的另外一款小程序:科创智慧中,用到了日历组件。...开源库地址如下: 地址:https://github.com/treadpit/wx_calendar 作者: treadpit 总结:今天分享的这三个开源库,相信在未来的小程序开发中绝对非常常见而且有用

    1.3K90

    996的程序员们,为什么我不建议你买保险?

    所以在医院,我们经常能看到,很多病人明明有医治的方案,却因为没有钱,只能眼睁睁地看着他离去。 在中国,70%的人有过劳死风险,每分钟都有人确诊癌症,胃癌、乳腺癌等恶疾也逐渐年轻化。...996的程序员们工作强度高、压力大,一旦患病,对家庭生活质量会产生极大的威胁。 可以说,一人患上重疾,就等于一家人被判了死刑。 如何避免呢?很多人想到买保险,但我劝你不要着急买!...为此,我邀请了我的好朋友资深保险规划师杨震,请他从客观中立的角度给大家开一次讲座,全面解读保险里的陷阱,避免大家日后被坑。讲座开始前,先上一波干货,给大家分析一下日常买保险常见的各种不正确姿势。...在服务超过1000个家庭之后我们发现:已经买过保险的人,买错或者买贵的占比超过90%。人们总觉得一张保单就可以对抗后续所有的疾病、意外、医疗保障,甚至还能解决养老问题。 事实上,真的是这样吗?...其实多花很多冤枉钱 有的朋友在代理人的说服下很容易就买了一份“返还险”,认为到期了不生病还可以返还保费,像是捡了一个大便宜。 但其实,这类保险是两全型保险,在寿险的基础上附加一款重疾险。

    2.8K20

    运维告诉我CPU飙升300%,为什么我的程序上线就奔溃了 | Java Debug 笔记

    然后客户注册时候将这些接口和客户端绑定在一起当我们监听程序坚挺到数据变动就会对绑定到相关接口的客户端发送最新数据业务定位业务上很好定位,问题就是出现在我们的监听程序中。...在这种的并发场景下应该是不会出问题的。现在出了问题肯定我们的程序逻辑有缺陷上面是我们的发送消息的代码。代码也很简单。先获取所有符合发送条件的客户端 。...我们1W个用户同事在线的可能有5000+ 。 那么我们需要5000次以上的反射着肯定是吃不消的。这也是为什么本文开头说功能正常不代表业务正常。解决方案====这就是量变引起质变。...在多客户的情况下我们的设计弊端就暴露出来。这里也是笔者自己给自己挖坑。既然找到问题我们就好解决了。下面我们对代码做了一下改动我将数据缓存起来。因为在同一批次推送时本来也应该保证数据一致性。...而且我们系统对数据实时性也是可以接受一定时间延迟的。我在这里又加上缓存这样就解决了我们循环的问题经过测试本次改动在CPU上大概优化了100倍。

    23110

    程序员自诉:我是如何工作3年在深圳买房的?

    在深圳这个寸土寸金的地方,每个人都对自己的未来充满了期待,我也一样。虽然我的家庭条件并不差,但是我希望凭借自己的努力可以更自由。...刚开始的时候,跟着公司一位PHP技术负责人一起做,用thinkPHP写商城的后台程序,写购物车,完善会员促销功能等等。...是的,作为新人,我开始有意识地要在公司好好表现,好让自己在公司有一席之地。从此之后,公司加班到最晚的永远都算上我一个,并且遇到力所能及的事情,我一定会第一个冲上去接下来。...是的,作为目标清晰的我,我必须要找到更好的方法快速提升自己各方面的能力,在创业公司学习和成长,作为一名毕业生来说,一年的时间足够了。...本来应届毕业生最好的去处应该是大企业平台,但是已经在创业公司路上的我,只有努力让自己的下一份工作进入一线互联网企业。

    2K110

    为什么我的Spring Boot自定义配置项在IDE里面不会自动提示?

    一、背景 官方提供的spring boot starter的配置项,我们用IDE配置的时候一般都有自动提示的,如下图所示 而我们自己自定义的配置却没有,对开发非常不友好容易打错配置,那这个是怎样实现的呢...二、提示原理 IDE是通过读取配置信息的元数据而实现自动提示的,而元数据在目录META-INF中的spring-configuration-metadata.json 或者 additional-spring-configuration-metadata.json...三、实现自动提示 以我这个自己开发的starter中的自定义配置文件为例,如果自己手动创建这些元数据的话工作量比较大,使用IDEA的话有自动生成功能 3.1....引入依赖spring-boot-configuration-processor 在zlt-swagger2-spring-boot-starter工程中添加以下jar包 ...重新编译项目 项目在重新编译后就会自动生成spring-configuration-metadata.json文件 四、测试 自定义的swagger配置已经能自动提示了 参考资料 https:/

    2.7K20

    为什么程序员总是发现不了自己的Bug? 程序员: 我不认识他啊

    因此,如何处理修复 Bug 的过程也值得我们细细琢磨。 我想分享一些程序员修复他们的源代码时所经历的想法。我相信很多开发人员和软件工程师经历过这些艰辛,然后在事后一笑而过。以下你经历过哪些? 1....这种汹涌澎拜的斗争是我经常要面对的,而且显然会困扰许多软件开发人员。 2.“为什么这个脚本需要这么多库?”...但是这一切都取决于你的需要,如果你觉得在程序中间休息更令人懊恼的话,那就不要中断。 10.“我应该把这个项目束之高阁,以后再来处理它。” 休息的另一个选择是离开你的项目,而不仅仅是远离你的电脑。...“哦,天哪,我以前为什么不写点注释呢?” 当涉及到比较基础的前端 HTML / CSS / JS 时,我们没有必要写注释。...当我一筹莫展时,我往往会选择从头开始,因为这样才有可能找到完成项目的正确道路。 为什么程序员发现不了自己的 Bug? ?

    1.1K10

    用wxPython打造Python图形界面(上)

    有许多图形用户界面(GUI)工具包可以与Python编程语言一起使用。其中三巨头是Tkinter、wxPython和PyQt。...在本文中,你将学习如何使用wxPython GUI工具包用Python构建图形用户界面。 wxPython入门: GUI的定义 创建框架应用程序 创建工作应用程序 冲鸭!!!...PyQt和Tkinter都自己绘制小部件,这就是为什么它们并不总是去匹配本机小部件,尽管PyQt已经非常接近了。 这并不是说wxPython不支持自定义小部件。...当你阻止一个事件循环时,GUI将变得无响应并对用户显示为冻结状态。 在GUI中启动的任何进程,如果耗时超过四分之一秒,都应该作为单独的线程或进程启动。这将防止GUI冻结,并为用户提供更好的用户体验。...为了防止小部件重叠,需要将按钮位置的y坐标设置为55。 好的,今天这一篇先更新到这里,我把这个过程分成三篇文章在接下来的两天里陆续更新,明天见~ ? End

    4.9K40

    这些拍案惊奇的智障桥段,分明是在蔑视我作为程序员的debug

    “键盘生风云,文学正青春”,网络文学在短短二十几年的时间发展迅猛,已经从小众走向主流,越来越多的小白加入了“0门槛”的网文作者的行列。...这是个快餐文化的年代,每天要过滤大量信息的我们,不会对网络小说的逻辑太过苛求,但,你们这些拍案惊奇的智障桥段,分明是在蔑视我们作为程序员的debug能力。...今天小标就给大家盘点一波,那些宛若智障的小说BUG ? ? 确定是叫shift,不是叫回车? ? 刘海:我是谁?我在哪? 还有一种奇特的写作手法 ?...也不知道是搞特色还是凑字数 我是实实在在的佩服 ? ? ?...小编都会分享程序员的那些事,还有干货哦! ?

    56320

    为什么我建议在复杂但是性能关键的表上所有查询都加上 force index

    对于 MySQL 慢 SQL 的分析 在之前的文章,我提到过 SQL 调优一般通过下面三个工具: EXPLAIN:这个是比较浅显的分析,并不会真正执行 SQL,分析出来的可能不够准确详细。...但是不能直观的看出来为啥会走错索引,需要通过 OPTIMIZER TRACE 进行进一步定位。但是在进一步定位之前,我想先说一下 MySQL 的 InnoDB 查询优化器数据配置。...这也引出了一个新的可能大家也会遇到的问题,我在原有索引的基础上,加了一个复合索引(举个例子就是原来只有 idx_user_id,后来加了 idx_user_status_pay),那么原来的只按照 user_id...所以在表的数据量很大的时候,这个统计数据很难非常准确。...所以最好一开始就能估计出大表的量级,但是这个很难。 结论和建议 综上所述,我建议线上对于数据量比较大的表,最好能提前通过分库分表控制每个表的数据量,但是业务增长与产品需求都是不断在迭代并且变复杂的。

    1.4K20

    谈 DevOps 平台实施:我在本地跑明明成功的,为什么在你平台跑就报错?

    我在本地跑明明成功的,为什么在你平台跑就报错? 用户在 Jenkins 上跑构建时,失败了,把日志截图给我看,如下图: ?...这样的日志,我通常回:请检查你们的依赖,是不是有依赖没有上传到咱们的 Nexus 仓库。验证方法是先在本地删除你的 .m2 目录,然后再执行一次构建。...当用户业务开发比较急的时候,他们还会说本文标题中的那句话。有些抱怨的意思。我都已经习惯了。 出现这样的情况,我总结大概会有以下原因: 用户对于 Maven 这类构建工具不熟悉。...我觉得 DevOps 平台是不是可以直截了当地告诉用户: xxx 依赖在 Nexus 仓库(maven.abc.com)中没有找到,请您先 deploy 该依赖到 Nexus 仓库后,再执行此任务。...同时,我们将这些数据(依赖管理失误)统计起来,就可以看出一个团队在依赖管理方面的能力表现了,进而可以有效的对团队进行培训,以提高相应的能力。

    71010

    Python 图形化界面基础篇:什么是 Tkinter 以及为什么选择它

    然而,在许多应用程序中,图形用户界面( GUI )是与用户进行交互的主要方式。因此,学习如何创建 GUI 应用程序对于 Python 开发人员来说至关重要。...在本文中,我们将深入探讨 Tkinter ,了解它是什么以及为什么选择它作为学习 GUI 编程的中心。 第一部分:什么是 Tkinter?...只需在 Python 安装中导入 Tkinter 模块,你就可以开始创建 GUI 应用程序。这让它成为初学者的理想选择,因为他们可以立即开始学习 GUI 编程,而不必担心安装其他库。 3....在接下来的课程中,我们将深入探讨 Tkinter 的不同方面,包括如何创建各种 GUI 元素、管理布局、处理事件以及将 GUI 应用程序部署到不同的平台。...在接下来的课程中,我们将深入学习 Tkinter ,并创建实际的 GUI 应用程序,以帮助你更好地理解和应用这一知识。

    1.2K20

    Tkinter:为什么多个Frame相互覆盖?

    在 Tkinter 中,Frame 是一个容器部件,用于组织和管理布局。如果多个 Frame 出现在同一个父容器中并且看起来相互覆盖,通常与布局管理器的使用方式或控件的创建顺序有关。...以下是几个常见的原因和解决方案,帮助你了解为什么多个 Frame 会相互覆盖:问题背景我在使用 Tkinter 构建 Python GUI 时遇到一个问题。...我的想法是在根 Frame 中构建多个 Frame。我可以让 2 个 Frame 显示出来,但第 3 个 Frame 会覆盖第 2 个 Frame。...该 GUI 需要能够随着应用程序发现它控制的 Cat2 控件的数量而动态地重新构建。我还遇到另一个小问题。...自从我引入了 Cat2Frame 类并将 tkFont 变量移至全局作用域后,我的 12 号字体仍然只有 9 号。下面是我经过清理的代码片段。(尚未涉及底部 Frame。)

    10610

    分享我用Qt开发的应用程序【二】在Qt应用程序中使用字体图标fontawesome

    为了使用简单,需要先写一个单件类,头文件的代码如下: 其中静态方法Instance保证IconHelper的实例全局唯一 (注意构造函数已经私有化了) #ifndefICONHELPER_H #defineICONHELPER_H...应用程序所在目录下创建res目录,并放置字体文件/res/fontawesome-webfont.ttf 然后加载到全局字体中 #include"IconHelper.h" IconHelper*IconHelper...SetIcon(ui->RightBtn,QChar(0xf178),12); 详见:http://fontawesome.io/cheatsheet/ ----------------------- 我又开发了一个桌面日历的小程序分享给大家...1、黑色背景是我的桌面颜色,大家可以忽略 2、虽然右键菜单里写了“开机自启动”,但我并没有开发这个功能,请见谅 3、我会在下一篇文章里公布这个小程序的源码,敬请期待 4、这个小程序会始终在你的桌面上,...你点显示桌面,它还是在你的桌面上 ?

    1.8K70
    领券