Debian 爱好者社区 为您找到相关结果 344

OpenJDK 14 性能提升,但 OpenJDK 8 仍是王者

工作负载。 测试环境以及测试机器配置: 首先通过使用 Java 2D 基准测试对 Java 图形管道的性能进行压测,可以看到文本渲染性能一直稳步提升,直到第 12 版达到最高点,然后逐渐下降为目前 13 和 14 的水平,与 OpenJDK 8 比较相似。 而在 Java 2D 的图像渲染性能方面,它们的水平基本保持一致,但是 OpenJDK 14 以微弱的的性能优势成为了最好性能的那个。 这还测试了使用矢量图形的渲染效果,水平基本保持一致。 通过进行非常基本的 Java SciMark 微基准测试,可以看到 OpenJDK 8 目前为止是最快的,并且自 OpenJDK 9 至 14 以来,性能基本上持平。OpenJDK 的运行速度约为 OpenJDK 8 的 88%。 通过使用 Java...阅读全文

博文 2020-03-22 08:46:01 debian.cn

树莓派4上如何安装 Raspbian Buster

载好操作系统后,会得到一个zip的压缩文件。先解压,我们会用到面的一个 .img 格式的操作系统镜像文件。文件准备好后,就可以进入下一步操作了。 在SD卡中灌入系统 这一步,我们需要下载一个软件,以便录入系统。虽然 RaspberryPi Foundation推荐使用 Etcher,但个人建议使用 Win32DiskImager,操作比较简单,录入成功率也比较高。 运行 Win32DiskImager 后,可以看到上图。打开首选的磁盘映像器,然后选择您的SD卡。通过在资源管理器中检查确认 SD卡驱动器 的名称,确保它是你的microSD卡,而不是其他驱动器。 注意:如果您不小心选择了错误的驱动器,则会丢失大量数据。 一旦你确认了SD卡的设备名,就可以选择第一步中,准备的 .img。在...阅读全文

博文 2020-02-04 19:33:29 debian.cn

Golang 之禅: 如何写优质代码

在本月初的 GopherCon 上,知名 Go 语言贡献者与布道师 Dave Cheney 发表了名为《The Zen of Go》的演讲,之后他整理了演讲内容在博客中分享,由于内容过长,他又写了一个简洁版本: 完整版:https://dave.cheney.net/2020/02/23/the-zen-of-go简洁版:https://the-zen-of-go.netlify.com 这简单翻译一下简洁版本的内容:编写简单、可读、可维护的 Go 代码的十个工程要点。 每个包实现单一目标 设计良好的 Go 软件包提供一个单一的思路,以及一系列相关的行为。一个好的 Go 软件包首先需要选择一个好名字,使用电梯法则(30 秒内向客户讲清楚一个方案),仅用一个词来思考你的软件包要提供什么功能...阅读全文

博文 2020-02-25 20:48:33 debian.cn

树莓派64位系统Debian 9先行测评:性能最高提升30倍

df -Th 完整测试截图可以在这下载(感谢yoyojacky提供)。 总结: GEEEKPI 团队最终对比表格如下: 测试项目 Raspbian2017-03-03 Debian 9 Arm64bit 提升倍数 系统信息 Arm 32bit/ext4文件系统 Aarm64bit/f2fs文件系统 见文件系统测试 CPU单线程 367.2971 25.1195 14.62倍 四线程 1017.6742 62.6079 16.40倍 八线程 1920.0601 62.6711 30.64倍 内存随机 5.7678 2.1925 2.63倍 内存连续 6.3309 2.9392 2.15倍 网络性能 74.6Mbps 94.3Mbps 1.26倍 文件连续读写 5.7655 7.1506 见下文...阅读全文

博文 2021-01-28 17:50:25 debian.cn

分布式 NewSQL 数据库 TiDB

时,进行 rename table 时潜在的问题修复多数据路径配置下进行 rename table 会导致数据丢失的问题修复某些场景下 TiFlash 存储空间上报错误的问题修复开启 Region Merge 情况下从 TiFlash 读取时潜在的问题ToolsTiDB Binlog修复因为 TiFlash 相关的 DDL job 导致 Drainer 同步中断的问题 #948 #942BR修复关闭 checksum 情况下,仍然执行 checksum 的问题 #223修复 TiDB 开启 auto-random 或 alter-pk 时,增量备份失败的问题 #230 #231 详细更新说明请参考官网说明,点击这访问 TiDB 的详细文档。...阅读全文

博文 2020-04-18 22:05:02 3.1.0 发布

固态硬盘的 PCIE、SATA、M2、NVMe、AHCI 如何理解

个 SATA 就要迷糊了。其实上面的 SATA 更多是指插槽,而这的 SATA 是指数据走的通道,目前的新设备普遍都是 SATA3 接口了,但是 SATA3 是向下兼容 SATA2 跟 SATA1 的(所以下文我们只讨论SATA3)。 PCI-E 跟 SATA3 简单说就是数据走的“路”。PCI-E 就像是特别宽大的路,数据可以走的特别快,而 SATA3 与之相比更像是一条崎岖的小路,数据走的特别慢。但是CPU内部就那么大一点,修不了特别多的大路,所以PCI-E通道也就仅有那么几条。 通常 SATA 的插槽只能走 SATA3 的通道。而 M.2 的插槽上文我们说了分为 Socket 2 跟 Socket 3。M.2(Socket 2)的固态可以走 SATA3 或者 PCI-E 3.0×2...阅读全文

博文 2019-01-23 13:28:23 debian.cn

谷歌是如何培养经理人的

时,不应该告诉他们所有事情,先让他们实践一下,然后再慢慢增加内容。在一开始需要教会他们的事情:如何提供反馈以及如何成为一个好的导师;建立起学习和发展情商的文化氛围——了解自己和团队,要管理好别人首先要管好自己。 培训并不是培养经理人唯一的手段。他们可以从其他经理人那学习。应该鼓励他们互相交流和学习。另外,收集反馈是一种有效的评估手段。 把对经理人的反馈告诉他们。Calderon说,谷歌每年都会向员工收集反馈,让他们填写有关上司表现的问卷调查。这些信息会被反馈给经理人,帮助他们评价自己,并从中得到成长。先明确优秀经理人的定义,然后再引导他们朝这个目标努力。谷歌关于优秀经理人的特点清单可以在这个指南中找到。 除了经理人应该具备的行为特征,Calderon还提到:经理人应该要融入团队,不要只做微...阅读全文

博文 2017-12-24 07:31:00 debian.cn

通过Prometheus查询K8S集群Pod 的CPU、内存、网络指标

with the `H' inter-active command. Also for multi-processor environments, if Irix mode is Off, top will operate in Solaris mode where a task's cpu usage will be divided by the total number of CPUs. You toggle Irix/Solaris modes with the `I' interactive command. 即在过去的一段时间进程占用的CPU时间与CPU总时间的比率,如果有多个CPU或者多核,需要将每个CPU的时间相加。kubelet中的cadvisor采集的指标与含义,见...阅读全文

博文 2020-08-13 20:41:03 debian.cn

DNS SRV:使用DNS服务器做服务发现

,Client会按照这些SRV的权重分配请求。下一次向服务发起的请求可能发送到了不同的地址。在通过SRV记录的权重来分配请求的时候,使用的是本地缓存的DNS记录,所以不能实时地感知到服务的地址列表变化。除非将 TTL 设置的非常短暂,但这样将会频繁地查询DNS服务器。 Client查询服务地址的过程 rfc-2782中已经做了很好地介绍,这就不表述了。 配置举例 下面是DNS中 master file,可以看到有 example.com 域名提供了一个名为_foobar._tcp 的服务,这个服务有两个 SRV 记录,分别指向了 sys-box.example.com:1099 和 server.example.com:1099 $ORIGIN example.com. @ SOA...阅读全文

博文 2019-03-05 09:35:34 debian.cn

Debian 9更新到最新的Linux内核

喜欢折腾的同学,会豪气如何升级 Debian Stretch 的内核到新版。遗憾的是现在能搜到的升级 Debian Linux 内核的文章多数是使用Ubuntu的deb安装包,其实这样装上去是有问题,常见的问题是,总会提示需要 apt --fix-broken install 。 这简单记录一下,如何使用Debian官方源更新到最新的内核;以及如何是用 Kernel.org 的deb源,更新内核到最新的 5.x 版本。 修改更新源 name@debian.cn:~$ echo -e "deb http://http.debian.net/debian stretch-backports main\ndeb-src http://http.debian.net/debian stretch...阅读全文

博文 2019-03-25 22:33:22 debian.cn

OpenSSL 3.0 正式发布,更改许可协议并弃用所有低级别 API

经过 3 年的开发,17 个 alpha 版本,2 个 beta 版本,超过 7500 个提交,以及来自 350 位不同开发者的贡献,OpenSSL 3.0 终于正式发布了。OpenSSL 1.1.1 以来的主要变化主要版本开发者可以从这下载 OpenSSL 3.0,并升级你的应用程序使之兼容。OpenSSL 3.0 是一个大版本升级,并不完全向后兼容以前的版本。大多数使用 OpenSSL 1.1.1 的应用程序仍然可以正常工作,只是需要重新编译(可能会有关于使用废弃的 API 的编译警告)。还有一些不能完全兼容的应用可能需要进行修改才能正确编译和使用。如果应用程序需要利用 OpenSSL 3.0 中的一些新功能(例如 FIPS 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文

如何重启 Kubernetes 中的 Pods

在使用 Docker 时,我们可以使用 docker restart container_id 来非常方便的重启容器,但是在 kubernetes 中并没有重启 pod 的命令。有时 Pod 意外终止时,我们希望重启 pod,来进行排障或者尝试恢复服务。这时我们会发现蛋有点疼,没有一个很直观的方式来重启 pod。 这我总结了几种重启 Pod 的方式,分两种情况讨论如何重启 K8S 中的 Pod,希望对大家有所帮助。 第一种方式:Deployment方式下重启Pod 大多数生产环境,使用的是 Deployment 方式部署应用。这种场景下,我们可以直接删除对应的 Pod,让k8s去完成 pod 重建,命令: kubectl delete pod {podname} -n...阅读全文

博文 2020-07-13 21:23:30 debian.cn

使用 nvme-cli 工具来了解你的 NVMe 驱动器

NVMe 驱动器当你准备出售或处理你的 NVMe 电脑时,你可能想安全地擦除驱动器。这的警告与格式化过程中的警告相同。首先要备份重要的数据,因为这个命令会删除这些数据!$ sudo nvme sanitize /dev/nvme0nX尝试 nvme-clinvme-cli 命令是在 GPLv2 许可下发布的。它是一个强大的命令,有很多有用的选项,用来有效地控制和管理数据。...阅读全文

博文 2021-09-26 15:12:24 joseph

Debian软件包常用管理命令整理

在Debian及其衍生的系统中,我们需要经常使用的软件包管理命令,对系统进行管理,以便系统达到预期的状态。Debian系统中,常用的软件包命令有 apt、apt-get、dpkg、apt-cache等,这我们着重列举常见的一些用法。 软件包查询(不需要sudo权限) $ apt-cache search pkg_keyword #列出匹配关键字的软件包 $ apt search pkg_keyword #列出匹配关键字的软件包,包括了版本信息 $ apt list pkgname #查找该软件包,会显示版本信息 $ apt-cache show pkgname #查询软件包详细信息 $ apt show pkgname #查询软件包详细信息 $ apt-cache depends...阅读全文

Solus Linux 正在打造“现代化的 Linux 发行版”,不依赖 GNU

Linux”。同时,这一发行版既模块化又针对现代机器进行优化。 更具体地说,Serpent 将会是一个“真正现代化的 Linux 发行版”(A Truly Modern Linux Distribution),它将采用发行优先、兼容性更高的设计决策。同时还将把过去十年左右的时间更明智的设计改进纳入 Linux 发行版设计中: 不再拆分 usrbin整个过程均采用 100% 的 clang 编写(包括内核)musl 作为 libc,依靠编译器优化而不是内联 asmlibc++ 代替 libstdc++LLVM 的 binutils 的变种(lld、as等)混合源/二进制分发从x86_64-generic通用基线转向新的 CPU,包括针对 Intel 和 AMD 的优化程序包管理器中基于功能的订阅(硬...阅读全文

博文 2020-07-12 09:08:23 debian.cn

如何用 Privoxy 辅助科学上网

★Privoxy 是啥? 简而言之,Privoxy 是一款功能很强的,开源的,跨平台的 HTTP 代理工具。 其官网链接在“这”;其维基百科的词条在“这”。 ★Privoxy 能干啥? 从表面上看,Privoxy 只是一个 HTTP 代理。但是它提供了非常强大的【定制功能】。利用这些定制功能,可以完成很多你意想不到的事情。 简单列举一下,Privoxy 【至少】可以实现如下功能: 1. 根据定制的规则,进行代理转发(链式代理) 在咱们天朝,这个功能主要是用来辅助翻墙。 先说明一下:此处提及的“链式代理”(洋文是“a chain of multiple proxies”),跟俺经常提及的“多重代理”,【不是】一回事儿。 这个“链式代理”,有时候也可以称之为“代理转发”。它跟“端口转发”有...阅读全文

博文 2025-01-29 16:25:41 program-think.blogspot.com

成功运作一个开源项目的15个要点

运作开源项目很容易。所有你需要做的就是让你的源代码可用和开源,对吧?嗯,也许。其实,开源项目是否成功取决于你对项目成功的定义。且不论你是怎么定义的,创建开源项目需要大量的工作。如果你已经有了目标,那么你需要准备投资。虽然开源软件是免费的,但它的创作却不是免费的:你需要往项目中投入时间和精力等宝贵资源。 那么,你如何投资这些资源? 1、定义成功 在考虑运作开源项目之前,你需要明确定义成功的意义。这有很多因素要考虑。只将代码放入可公开访问的存储库就可以了,还是说你想对你的项目做更多?合作与采用对你来说重要吗?你只是为了打造作为一名软件开发者的声誉吗?你对成功的定义是否包括长期的可行性?你想围绕这个项目发展一个社区吗?你关心商业采用吗?你对这些问题的回答可以帮助你确定接下来你需要采纳的建议有多...阅读全文

博文 2017-11-08 09:58:28 debian.cn

Java Annotations详解

="Jakob", age=37, newNames={"Jenkov", "Peterson"} ) public class MyClass { } 元素的默认值 你可以为一个元素指定默认值(有点像C++中的方法哈)。这样在注释初始化时那个元素就可以忽略了。如下定义了一个包含默认值的注释 @interface MyAnnotation { String value() default ""; String name(); int age(); String[] newNames(); } 在调用时,可以忽略包含默认值的元素,这指的是value元素,如: @MyAnnotation( name="Jakob", age=37, newNames={"Jenkov", "Peterson...阅读全文

博文 2013-03-02 08:04:55 CSDN博客

谷歌元老施密特隐退:传奇落幕 新篇开启

前谷歌 CEO ,现谷歌母公司 Alphabet 董事会执行主席埃克·施密特(Eric Schmidt)将卸任,这位一手将谷歌从一个两百名员工的小公司拉扯成世界科技巨头的功臣终于“退休”了。可能有些朋友就问了,他是谷歌创始人吗?真有这么高的地位?可能真正了解施密特和谷歌的人并不多,或许今天我们应该来聊聊这家和我们熟悉又陌生的公司。 施密特并非谷歌创始人 首先,施密特是谷歌创始人吗?他并不是,谷歌的创始人只有两个:谢尔盖·布林(Sergey Brin)和拉·佩奇(Larry Page),但是当我们提起施密特时,总会说“没有他就没有谷歌”。如此高的评价也能够体现他对谷歌的重要性了,你看即使库克非常给力,也不会有人说没有库克就没有苹果,大家都知道苹果的灵魂人物只有乔布斯。 言归正传,施密特作...阅读全文

博文 2017-12-24 09:18:44 debian.cn

树莓派 9 周年:你不知道的树莓派冷知识

作为最成功的微型计算机,开源的树莓派(Raspberry Pi)在技术圈和学术界一直广受编程爱好者的好评,各路大神基于树莓派制作的新奇设备层出不穷,围绕这款微型计算机已经形成了一种独特的 DIY 文化,相关的开源软件生态也十分丰富。 ​树莓派最初是剑桥大学计算机系的一个实验性项目,创始人 Eben Upton 召集了一群教师、学者和计算机爱好者,希望设计出一种能激励儿童参与编程的小型计算机。这个计算机的灵感来自 1981 年 Acorn 公司的 BBC Micro 计算机。第一台树莓派 ARM 原型机安装在一个与 USB 记忆棒大小相同的盒子,它的一端是 USB 端口,另一端是HDMI 端口。2012 年 2 月 29 日,首批树莓派正式发售,定价为 35 美元。 根据树莓派官方统计的数...阅读全文

博文 2021-03-11 17:03:55 diablo4

SVN切换分支用法汇总

new_URL 该命令的作用是将版本库中的old_URL目录重命名为new_URL。这个操作如果已经提交到版本库就意味着旧目录不存在了,新目录被创建,并且历史记录中会出现重命名的信息。三、SVN切换分支操作步骤下面为大家介绍一下,如何使用SVN进行切换分支的操作。这以Windows环境下的操作为例,其他系统只需要将命令替换为对应系统的命令即可。1. SVN环境配置在使用SVN前,需要先进行环境配置。具体步骤如下:Step 1:下载SVN客户端。下载地址:https://tortoisesvn.net/downloads.html,选择对应的系统版本即可。Step 2:安装SVN客户端。双击下载后的安装程序,根据指示进行安装。Step 3:配置环境变量。进入系统变量中,将SVN安装路径添加到Path变量...阅读全文

博文 2023-06-09 14:22:35 infras

百度运维工程师挖矿实录:四个月用155台服务器挖矿赚10万判3年

余台服务器下载了挖矿脚本。 而挖矿脚本可以把百度公司的运算资源上传到哈希网站,哈希网站通过其上传的运算资源挖取门罗币,最后根据其上传运算资源的多少,以比特币的方式向其结算。 最后,从哈希网站将比特币提现到 otcbtc.com 网站,通过这个网站将比特币卖了约 10 万元人民币。目前在哈希网站的钱包,还存有约 1.44 个比特币,在 otcbtc.com 网站还存有大概 1.5 个比特币。以现在的币价来算,1.44 个比特币相当于人民币 5 万元,结合 2018 年的币价,这样算下来,其实“安某”也不过挖了 5 个左右的比特币,并不算多。 用网友的话来说:“155 个服务器,获利 10 万,这手段着实不甚高明”。 百度损失 2.7 万,“安某”获三年牢狱之灾 2018 年 6 月初,在安...阅读全文

博文 2020-03-17 20:42:41 debian.cn

Spinnaker 介绍 – Netflix 的持续交付平台

然避免不了,为了更加从容的应对这些故障,就搞了一个工具 Chaos Monkey 会随机停止生产环境中的虚拟机,通过观察系统在真实故障中的表现来确保程序的健壮性,也通过实战来验证各种高可用技术是否靠谱。接着冒出了 Chaos Gorilla,会停止一整个可用域中的所有机器;最后还有Chaos Kong,直接停掉一整个 Region,非常有挑战精神(丧心病狂)。 为了更好的观察系统在故障时的情况,还研发了全局可视化系统,代号 Flux,可以将整个系统的逻辑架构和各服务之间的流量可视化在大屏幕上,效果图如下: 他们每个月有一个活动:将一个 Region 的机器全部关掉,看 Netflix 服务是否正常。有兴趣看视频的可以移步这。 另外,Netflix 除了云服务,还有自建CDN,即 Open...阅读全文

博文 2018-12-21 19:30:47 debian.cn

使用 MongoDB 之前应该知道的 14 件事

MongoDB 是一个多租户系统,它会尽可能地占用内存,因此最好是安装在服务器上,最大限度地提供内存,即使是开发工作。在服务器上使用默认端口安装而不启用身份验证是在自找麻烦,尤其是可以在查询中运行任意 JavaScript 时(例如把$where 作为注入攻击的载体)。 身份验证方法有多种,但是用户 ID/密码凭证最容易安装和管理。当你考虑 基于 LDAP 的身份验证 时,可以采用那个方法。在我们谈论安全时,MongoDB 必须保持最新,而且,在日志查找未授权访问的迹象总是值得的。我不喜欢使用默认端口。 忘记限制 MongoDB 的攻击面 MongoDB 的 安全检查清单 为降低网络渗透和数据泄露风险提供了很好的建议。我们很容易会认为,开发服务器不需要高等级的安全。不是这样的:安全对于所有...阅读全文

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

的灵感有一部分也来自于 Linux。 事实上 Debian 的子任务思路就是继承了 Linux 的理念。有些人负责写文件系统,有些人负责写驱动程式。就算你不过是路人甲,你要是给 Linux 编写一套新的文件系统然后发给 Linus,说不定就你写的东西就真的被采用了。 所以我希望 Debian 的用户也能够毫无顾忌地给我们提意见,比如「嘿你知道吗,我觉得在 Debian 的系统加这个软件包会超赞的。」我觉得这是件大好事,因为只要跟着我们发布的系统模型走,用户是完全有可能开发出自己的软件包的。而且如果你遵循我们的指南和标准,那你的软件包在我们的系统上运行应该不成问题。 Deb-Ian 这个名字的来源想必已是众所周知的了;Murdock 在 1999 年告诉我, 我妻子叫 Deb,我叫 Ian...阅读全文

博文 2021-01-28 17:50:13 debian.cn

三个技巧 大幅减少 Docker 镜像体积

> /bin/sh -c #(nop) CMD ["bash"] 0B /bin/sh -c #(nop) ADD file:1dd78a123212328bd… 123MB 但实际上,生成的镜像多了五个新层:每一个层对应 Dockerfile 的一个语句。 现在,让我们来试试 Docker 的多阶段构建。你可以继续使用与上面相同的 Dockerfile,只是现在要调用两次: FROM node:8 as build WORKDIR /app COPY package.json index.js ./ RUN npm install FROM node:8 COPY --from=build /app / EXPOSE 3000 CMD ["index.js...阅读全文

博文 2018-09-06 10:50:29 debian.cn

深入理解Golang之context

?其实可以想象一颗树,树的每个节点可能携带一组键值对,如果当前节点上无法找到key所对应的值,就会向上去父节点找,直到根节点,具体后面会说到。再来看看context包中的其他关键内容。emptyCtxemptyCtx是一个int类型的变量,但实现了context的接口。emptyCtx没有超时时间,不能取消,也不能存储任何额外信息,所以emptyCtx用来作为context树的根节点。// An emptyCtx is never canceled, has no values, and has no deadline. It is not // struct{}, since vars of this type must have distinct addresses. type...阅读全文

博文 2021-01-27 09:05:27 知乎

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

最近的互联网线上事故发生比较频繁,9月19日网上爆料出顺丰近期发生了一起线上删库事件,在这就不介绍了。 这分享一下最近发生在我公司的事故,以及如何避免,并且如何处理优化。 该宕机的直接原因是使用 Redis 的 keys * 命令引起的,一共造成了某个服务化项目的两次宕机。 间接原因还有很多,技术跟不上业务的发展,由每日百万量到千万级是一个大的跨进,公司对于系统优化的处理优先级不高,技术开发人手的短缺。 第一次宕机 2018年9月13日的某个点,公司某服务化项目的 RDS 数据库实例连接飙升,CPU 升到 100%,拒绝了其他应用的所有请求服务。 整个过程如下: 监控报警,显示RDS的CPU使用率达到80%以上,DBA介入,准备KILL慢SQL 1分钟内,没有发现明显阻塞的SQL...阅读全文

博文 2018-10-27 10:18:18 debian.cn

Hadoop 核心 - HDFS 分布式文件系统详解

(NameSpace) HDFS 支持传统的层次型文件组织结构。用户或者应用程序可以创建目录,然后将文件保存在这些目录。文件系统名字空间的层次结构和大多数现有的文件系统类似:用户可以创建、删除、移动或重命名文件。 Namenode 负责维护文件系统的名字空间,任何对文件系统名字空间或属性的修改都将被 Namenode 记录下来。 HDFS 会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data。 4. NameNode 元数据管理 我们把目录结构及文件分块位置信息叫做元数据。NameNode 负责维护整个 HDFS 文件系统的目录树结构,以及每一个文件所对应的 block 块信息(block 的...阅读全文

Go1.16 新特性:一文快速上手 Go embed

:go:embed helloworld/*。 总的来讲,Go1.16 embed 特性很好的填补了 Go 语言在打包静态文件资源的一块原生空白领域。同时也说明了 Go 官方的确在不断地吸收社区的一些良好的想法和经验。 分享 Go 语言、微服务和奇怪的系统设计 ???? 长按关注煎鱼,在知识的海洋遨游 学习资料分享,关注公众号回复指令: 回复【000】,下载 LeetCode 题解大全。回复【001】,下载 Go 进阶图书 Mastering Go。...阅读全文

博文 2021-02-17 08:44:12 CSDN

Linux:为什么那么多人讨厌 Systemd

,你几乎不能更改init系统。然而对大多数不深入sysadmining的用户来说,使用哪个init系统并不重要。 当然,每个经验丰富的Linux用户都有自己的看法。这就不一一列举出来了,Linux社区充满了很多精通技术的开发人员,他们对Linux应该如何发展和成长有着自己的意见。这些观点大多数是不相关的,取决于具体的工作需求。即便很多人投诉systemd,但却没有更完美的替代品出现,这也是systemd迅速扩张的原因。 我发现systemd单元和服务文件很容易维护,更重要的是,它可以很容易地转让给别人。systemd的拥护者给出了支持其的原因,比如很稳定,有一个容易的可配置的方式管理服务,也有一些中立人士不强烈反对systemd,但它的扩展速度实在令人担忧。它接管了很多不需要任何修复的功能...阅读全文

为何 Kubernetes 如此受欢迎?

和容器成为最重要的要求。这时已经运行基于容器的基础设施已经多年的 Google 大胆地决定开源一个名为 Borg 的项目。Borg 系统是运行诸如 Google 搜索和 Gmail 这样的 Google 服务的关键。谷歌决定开源其基础设施为世界上任何一家公司创造了一种像顶尖公司一样运行其基础架构的方式。 最大的开源社区之一 在开源之后,Kubernetes 发现自己在与其他容器管理系统竞争,即 Docker Swarm 和 Apache Mesos。Kubernetes 近几个月来超过这些其他系统的原因之一得益于社区和系统的支持:它是最大的开源社区之一(GitHub 上超过 27,000 多个星标),有来自上千个组织(1,409 个贡献者)的贡献,并且被集中在一个大型、中立的开源基金会,即...阅读全文

博文 2017-11-07 23:58:26 debian.cn

Facebook 是如何进行大规模代码部署的

Facebook 高速发展的 2007 年到 2016 年,他们一天部署 3 次代码,cherry-pick 集齐成千上万个 commit;现在使用类似持续交付的方法,每个 commit 能自动部署到 production。公司有很多员工、很多用户的好处:新代码让公司所有员工先用上,因为员工数足够多,能很快发现问题;然后让 2% 的访问量用上新代码,最后慢慢增加到 100% 的访问量。 不久前有篇关于缩短 Facebook 发布流程的文章,阐述了将代码投入生产的灵活方法。这篇文章着重讲述了他们在一年之内如何从“ cherry-picking ”升级到“ push-from-master ”策略。早些时候, Facebook 也分享了他们部署过程的细节。作者 Chuck Rossi 是...阅读全文

博文 2017-10-31 14:05:20 debian.cn

JDK 11 版本时间表公布

最近有一些关于新版本发布周期的讨论。 Thymeleaf 的创始人兼首席开发人员 Daniel Fernández 最近发推文: 2016 年:“Java 命中注定!它发展得如此之慢!每一个好想法都需要很长时间才能实现!” 2018 年:“Java 命中注定!它发展得太快了!没有人能跟得上!” 对 Fernández 的推文有一些有趣的回应,包括: “Kotlin?” “2020 年将会发生什么?Java 命中注定!没有它,我就无法过好我的生活!Java 在我家随处可见,这个小咖啡杯究竟有什么威力,为什么它可以控制我的家,包括我的身体。” “Java 命中注定,因为他们专注于完整性而不是简单性。” “我们从中得到的教训是,变化不如过渡本身那么重要……事实上,这似乎是人生和计算机科学中一再出...阅读全文

博文 2018-04-27 08:33:08 debian.cn

Stackstorm 入门介绍

一句话概况:stackstorm是一个事件驱动的自动化引擎。StackStorm 是一坨功能强大的开源自动化平台,可将通过使用插件封装API的方式,将所有应用程序,服务和工作流程连接起来。这的所有包括了目前我们常用Gitlab、Zabbix、ELK、AWS 等服务。 Stackstorm 具有很好的可扩展性,灵活性,完美支持 ChatOps 和全操作的API实现。通过Stackstorm 可以将您现有的基础架构和应用程序环境联系在一起,以便您可以更轻松地自动化操作该环境。它特别专注于针对事件采取行动。 便利的故障排除 - 触发由Nagios,Sensu,New Relic和其他监控系统捕获的系统故障,在物理节点、OpenStack或Amazon实例和应用程序组件上运行一系列诊断检查,并将...阅读全文

Go 1.16 即将发布,这些变更你需要知道

泛型又近了一步。 另外在本次新版本中,像是 template 支持跨行: {{"hello" | printf}} 又或是 Linux 的默认内存管理策略下又从 MADV_FREE 改回了 MADV_DONTNEED 策略,大家在新版本中不再需要设置: GODEBUG=madvdontneed=1 大家若有需求都可以进一步去了解,现在新版本的功能特性已经锁定,基本尘埃落定。 传送门:https://tip.golang.org/doc/go1.16。 分享 Go 语言、微服务和奇怪的系统设计 ???? 长按关注煎鱼,在知识的海洋遨游 学习资料分享,关注公众号回复指令: 回复【000】,下载 LeetCode 题解大全。回复【001】,下载 Go 进阶图书 Mastering Go。...阅读全文

博文 2021-02-17 08:52:12 CSDN博客

Systemd 及 Service 文件含义解析

/httpd.service.d/),然后放入 *.conf文件,其中可以添加或重置参数。这设置的参数优先级高于原来的单元文件。 例如,如果想添加一个额外的依赖,创建这么一个文件即可: /etc/systemd/system/.d/customdependency.conf ``` [Unit] Requires=<新依赖> After=<新依赖> ``` 然后运行以下命令使更改生效: ``` # systemctl daemon-reload # systemctl restart <单元> ``` 此外,把旧的单元文件从 /usr/lib/systemd/system/ 复制到/etc/systemd/system/,然后进行修改,也可以达到同样效果。 `systemctl enable <单元>` 在...阅读全文

博文 2021-02-17 10:02:50 joseph

Debian 使用VSFtpd安装配置架设FTP服务器

指屏蔽文件的022权限,到底屏蔽了什么?将这个八进制数用二进制表示 000010010 换算成字母是 —-w–w- 指取消组的写权限、取消其它用户的写权限。 屏蔽这些权限后,剩下什么权限呢?用字母表示是: rwxr-xr-x 用二进制数表示是: 111101101 你可以对比一下 000010010 可以知道屏蔽前后的换算关系。 在vsftpd的配置文件中,umask=022表示了上权后的文件被屏蔽的权限,另一句话说,就是上传的文件所具有的权限。 本文转自这。...阅读全文

博文 2021-01-28 17:50:09 debian.cn

开源软件对于商业机构的6大好处

从根本上说,开源模式要由于专有模式,为什么这么说呢?下面总结了商业机构及政府机构可以从开源软件中获得的六大好处。 1、能更直观的选择供应商 在你投资工程和经济资源将产品整合到你的基础设施之前,需要确保产品的合格性:是否处于积极开发状态?是否有定期的漏洞修复和安全更新?产品是否能根据需求按时更新? 最后一点或许比你想象的还要重要。解决方案必须满足产品需求。但需求会随市场及商业的变化而变化,如果产品不随之做出改变,未来就需要花费一笔不菲的迁移成本。 而在开源的世界,你可以综合产品的发展速度以及社区的健康程度来比较供应商。一个更积极、更多元化的社区能在一两年后开发出更好的产品,这是一个关键的参考因素。当然,供应商必须要有能力解决在项目发展过程中出现的不稳定性问题。最后,还需要供应商具备较长的支...阅读全文

博文 2017-11-15 23:41:11 debian.cn

3个 Linux 命令让你看起来很忙:摸鱼的技巧

到的最常见的工具之一是 Nmap,这是一个开源的安全扫描器。事实上,它在好莱坞电影中常常被用作在屏幕上演示黑客行为的工具,很多电影,从《Matrix Reloaded》重装到《The Bourne Ultimatum》、《The Girl with the Dragon Tattoo》,甚至《Die Hard 4》面也用到了它。 当然,你可以创建自己的组合,使用诸如 screen 或 tmux 之类的终端多路复用器来启动你希望的任何程序,显示你想要的数据。 那么,你是如何让你的电脑看起来很忙的呢?...阅读全文

博文 2019-09-28 15:48:43 debian.cn

AD:为什么说 CoinEx 是一家很有潜力的数字货币交易所?

时代已经到来,这也是为什么对应公链的代币,币价一直在稳定增长。 相比于 CoinEx 平台的优势,当前的 CET 虽然比较已有增长,当人处于低估状态。在群雄争霸的币圈江湖凿出登顶之路。那你们觉得这波牛市中CET会是一个百倍币吗? 快速注册 CoinEx 交易所: [http://cet.im](http://cet.im) (本地址仅为方便记忆,做跳转用。注意官方网站为 coinex.com 和 coinexweb.com )...阅读全文

如何在 Debian 中安装 DHCP 服务器

。 4、 现在打开并修改主文件,定义 DHCP 服务器选项: $ sudo vi /etc/dhcp/dhcpd.conf 在文件顶部设置以下全局参数,它们将应用于下面的所有声明(请指定适用于你情况的值): option domain-name "tecmint.lan"; option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan; default-lease-time 3600; max-lease-time 7200; authoritative; 5、 现在定义一个子网,这我们为 192.168.10.0/24 局域网设置 DHCP (请使用适用你情况的参数): subnet 192.168.10.0 netmask...阅读全文

博文 2021-01-28 17:50:25 debian.cn

Linux 27周年:这27件有趣的事实你可能不知道

咬伤。 7、Linux 完全统治超级计算机。截至2018年,世界上最快的 500 个超级计算机 100% 运行 Linux 。 8、Linux 开发社区非常活跃。据统计,在过去 15 个月,Linux Kernel 以平均每小时 7.8 个补丁的速度被合并。 9、 Linux 早期以 MINIX 操作系统为原型,导致 Linus 采用类似于 Minix 的文件系统布局来实现他的新兴项目。之后由于被证明效率低下,Linus 采用“扩展文件系统”(ext)取代它,至今仍在使用。 10、Linux 1.0 于1994年3月14日发布,共包含 176,250 行代码。2.0 版本紧随其后,于1996年发布。 11、Linux 正运行在从智能手机到服务器,再到潜艇和太空火箭等大量事物上。 12、乔布...阅读全文

如何校验 Debian 软件包的 MD5

/acpid OK /etc/init/acpid.conf OK /etc/default/acpid OK ... 下一步,如果想在debsums的输出中只显示变化的文件,请使用-c或--changed选项。我在自己的系统中没有找到任何变化的文件。 $ sudo debsums --changed 下一个命令输出没有md5sum信息的文件,这我们使用-l和--list-missing选项。在我的系统上,该命令没有显示任何文件。 $ sudo debsums --list-missing 现在只要指定名称,就可以校验单一软件包的md5和: $ sudo debsums apache2 校验已安装软件包的MD5和: /lib/systemd/system/apache2.service.d...阅读全文

博文 2021-01-28 17:50:18 debian.cn

十条关于 WordPress 安全性的小贴士

: 可以编写和管理自己的帖子但不能发布的人 这些角色都不能授权配置 WordPress 或安装插件的权限。 7. 限制 IP 地址访问 如果你有几个具有静态 IP 地址的编辑器,则可以通过向 wp-admin 文件夹添加另一个 .htaccess 文件来限制访问: order deny, allow allow from 1.2.3.4 # user 1 IP allow from 5.6.7.8 # user 2 IP, etc deny from all 8. 隐藏 WordPress 版本号 某些版本的 WordPress 存在已知的漏洞。任何人也都可以轻松发现你正在使用的版本,因为它显示在每个页面的 HTML 标签面。通过在主题的 functions.php 文件中添加下...阅读全文

博文 2021-01-28 17:50:29 debian.cn

为什么 Django 能持续统治 Python 开发世界

码的困境结束,从而实现更快的开发。 简而言之,Web框架可以简化Web开发。 如果您想深入了解Web框架及其优点,请点击此处。 为什么Django是Python开发者的最佳选择 Django是一个Python编写的,高级的,MVC风格的开源库。 Django也被称为“完美主义者的最终框架”,它最初是为新闻网站设计的,因为它允许开发人员编写数据库驱动的Web应用程序,而无需从头开始编码。 除了更快完成常见的Web开发任务,Django还可以保持设计干净且实用。 Django是Python Web开发新人的最佳选择,因为官方文档和教程是几个(同类)软件开发框架中最好的。 技术市场充斥着一系列网络框架,但Django在最受欢迎的服务器端Web框架处于顶峰位置。设计Django背后的座右铭很简单...阅读全文

博文 2017-07-21 14:15:11 debian.cn

十个增加 Linux Shell 脚本趣味的小工具

"rsnapshot done :)" 输出: 下面是一个复杂一点的例子: .... alert=18000 live=$(lynx --dump http://money.rediff.com/ | grep 'BSE LIVE' | awk '{ print $5}' | sed 's/,//g;s/\.[0-9]*//g') [ $notify_counter -eq 0 ] && [ $live -ge $alert ] && { notify-send -t 5000 -u low -i "BSE Sensex touched 18k"; notify_counter=1; } ... 输出: 这的参数解释如下: -t 5000:指定超时的时间,毫秒 -u low:设置是否紧急 -i gtk...阅读全文

博文 2018-04-09 09:38:50 debian.cn

Terraform 学习总结 — Terraform 简介

Terraform Terraform 的安装非常简单,直接把官方提供的二进制可执行文件保存到本地就可以了。比如笔者习惯性的把它保存到 /usr/local/bin/ 目录下,当然这个目录会被添加到 PATH 环境变量中。完成后检查一下版本号: 通过 -h 选项我们可以看到 terraform 支持的所有命令: 在 Azure 上创建一个 Resource Group 要让 Terraform 访问 Azure 订阅中的资源,需要先创建 Azure service principal,Azure service principa 允许你的 Terraform 脚本在 Azure 订阅中配置资源。请参考这创建 Azure service principal。 配置 Terraform 环境变量 若要配置...阅读全文

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

发行版)。该版本引入了一系列新功能,包括对多平台项目的实验性支持 —— 允许开发者在针对 JVM 和 JavaScript 的模块之间共享代码,以及多项对语言方面的改进 —— 包括支持在注释中使用数组字面量。更多关于 1.2 版本新功能的内容,点此查看。 此外,值得关注的就是协程这个特性了。虽然协程仍然被标记为实验性状态,但官方特意说明了这“实验性”代表的含义。官方表示协程已经完全准备好用于生产环境,他们也已使用协程进行开发,而且也没发现在使用当中出现任何重大问题。之所以仍保持实验性状态,是为了能够对 Kotlin 继续进行设计迭代。根据目前的计划,Kotlin 1.3 将会删除协程的实验性状态。 Kotlin/Native 对 iOS 开发的支持 另外一个重大消息就是 Kotlin...阅读全文

博文 2017-11-05 19:28:14 debian.cn

Linux 容器 vs 虚拟机 — 谁更胜一筹

VirtualBox 和 VMware 很好地代表了桌面到服务器虚拟化的两个领域。 Linux 容器 vs 虚拟机 – 赢家是? 在决定容器还是虚拟机之前,请考虑以下事项。如果你选择容器,但你完全可以 在虚拟机上运行容器 。了解这一点很重要,因为这没有明显的赢家或输家。事实上,这两种技术的需求完全不同。 容器将引起媒体的持续关注,因为它们让用户用更少的硬件更高效地运行。在另一方面,虚拟机仍然是服务器和云空间的主要内容。 我认为值得一看的是 Kubernetes 和 Docker Swar 之间的事情。我认为看看这两种容器管理技术是如何发挥作用的,以及哪种技术会成为标准。有一段时间,感觉好像是 Docker。然而现在,Kubernetes 占据了更多的营地。可能随着时间的推移,我们将开始看到...阅读全文

博文 2017-11-25 10:23:56 debian.cn