Bruce

Postgres是最好的开源软件

巧了我就是萌 提交于 2020-09-27 09:04:41
作者:布鲁斯·摩坚(Bruce Momjian)Bruce Momjian是PostgreSQL全球开发小组的联合创始人和核心团队成员,从1996年开始从事PostgreSQL。他从2006年开始在EnterpriseDB任职,现任EDB副总裁。 PostgreSQL的泛在与民主 泛在和民主是最能描述开源PostgreSQL(Postgres)数据库管理系统的两个词。而且,就像Linux一样,两者都是“最佳状态下开源”的绝佳示例。 就其普遍性而言,Postgres已有30多年的历史了,如今全球各地都可以在本地运行或作为托管(云)服务从数十个提供商处获得。我们经常听到它是开发人员最常选择的“首选” API。根据Stack Overflow的调查,如果你问开发人员他们最喜欢哪种数据库技术,Postgres排在第二位,仅次于Redis。 而且,在民主方面,该软件项目由PostgreSQL全球开发小组管理,他们是来自世界各地的开发人员和志愿者。软件项目有500多个贡献者。没有一个公司负责、支配或控制项目和软件开发,因此不存在依赖任何个人或实体的危险。此外,任何人都不可能“接管”Postgres。PostgreSQL全球开发小组一直致力于使PostgreSQL永远成为免费和开源的软件。从没有计划更改PostgreSQL许可证或以其他许可证来发布。 在2017年和2018年,Postgres被

HashMap 源码分析

荒凉一梦 提交于 2020-08-18 05:40:32
  --翻开 HashMap 的源码,首先看到的就是 Doug Lea 大爷的大名。每当看到这个名字,就像看到小胡子大爷和蔼的对我们说“少年,你渴望力量吗”。   这次不以面试背题为目的,挑几个源码实现中值得玩味的点来学习一下。   首先看几个初始化参数,在实现中 Lea 大爷大量的使用了二进制位移运算。比如 16 表示为 1<<4 ,1 073 741 824 表示为 1<<30 。由于计算机的物理特性,二进制运算的效率尤其是位移运算是高于直接使用十进制运算的。在非官方统计中,位运算比取余运算可以节约大约四十余个 CPU 晶振周期,按照Bruce Eckel给出的数据,性能大约可以提升5~8倍。在日常 CURD 的过程中,也可以在写好注释的前提下尽量的使用二进制位运算替代十进制运算。 负载因子(LOAD_FACTOR)   初始容量为 16,负载因子为 0.75。这是从 HashMap 诞生开始就没变过的定义,当元素数量达到当前容量的 75% 时,HashMap 会对数组进行扩容。该因子可在创建实例时指定。   由于哈希值在计算时需要映射到长度为 capacity 的数组下标上,因此哈希值的计算必然包含对数组长度的取模(取模的点后面说),在 put 方法中可以找到计算数组下标时需要对数组长度取模:   因此数组的剩余空间越小,数组下标冲突的几率越大,元素不得不存储在链表中

PostgreSQL.Live生而全球 敢于颠覆

寵の児 提交于 2020-08-16 06:11:39
这,是开源技术的未来 这,汇集中外大咖 分享核心技术 这,畅聊主流话题 交流顶尖技术 这,与顶级企业联手,合作共赢 PostgreSQL.Live简介 PostgreSQL.Live由中国PostgreSQL分会与PostgreSQL国际社区共同筹备、知名PostgreSQL生态链企业参与,live沙龙将以在线直播+按需学习相结合的方式,面向全球开发者、架构师、PostgreSQL用户和爱好者免费开放;同时设有线上专家一对一、技术团队面对面等环节。 PostgreSQL.Live云端技术沙龙 第一期:未来的PostgreSQL分片 主讲人:Bruce Momjian 简介: Bruce Momjian是PostgreSQL全球开发小组的联合创始人和核心团队成员,也是Ad-dison-Wesley出版的《PostgreSQL的简介和概念》一书的作者。Bruce Momjian从2006年开始受聘于EnterpriseDB,目前担任EnterpriseDB副总裁一职。 主题分享: 探讨分片的优点和未来PostgreSQL分片实现的需求。 活动详情点击下方链接 未来的PostgreSQL分片 第二期:Postgres中的表分区 主讲人:Amit Langote 简介: Amit Langote是PostgreSQL社区的主要开发者之一,来自EnterpriseDB日本公司

如何创建一个属于自己的composer代码包

风流意气都作罢 提交于 2020-08-10 05:40:30
前言 对于开发的小伙伴们来说,代码包已经是开发过程中的家常便饭了。比如,PHP有composer,Java有maven,前端有npm,yarn,Mac程序安装有brew,Linux程序安装有yum。使用这些包,可以便于我们很好的管理代码引入的外部代码组件,有助于我们提高开发效率,同时也有助于我们代码管理更加优雅。下文主要就是分享个人自定义一个composer代码包,代码仅仅是作为演示示例,没有实际效果。同时也会不断更新,大家可以关注关注。 原文地址 具体实现 创建一个远程git代码仓库。 创建代码仓库,我是选择的GitHub作为远程仓库。创建好后,我们直接拉取到本地。后面的所有代码都是在该仓库下进行的。具体创建仓库和拉取代码就不做演示。 创建源码目录 我们在仓库(为了方便描述,后文便用项目一词来替代该词)下面,创建一个src的目录,用于存储我们实际的代码。 编写实际代码 下面这个文件,是后面实际需要调用的类。具体的演示代码,可以通过 演示代码仓库 进行查看。主要的作用就是利用工厂模式,Cache去调用实际的缓存类。 <?php // composer演示代码 declare(strict_types=1); // 这里的命名空间根据自己情况填写,后面生成的composer.json文件需要使用该命名空间。 namespace Bruce; use Bruce\Client

Python 为什么要保留显式的 self?

一笑奈何 提交于 2020-07-28 13:27:36
布鲁斯·埃克尔(Bruce Eckel)发了篇博文 ,提议从类方法的形参列表中删除“self”。我将解释为什么这个提议不能通过。 (译注:Bruce 是《Thinking in Java》、《Thinking in C++》等多本书籍的作者,也是个 Python 开发者。他的文章总结了当年在巴西 Pycon 上的一次讨论,主要观点是在定义类方法时,形参中的“self”是多余的,而且由它引发的报错信息具有一定的误导性。) Bruce 的提议 Bruce 知道,我们需要一种方法来区分对实例变量的引用和对其它变量的引用,因此他建议将“self”设为关键字。 考虑一种典型的类,它有一个方法,例如: class C: def meth(self, arg): self.val = arg return self.val 跟据 Bruce 的提议,这将变为: class C: def meth(arg): # Look ma, no self! self.val = arg return self.val 这样每个方法会节省 6 个字符。但我不觉得 Bruce 提出这个建议是为了减少打字。 我认为他真正关心的是程序员(可能来自其它语言)所浪费的时间,有时候似乎不需要指定“self”参数,而且他们偶尔忘记了要加(即使他们十分清楚——习惯是一种强大的力量)。确实,与忘记在实例变量或方法引用之前键入

Java之反射

风格不统一 提交于 2020-05-06 19:30:49
一、反射的概述 1. 反射的简介 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为:反射。 通常的方式:引入需要的“包类”名称---->通过“new”实例化---->获得实例化对象 反射的方式:实例化对象---->getClass()方法---->得到完整的“包类”名称 框架 = 注解 + 反射 + 设计模式 2. 反射动态性体现 只有当程序运行时我们才能知道调用的类 @Test public void test2(){ for(int i = 0;i < 100;i++){ int num = new Random().nextInt(3);//0,1,2 String classPath = ""; switch(num){ case 0: classPath = "java.util.Date"; break; case 1: classPath = "java.lang.Object"; break; case 2:

[转载]C++之using namespace std 详解与命名空间的使用

旧时模样 提交于 2020-05-06 02:24:07
来源:https://blog.csdn.net/Bruce_0712/article/details/72824668 所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 一 : <iostream>和<iostream.h>是不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。 后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。 二: 所谓namespace,是指标识符的各种可见范围。 C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择: 1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下: std:

《Thinking_in_C++》(英文版)pdf

自古美人都是妖i 提交于 2020-05-05 18:09:13
下载地址: 网盘下载 In the first edition of Thinking in C++, Bruce Eckel synthesized years of C++ teaching and programming experience into a beautifully structured course in making the most of the language. It became an instant classic, winning the 1995 Software Development Jolt Cola Award for best book of the year. Now, Eckel has thoroughly rewritten Thinking in C++ to reflect the final ANSI/ISO C++ standard. Every page has been revisited and rethought, with many new examples and exercises -- all designed to help you understand C++ "down to the bare metal," so you can solve virtually any problem.

HTML5与CSS3基础教程(第7版) 高清PDF扫描版​

旧时模样 提交于 2020-04-29 04:20:20
HTML5与CSS3基础教程(第7版)试读不仅介绍了文本、图像、链接、列表、表格、表单、多媒体等网页元素,也介绍了如何为网页设计结构、布局,添加动态效果、格式化等形式,此外还涉及调试和发布、聚合和吸引访问等。书中详细讲解了视频、音频及其他新增特性,从零开始教会读者创建渐进增强的普适性网站。书中提供了大量代码示例并附上代码实现的屏幕截图,配套网站上列出了完整的示例代码及更多实例。 需要的朋友们可以下载试试吧! HTML5与CSS3基础教程(第7版)适合网站设计新手和专业开发人员学习参考。 Elizabeth Castro 享誉世界的计算机畅销书作家,目前致力于帮助大家出版电子书、设计网页、运用CSS呈现网页和博客等。她擅长使用详实的步骤和精美的实例教大家快速实现具体的效果。有关她的更多信息,可访问其博客ElizabethCastro.com。 Bruce Hyslop 自1997年就开始从事网页开发,重点关注使用HTML、CSS和JavaScript进行网页开发和网站易用性的维护,并倡导最佳实践。Hyslop在加州大学洛杉矶分校进修部教授CSS课程,还著有The HTML Pocket Guide。 HTML5与CSS3基础教程(第7版)试读目录: 第1章  网页的构造块1 第2章  处理网页文件17 第3章  基本HTML结构27 第4章  文本65 第5章  图像97 第6章 

学习Python的正确姿势,新手必学

本秂侑毒 提交于 2020-04-28 16:16:26
前段时间和大家一起分享了一篇关于学习方法内容《大牛与搬运工的差距——学习方法的力量》。我们将学习过程分成八步,并借鉴了敏捷开发的迭代思想,以达到自我迭代学习的效果。行胜于言,理论结合实践才是王道,所以本文我将基于前面的学习方法,分享我是如何学习python的。 为什么学习python? “Life is short, you need Python!” ——Bruce Eckel 这里要注意 : 不管你是为了Python就业还是兴趣爱好,记住:项目开发经验永远是核心,如果你没有2020最新python入门到高级实战视频教程,可以去小编的Python交流.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,里面很多新python教程项目,还可以跟老司机交流讨教! python是一种被广泛使用的高级编程语言,其代码语法简洁、可读性强,并且具有丰富和强大的库。python简单易学,应用广泛,web开发、爬虫、运维、人工智能……可以说无所不能。python去年还被列入了全国计算机等级考试科目,也逐步成为小白踏上编程之路的入门语言了。 “人生苦短,我用python!”用python干什么?这个因人而异,个人而言,我学习python主要用于两个方向:爬虫和运维,工作上可以帮助我们复杂工作简单化,重复工作自动化,以及以后的人工工作智能化。 本文和大家探讨的是学习python的方法