相关分享
时隔两年,Chrome也支持round等CSS数学函数了
本文介绍了CSS中的数学函数 `round()` 的新应用,它能实现多种取整方式,如上舍、下舍、四舍五入等,用于提升样式的精确控制。特别是在字体大小、动画步阶和响应式设计中,`round()` 可防止小数值带来的渲染偏差,使界面更一致。这一函数现已在Chrome中支持,为开发者提供了更灵活的布局工具。
BGP 劫持 — 连 IP 都是假的
当你打不开某个网站的时候你会怎么办?
你可能会先 ping 一下域名看一下延迟。如果延迟正常的话你大概会检查一下自己的 DNS 解析结果是否正确。如果 DNS 解析也是正确的你大概会怀疑网站本身出了问题。但是你老家的亲戚能打开你却打不开,这是怎么回事呢?
这种情况下你可能遇到了「BGP 劫持」,它可以将你的通信劫持到指定主机上,并且 IP 地址不发生变化。
Go 语言史诗级更新-循环Bug修复
背景前两天 Golang 的官方博客更新了一篇文章:Fixing For Loops in Go 1.22,看这个标题的就是修复了 Go 循环的 bug,这真的是史诗级的更新;我身边接触到的大部分 Go 开发者都犯过这样的错误,包括我自己。
真实世界的Go设计模式 - 对象池模式
对象池(object pool pattern)是一种设计模式。一个对象池包含一组已经初始化过且可以使用的对象,而可以在有需求时创建和销毁对象。池的用户可以从池子中取得对象,对其进行操作处理,并在不需要时归还给池子而非直接销毁它。这是一种特殊的工厂对象。
若初始化、实例化的代价高,且有需求需要经常实例化,但每次实例化的数量较少的情况下,使用对象池可以获得显著的效能提升。从池子中取得对象的时间是可预测的,但新建一个实例所需的时间是不确定。
另外,利用对象池,我们可以重用对象,减少对象的分配,对于垃圾回收的编程语言,也是一种提高性能的手段。
Python源码剖析:深度探索Cpython对象
Python是一门备受推崇的脚本语言,以其简单的语法和全面的功能而著称,可快速实现各种业务。本文从 CPython 对象构造器入手,介绍了浮点数对象在 CPython 底层数据结构中的表现形式以及对象创建的过程。通过进一步了解 CPython 动态性的实现方式,读者可望在阅读 CPython 源码后提升编写高质量代码的能力。
Chrome浏览器原生支持的7种后台服务简介
妈呀,不知不觉中,浏览器竟然支持了这么多的Web后台服务特性,不少API我还是第一次见到。
Java 正确获取对象内存地址的方式
在本教程中,我们将了解如何在 Java 中查找对象的内存地址。
在此之前,我们需要说明的是,运行时数据区的内存布局不是 JVM 规范的一部分,完全由实现者自行决定。因此,每种 JVM 可能回用不同的策略布局内存中的对象和数组。
在本教程中,我们主要讨论 HotSpot JVM。
ECS 中的对象引用
我们很难避免在 ECS 系统中相互引用 Entity 。而我对 ECS 模式的使用是鼓励去引用的。为此,我对许多常见依赖引用的模式给了对应的解决方案。
最近的一个 luaecs 开发版本中,提供了一种 Lua 层面的引用方案 :在创建 Entity 时,可以指定一个 table 作为该对象的引用。系统会更新它,让它保持为一个有效的(形如 select 过程中的)迭代器。这样,业务层就可以随时通过它 sync entity 中的数据。
我一直不是太喜欢这个方案,所以一直再考虑不同的解决方法。念念不忘 必有回响。昨天,我尝试了一个新的、更满意一点的方案。
改hosts不生效?教你清理Chrome的DNS缓存
在进行web开发的时候,我们经常会修改hosts文件进行测试,但是偶尔会发现改了hosts文件并不能立刻生效。这是由于浏览器自身对DNS(域名指向)是有进行缓存的,除了缓存之外,由于HTTP1.1支持连接复用,如果之前打开过这个页面,那么即使清理了DNS缓存也会因为复用连接再继续连接到旧的域名指向地址。如果出现连接被复用的情况就需要手动关闭活跃连接了。
你还在new对象吗?Java8通用Builder了解一下
这里不再介绍其他 Builder 实现方式,直接祭出最实用的通用Builder:
适用于所有类,不需要改造原来类,不需要 lombok 插件支持。
先看看使用姿势:
