首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏关于XXX我们需要知道的

    关于IP协议我们需要知道

    在探索这个充满魔力网络世界时,IP只是我们遇到第一个关口。它背后隐藏深层次原理和复杂技术,还需要我们去不断学习和理解。但无论如何,我们不能否认IP在构建这个互联世界中关键作用。 下面是关于IPv6需要知道一些重要知识点。首先,IPv6使用了128位地址空间,而不是IPv432位地址空间。这使得IPv6能够提供极大地址数量,几乎无限地满足了互联网需求。 关于公网ip我们需要知道是:公网IP是唯一标识互联网上设备地址,全球范围内唯一。公网IP由互联网服务提供商分配,用户无法自行选择。公网IP可以用于访问互联网、搭建服务器等网络应用。 关于内网IP与外网IP关系。外网IP是全球唯一IP地址,用于在Internet上唯一标识一台计算机。 程序员在编程时需要考虑到这些因素。例如,如果你应用程序需要连接到远程数据库,那么你可能需要知道数据库服务器静态IP地址。

    1.2K20编辑于 2023-10-25
  • 来自专栏前端真相

    关于HTTP,我们需要知道事儿

    补充说明: Expires要求客户端和服务端时钟严格同步。HTTP1.1引入Cache-Control来克服Expires头限制。 参考链接:https://github.com/kaola-fed/blog/issues/105 6.状态码 (1)重定向 301表示旧地址A资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容同时也将旧网址换为重定向之后网址 302表示旧地址A资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新内容而保存旧网址。 SEO 302好于301。 (2)网关 网关错误:502 扮演网关或者代理角色服务器没有接收到来自上游服务器正确响应。 网关超时:504 扮演网关或者代理角色服务器没有及时响应。 请求服务无法响应代理服务器请求。 7.跨域 (1)CORS

    92020发布于 2019-02-21
  • 来自专栏关于XXX我们需要知道的

    关于TCP协议我们需要知道

    图片【摘要】 TCP协议是OSI模型中传输层协议,用于建立和维护两个程序间数据交换连接,以及通过Internet发送信息。TCP协议主要特点包括面向连接、可靠性、流控制和拥塞控制。 关于这个协议定义设计到知识如下:TCP协议基本概念和位置:TCP协议是位于OSI模型中传输层,用于规定如何建立和维护两个程序间可以交换数据连接,以及如何通过Internet发送信息。 TCP协议主要特点:包括面向连接、可靠性、流控制和拥塞控制。TCP协议面向连接特性:在数据传输之前需要先建立连接,并在数据传输完成后拆除该连接。 TCP协议流控制特性:利用滑动窗口机制来控制数据发送方发送速度,防止接收方因为无法处理过快数据而导致数据丢失。 TCP协议拥塞控制特性:通过一系列算法来控制数据发送方发送速度,以避免网络拥塞问题发生。TCP三次握手和四次挥手TCP协议三次握手和四次挥手是建立和断开TCP连接必要过程。

    63220编辑于 2023-10-25
  • 来自专栏前端真相

    关于valueOf() 和 toString(),我们需要知道事儿

    valueOf() 解释:返回指定对象原始值。 当对象需要原始值时候,JavaScript会自动调用它。 不同类型对象valueOf()方法返回值 Array 返回数组对象本身。 Date 存储时间是从 1970 年 1 月 1 日午夜开始计毫秒数 UTC。 Function 函数本身。 Number 数字值。 Object 对象本身。

    71270发布于 2018-05-22
  • 来自专栏关于XXX我们需要知道的

    关于数据库分片我们需要知道

    在探讨数据库分片之前,我们需要了解为什么我们需要对数据存储进行分片,以及在我们决定进行分片之前有哪些可行选择。 图片 当数据表达到一定规模时,人们常常寄希望于分片技术,认为它能解决所有的扩展问题。 这与微服务架构中情况非常相似,其中应用程序特定方面拥有其独立数据库服务器。应用程序知道在哪里查找每个数据库。 如果应用程序需要管理大量数据、进行大量读取和写入操作,或者需要保证始终可用,分片可能是最佳解决方案。接下来我们将详细探讨分片利弊。 我们如何将数据分配到各个分片上?如果数据没有均匀分配,是否存在潜在热点? 我们运行哪些查询,表之间如何交互? 数据将如何增长?稍后需要如何重新分配数据? 一般来说,事务开放时间越长,可能发生争用和潜在故障就越多。因此,对于跨多个分片执行事务,我们需要特别注意和考虑其可能带来复杂性。

    1.1K60编辑于 2023-10-25
  • 来自专栏全栈程序员必看

    关于 IPv6需要知道 10 件事

    :0000:0000:0000:0000:211E:729C 除了可以按第3条介绍方法缩写外,还可以直接省略掉连续0,用两个英文冒号代替,操作系统看到这样IPv6地址后,自然会知道它们之间字符全是 因此上面的地址可以简写为 FE80:CD00::211E:729C 5、IPv6环回地址 在IPv4中,我们知道环回地址是指向本机一个特殊地址,即我们熟悉127.0.0.1,IPv6也不例外,同样设计了环回地址 6、不需要传统子网掩码 在IPv4中,每个IP地址必须要搭配一个子网掩码才能使用,IPv6也使用了子网概念,但子网ID是直接嵌入到地址中。 如果需要的话,预留给设备ID位可以借用来表示额外子网 掩码,但通常是不需要,因为16位子网和64位设备ID可以提供多达65536个子网。 7、IPv6仍然需要DNS 在IPv4中,主机记录(即A记录)将IP地址映射到主机名,IPv6仍然要使用DNS技术,但IPv6不再使用主机记录,相反,IPv6使用AAAA资源记录,ip6.arpa用于反向主机名解析

    1.3K40发布于 2021-08-09
  • 来自专栏运维记录点滴

    关于IPv6需要知道10件事

    关于IPv6需要知道10件事 1、IPv6地址是128位十六进制数  IPv4地址是有4个数字位组(总共32位)组成,IPv6地址长度时128位,而且是由16进制字符组成。 :CD00:0000:0000:0000:0000:211E:729C  除了可以按第3条介绍方法缩写外,还可以直接省略掉连续0,用两个英文冒号代替,操作系统看到这样IPv6地址后,自然会知道它们之间字符全是 因此上面的地址可以简写为  FE80:CD00::211E:729C  5、IPv6环回地址  在IPv4中,我们知道环回地址是指向本机一个特殊地址,即我们熟悉127.0.0.1,IPv6也不例外 6、不需要传统子网掩码  在IPv4中,每个IP地址必须要搭配一个子网掩码才能使用,IPv6也使用了子网概念,但子网ID是直接嵌入到地址中。 7、IPv6仍然需要DNS  在IPv4中,主机记录(即A记录)将IP地址映射到主机名,IPv6仍然要使用DNS技术,但IPv6不再使用主机记录,相反,IPv6使用AAAA资源记录,ip6.arpa用于反向主机名解析

    1.9K30发布于 2019-03-05
  • 来自专栏大飞的部落阁

    关于Queue你需要知道

    前言 平时我们在搬砖过程中,难免会遇到如下问题:搬砖的人将砖送到垒砖人手中后,再搬一块砖,如果垒砖的人还没垒完,那搬砖的人就需要等待垒砖的人垒完后才能递砖再进行下一次搬砖。 实际上这个例子中推车就起到了消息队列作用,今天我们就一起走进 Queue 世界。 关于 Queue Queue 是 Python 内置,线程安全队列库。 问题:砖没垒完就结束 这是因为我们在代码中判断,当队列为空时候就退出。当垒砖比搬砖快时候就会出现这个问题。我们需要在垒砖代码中增加短暂等待即可。 因为两个线程同时开始,在等待之前,第一次 get 就拿到了 100 优先级砖,所以它被第一个垒。解决这个问题,我们需要在垒砖前等待很短时间即可(即等待搬砖完成)。 以上就是今天全部内容了,感谢您阅读,我们下节再会。

    62050编辑于 2022-06-17
  • 来自专栏CSDN技术头条

    关于缓存你需要知道

    About Cache 作后端开发同学,缓存是必备技能。这是你不需要花费太多精力就能显著提升服务性能灵丹妙药。前提是你得知道如何使用它,这样才能够最大限度发挥它功效,并抑制其副作用。 我们在创建表时候,并不会未所有的字段创建索引,这意味着如果我们需要读取非缓存数据就要从磁盘拿数据。这个过程至少需要十几毫秒时间。而缓存往往是基于内存,这要比DB读数据快两个数量级。 证明我们加缓存这件事收益越高。 加缓存 如果你平时都用一些ORM工具很可能下边这些问题你不会直接遇到,不过这些问题都是在你加缓存之前需要着实想清楚。算是一些通用套路。 提前把所有预期热数据加到缓存。定位热数据还是比较复杂事情,需要根据自己服务访问情况去评估。这个方案只能减轻缓存并发发生次数不能全部抵制。 缓存加锁。 Read Through与之不同我们需要在应用程序自己加载数据了,缓存层会帮忙做件事。

    1.1K70发布于 2018-02-13
  • 来自专栏Golang语言社区

    关于缓存你需要知道

    About Cache 作后端开发同学,缓存是必备技能。这是你不需要花费太多精力就能显著提升服务性能灵丹妙药。前提是你得知道如何使用它,这样才能够最大限度发挥它功效,并抑制其副作用。 我们在创建表时候,并不会未所有的字段创建索引,这意味着如果我们需要读取非缓存数据就要从磁盘拿数据。这个过程至少需要十几毫秒时间。而缓存往往是基于内存,这要比DB读数据快两个数量级。 证明我们加缓存这件事收益越高。 加缓存 如果你平时都用一些ORM工具很可能下边这些问题你不会直接遇到,不过这些问题都是在你加缓存之前需要着实想清楚。算是一些通用套路。 提前把所有预期热数据加到缓存。定位热数据还是比较复杂事情,需要根据自己服务访问情况去评估。这个方案只能减轻缓存并发发生次数不能全部抵制。 缓存加锁。 Read Through与之不同我们需要在应用程序自己加载数据了,缓存层会帮忙做件事。

    925130发布于 2018-03-27
  • 来自专栏技术汇

    IP分片报文:你需要知道

    当上层协议向底层IP模块提交数据时,如果得到IP报文长度大于PMTU,则将报文划分为多个分片。每个分片包括一个IP首部和原始报文一部分。IP分片报文技术实现1. 分片重组:接收端根据报文IP、目的IPIP标识将接收到分片报文归为不同原始IP报文分片报文;分片标志中MF位(More Fragment)标识了该报文是否是最后一个分片报文,如果是最后一个分片报文 在高速率下,16位IP标识字段不足以防止重复id,从而导致频繁错误组装IP分片,而TCP和UDP校验和也不足以防止由此产生损坏数据报被发送到上层协议。IP分片替代方案1. 每个段被封装在一个TCP首部中,并提交给底层IP模块。底层IP模块前置一个IP首部,并转发得到报文。如果TCP MSS足够小,那么底层IP模块决不会产生长度大于实际PMTU报文。 因此,不需要IP分片。2. 应用层解决方案应用程序不应该发送导致IP报文超过到达目的地路径上最大传输单元UDP数据报。

    1.6K00编辑于 2023-10-06
  • 来自专栏技术汇

    IP分片报文:你需要知道

    当上层协议向底层IP模块提交数据时,如果得到IP报文长度大于PMTU,则将报文划分为多个分片。每个分片包括一个IP首部和原始报文一部分。 IP分片报文技术实现 1. 分片重组:接收端根据报文IP、目的IPIP标识将接收到分片报文归为不同原始IP报文分片报文;分片标志中MF位(More Fragment)标识了该报文是否是最后一个分片报文,如果是最后一个分片报文 在高速率下,16位IP标识字段不足以防止重复id,从而导致频繁错误组装IP分片,而TCP和UDP校验和也不足以防止由此产生损坏数据报被发送到上层协议。 IP分片替代方案 1. 每个段被封装在一个TCP首部中,并提交给底层IP模块。底层IP模块前置一个IP首部,并转发得到报文。如果TCP MSS足够小,那么底层IP模块决不会产生长度大于实际PMTU报文。 因此,不需要IP分片。 2. 应用层解决方案 应用程序不应该发送导致IP报文超过到达目的地路径上最大传输单元UDP数据报。

    2K50编辑于 2023-10-08
  • 来自专栏后端码事

    关于 ThreadLocal 你需要知道几点

    一个类对象类型,提供属线程本地变量,也就是同一个变量对不同线程保存了不同值,但是和线程自身定义自属变量不同。 通常以私有静态类型定义,用以保存特定线程特定状态属性。 线程存活期间保持对ThreadLocal弱引用,线程结束后,则变量会被垃圾回收器回收。 二、ThreadLocal使用 //定义一个ThreadLocal变量用以存储不同线程ID ThreadLocal<Long> localVs = new ThreadLocal<>(); //线程list , transport: 'socket' Thread-1: 13 Thread-0: 12 Thread-2: 14 Thread-4: 16 Thread-3: 15 三、ThreadLocal需要注意地方 线程中使用ThreadLocal类型变量,在线程声明周期结束前调用ThreadLocal::remove()方法,清除对应本线程变量内存占用,避免内存泄漏。

    50510发布于 2020-09-10
  • 来自专栏音视频技术

    关于AVOD, 你需要知道

    通常情况下,AVOD服务都是免费观看,并与Freemium服务绑定,这样你就可以在订阅服务后免广告观看视频(AVOD-SVOD混合模式)。 在本篇文章中,我们将了解: 什么是VOD? AVOD商业模式依赖大量用户观看视频并获得可行广告收益。每1000次曝光,内容发布商才能获得几美元,为了获取可持续收入,内容发布商需要吸引大量用户到自己平台上。 很好,你现在已经了解了什么是AVOD以及VOD公司在哪里使用它,下文中我们将了解广告插入两种主要形式(CSAI和SSAI)是如何发挥作用。 而SSAI工作原理是:直接向视频流中插入(或者拼接)广告,避免向服务器发送调用来接收广告需求。 CSAI和SSAI在AVOD公司中广泛应用。所以接下来让我们花几分钟了解一下它们工作原理。 原文链接: https://ottverse.com/what-is-avod-advertising-based-vod/ ---- 喜欢我们内容就点个“在看”吧!

    2.4K20编辑于 2022-05-16
  • 来自专栏Android小知识

    关于MaterialButton你需要知道

    这是由于系统自身为MaterialButton控件设置了默认属性,所以你操作其实并不会生效 那么我们就要覆写这些属性,让MaterialButton控件由我们管控 在res→values→styles.xml 就完全臣服于你啦 需要注意事: 如果没做最后一步会产生如下报错 Caused by: android.view.InflateException: Binary XML file line #42 ,But需要注意,如果你考虑使用TabLayout的话这个版本是没有TabLayoutMediator。 哦哦 对啦,最后一点,主题为Theme.MaterialComponents.Light.NoActionBar时,你checkbox等等控件,都需要你像MaterialButton一样处理,不然会像 CheckBox 到这里需要注意点就都介绍完了,MaterialButton可以用起来了,不过要注意这些细节呦!

    1.2K30编辑于 2022-01-11
  • 来自专栏生信修炼手册

    关于motif你需要知道

    在chip_seq数据分析中,motif分析是一项重要分析内容。通过motif分析,我们可以对转录因子结合位点序列模式有进一步了解,那么什么是motif呢? 蛋白质中功能基本单元是domain,是一种特殊三维结构,不同结构domain与其他分子特异性结合从而发挥功能。 与此类似,转录因子在于DNA序列结合时,其结合位点序列也由于一定特异性,不同转录因子结合DNA序列模式是不同。为了更好描述结合位点序列模式,科学家们提出了motif概念。 值得一提是,之前我们说单一碱基最大值为2,而上图中单一碱基位置比2小了一点,这是因为在原始公式基础上进行了微调,详细情况如下 ? ? ? 在原始公式基础上减去了一个e值,在e值计算公式中,对于DNA序列,s值为4,n代表是motif长度,上述示例中就是12。减去e值后,最大值相比2自然会小一点。

    5.2K42发布于 2019-12-19
  • 来自专栏数据和云

    关于BCT,你需要知道是...

    最近使用 XTTS,里面涉及到增量备份步骤需要开启BCT,并且RMAN增量备份也会涉及到BCT,本文列出工作中 BCT 需要知道相关内容,希望对大家有帮助。 BCT原理是记录数据文件里每个数据块修改之后信息,这些修改之后tracking信息保存在设置tracking文件里。 启动BCT后,RMAN或者XTTS使用tracking file里信息,只需要读取改变数据块信息,而不用再对全部数据文件进行扫描,从而提高了RMAN或者XTTS增量备份性能。 那么如果想指定路径的话只需要加一个using file 后面接一个路径名即可 首先先禁用,再重新开启。 ? 这里发现禁用后,bct file会随着禁用而自动被删除清理。 ? ? ,那么这时候再进行一次1级累积增量备份,就会进行全datafile扫描,因为累积增量备份是比较0级备份以后变化情况,而0级备份会被覆盖,所以这个隐含参数设定值也会影响不同增量备份方式效果。

    1.2K20发布于 2020-07-17
  • 来自专栏MelonTeam专栏

    关于Android进程,你需要知道

    导语 Android系统是怎样杀进程,native进程是怎么管理? 这里我们可以看到核心逻辑,首先遍历出来该packageName下所有Android进程放在procs集合里,接着我们在for循环里分别杀之。 ? 这里我们可以看到调用ProcesskillProcessQuiet方法去杀进程,实际上最终调用linux进程机制发送-9信号将相关进程杀掉。 这里我们着重看一下killProcessGroup方法,这个逻辑是5.0之后新增。看名字我们可以大概猜测一下是杀进程组,那Android里面的进程组什么样呢?什么样进程会被放在进程组里呢? 不过Android每个版本都由相应进化,所以需要分析源码来找到突破口。 最后给一张Android进程分析图: ?

    2.1K100发布于 2018-01-04
  • 来自专栏前端黑板报

    关于远程分支你需要知道

    关于远程分支你需要知道 1. clone 时 git clone xxx.git 自动创建一个跟踪 origin/master master 分支。 若 clone 时候想跟踪别的分支: git clone -b yyy xxx.git 若分支远程不存在,则会报错: 2.创建新分支时 直接创建一个本地分支跟踪远程分支: git checkout / 由于此命令太常用,所以有个快捷方式: git checkout --track origin/xxx 则会自动创建一个本地 xxx 分支跟踪 origin/xxx,还有更进捷径:比如你本地检出了一个本地不存在分支 test 且远程刚好有一个与之对应远程分支 origin/test,则会自动创建关联。 设置已有分支时 查看分支跟踪情况: git branch -vv 现在把 feature 上游分支改为 test: git branch -u origin/test //or git branch

    53420编辑于 2022-06-13
  • 来自专栏Android 开发者

    关于 PendingIntent 您需要知道那些事

    在本例中,由于我们明确知道未来需要进行操作,所以我们使用 FLAG_IMMUTABLE 标记构建了无法被修改 PendingIntent。 关于标记详情 我们上面介绍了少数几个可用于创建 PendingIntent 标记,还有一些标记也为大家介绍一下。 ⚠️ Android 6 (API 23) 之前系统中,PendingIntent 都是可变类型。 我们还介绍了 PendingIntent 为何需要设置为不可变,以及这么做并不会影响应用修改自身所创建 PendingIntent 对象。 我们还介绍了如果 PendingIntent 是可变需要预防措施 — 保证对封装 Intent 设置 ComponentName。

    2K10编辑于 2022-03-09
领券