logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

11 | DSL:你也可以设计一门自己的语言

今天,我们讨论了领域特定语言,这是针对某个特定领域的程序设计语言。DSL 在软件开发领域中得到了广泛的应用。要实现一个 DSL,首先要构建好模型。常见的 DSL 主要是外部 DSL 和内部 DSL。二者的主要区别在于,DSL 采用的是不是宿主语言。相对于外部 DSL,内部 DSL 的开发成本更低,与我们的日常工作结合得更加紧密。内部 DSL 体现更多的是表达能力,相对于传统的代码编写方法而言,这种

22 | 自适应的基函数:神经网络

神经网络是非参数模型的一种,它利用激活函数对线性模型做出了非线性的扩展,让每个输出变成了权重系数的非线性函数,从而在整体上拟合出非线性的效果。感知器的初始参数是随机生成的,用这组随机参数生成的分类边界是图中的红色虚线。在之后的每一轮训练中,训练结果在验证集上的性能都被拿来和先前存储的模型性能进行比较,之后保留两者中表现较好的模型的配置。神经网络中隐藏神经元的数目决定着网络的泛化性能,足够多的神经元

#机器学习
05 | 定位防火墙(一):传输层的对比分析

在网络排查中,防火墙作为一个隐形神秘的存在,时常给排查工作带来一定的不确定性。有时候,你不知道为什么一些网络包能正常发出,但对端就是没收到。有时候,同样的两端之间,有些连接可以通信,有些就是不行。这个时候,你很可能会怀疑是防火墙在从中作祟了,但是你有什么证据吗?你不是防火墙工程师,就没有查看它的配置的权限。但是这样一个看不见摸不着的东西,却可能正在影响着你的应用。相信你也一定想彻底转变被动的状态,

文章图片
#tcpdump#wireshark#网络
06丨数据库原理:为什么PrepareStatement性能更好更安全?

做应用开发的同学常常觉得数据库由 DBA 运维,自己会写 SQL 就可以了,数据库原理不需要学习。其实即使是写 SQL 也需要了解数据库原理,比如我们都知道,SQL 的查询条件尽量包含索引字段,但是为什么呢?这样做有什么好处呢?你也许会说,使用索引进行查询速度快,但是为什么速度快呢?此外,我们在 Java 程序中访问数据库的时候,有两种提交 SQL 语句的方式,一种是通过 Statement 直接

#数据库
25 | 缓存异常(上):如何解决缓存和数据库的数据不一致问题?

在实际应用 Redis 缓存时,我们经常会遇到一些异常问题,概括来说有 4 个方面:缓存中的数据和数据库中的不一致;缓存雪崩;缓存击穿和缓存穿透。只要我们使用 Redis 缓存,就必然会面对缓存和数据库间的一致性保证问题,这也算是 Redis 缓存应用中的“必答题”了。最重要的是,如果数据不一致,那么业务应用从缓存中读取的数据就不是最新数据,这会导致严重的错误。比如说,我们把电商商品的库存信息缓存

#缓存#数据库
09 | 什么是PaaS?怎样深入理解和评估PaaS?

在 IaaS 篇中,我们主要是侧重于基础设施类的云服务,尤其是虚拟机、云磁盘、云网络等服务。它们的特点是,和传统 IT 基础设施往往有一个对应关系,所以被称为基础设施即服务(Infrastructure-as-a-Service)。今天我们的主角PaaS(Platform-as-a-Service),则是指云计算提供的平台类服务,在这些平台的基础上,用户可以直接开发、运行、管理应用程序,而无需构建

#paas#云计算
10 | 对象存储:看似简单的存储服务都有哪些玄机?

因为对象存储的高可用、低成本的特性,让它成为了云上最重要、最受欢迎的支柱性 PaaS 服务之一,也极大地助推了云计算本身的发展。它上手起来非常简单,而深入运用起来又很强大,可以说是产品设计上的最高境界了。对象存储在实践中实在有太多妙用,等待着你去感受和发现。建议多多实际操作,探索一遍它的各个功能选项,这会比你单纯地阅读产品文档有更深入的体会。今天给你的思考题是这样的将对象设置为完全公开是非常危险的

15 | 无服务器计算:追求极致效率的多面手

无服务器”是云计算中资源抽象的极致体现。从它的命名上你就可以看出,所谓“无服务器”就是想让用户感觉不到服务器的存在,这是因为有一朵巨大的云在底层进行着支撑。这样你可以完全专注于业务逻辑的编写,而不再关心任何基础设施。我们在前面课程的讨论中,其实已经接触到了一些广义上的无服务器 PaaS 服务,比如第 13 讲中的无服务器查询服务和第 14 讲中的无服务器容器服务。甚至第 9 讲中的对象存储服务,它

#serverless
50 | 计算虚拟化之CPU(上):如何复用集团的人力资源?

这一节,我们学到,虚拟机对于设备的模拟是一件非常复杂的事情,需要用复杂的参数模拟各种各样的设备。为了能够适配这些设备,qemu 定义了自己的模块管理机制,只有了解了这种机制,后面看每一种设备的虚拟化的时候,才有一个整体的思路。这里的 MachineClass 是我们遇到的第一个,需要掌握它里面各种定义之间的关系。每个模块都会有一个定义 TypeInfo,会通过 type_init 变为全局的 Ty

#linux
02 | 内存池:如何提升内存分配的效率?

上一讲我们提到,高频地命中 CPU 缓存可以提升性能。这一讲我们把关注点从 CPU 转移到内存,看看如何提升内存分配的效率。或许有同学会认为,我又不写底层框架,内存分配也依赖虚拟机,并不需要应用开发者了解。如果你也这么认为,我们不妨看看这个例子:在 Linux 系统中,用 Xmx 设置 JVM 的最大堆内存为 8GB,但在近百个并发线程下,观察到 Java 进程占用了 14GB 的内存。为什么会这

    共 46 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择