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

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

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

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

Node.js Vs. PHP:你应该选择哪一个

PHP 是一种编程语言,Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js VS PHP,哪一方可以赢得这场战争取决于你构建的网站类型。比方说,如果你想构建一个实时的聊天应用程序,那么选择 Node.js 是明智的,因为它可以轻松处理大量的客户端请求。但是,这并不意味着PHP 不可以,请看完 Node.js VS PHP 后再决定用谁构建你的网站。 1.性能: 在性能方面,Node.js 显然赢了这一局。由于 Node.js 遵循事件驱动的非阻塞I/O模型,与传统的后端技术相比,Node.js 能够处理大量的服务器请求。PHP 遵循一个阻塞模型,其中在服务器端创建多个线程来处理多个客户端请求,如果代码没有被优化,它会导致高服务器负载和响应时间...阅读全文

博文 2017-12-23 23:15:39 debian.cn

一位资深Java架构师的晋级心得

师之前,应当先成为Java工程师。熟练使用各种框架,并知道它们实现的原理。jvm虚拟机原理、调优,懂得jvm能让你写出性能更好的代码;池技术,什么对象池,连接池,线程池……Java反射技术,写框架必备的技术,但是有严重的性能问题,替代方案java字节码技术;nio,没什么好说的,值得注意的是"直接内存"的特点,使用场景;java多线程同步异步;java各种集合对象的实现原理,了解这些可以让你在解决问题时选择合适的数据结构,高效的解决问题 成为Java架构师,需要掌握哪些技能呢? 1.框架源码分析 设计模式:Singleton单例模式,Factory工厂模式,Proxy代理模式,Template模板模式,Prototype原型模式等Spring5:Spring提醒结构,IOC注入原理,AOP设...阅读全文

博文 2019-01-13 22:49:22 debian.cn

Redis 6.0.0 GA已正式发布

Redis 6 是有史以来改变最大的 Redis版本,因此即使稳定,也要小心处理,并在投入生产之前对其进行测试,以进行工作量测试。到目前为止,我们从未发现重大问题,但请务必小心。在收集错误报告时,我们将准备尽快发布Redis 6.0.1。 变化如下:除了稳定性之外,RC1和今天之间还有什么变化? 1. 在某些方面对客户端缓存进行了重新设计,尤其是放弃了缓存插槽方法,而只使用键名。在分析了替代方案之后,在其他Redis核心团队成员的帮助下,这种方法最终看起来更好。除此之外,尤其是“广播模式”,我相信它将成为该功能最流行的使用模式之一。 使用广播时,服务器不再尝试记住每个客户端请求的密钥。相反,客户端订阅密钥前缀:每当与该前缀匹配的密钥被修改时,它们就会收到通知。这意味着可广播更多消息(但仅适...阅读全文

博文 2020-05-01 09:15:09 debian.cn

Systemd 及 Service 文件含义解析

/etc/systemd/system/ 目录中的单元文件的优先级总是高于 /usr/lib/systemd/system/ 目录中的同名单元文件。注意,当/usr/lib/ 中的单元文件因软件包升级变更时,/etc/ 中自定义的单元文件不会同步更新。此外,你还得执行 systemctl reenable ,手动重新启用该单元。因此,建议使用前面一种利用 *.conf 的方法。 可以使用 journalctl 来查看 systemd 管理服务的启动日志: ``` journalctl -b -0 # 显示本次启动的信息 journalctl -b -1 # 显示上次启动的信息 ``` 参考阅读 ArchLinux 的 Systemd (简体中文) 文档:https...阅读全文

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

团队激励的八大方法,让你的团队成员更加高效地达成目标

激励是指激发人的行动动机的心理过程,是一个不断朝着期望的目标前进的循环的动态过程。简言之,就是在工作中调动人的积极性的过程。激励是对人的一种刺激,是促进和改变人的行为的一种有效的手段。激励的过程就是管理者引导并促进工作群体或个人产生有利于管理目标行为的过程。每一个人都需要激励,在一般情况下,激励表现为外界所施加的推动力或吸引力,转化为自身的动力,使得组织的目标变为个人的行为目标,促进团队合作的的动力,使企业更高效的达成既定目标!团队激励的八大方法1、为团队成员设立共同的奋斗目标依照激励理论,共同的奋斗目标是调动全体团队成员积极性的利器,这个目标必须是可衡量的和可实现的。人的动机与行为都有一定的目的性,而建立明确的目标,就能有效地激发和引导人们的动机,鼓舞和激励人们采取积极的方法去努力奋斗...阅读全文

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

择合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的跳板机上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文

博文 2023-01-06 07:54:36 joseph

The Bitter Lesson - Rich Sutton

the appeal of these mistakes. We have to learn the bitter lesson that building in how we think we think does not work in the long run. The bitter lesson is based on the historical observations that 1) AI researchers have often tried to build knowledge into their agents, 2) this always helps in the short term, and is personally satisfying to the...阅读全文

博文 2024-08-21 09:29:09 joseph

谷歌公开了内部管理Infra层的两个工具的Paper

系统的很大一部分现在已经有了这样的预期状态抽象层,而不再依赖工作流的状态——这是一个广泛影响业界的趋势。 — 1 — 术语 运行一个现代化的服务有很多必要部分。特别在谈论基础架构即服务时,有些术语很混乱。比如,谁是“用户”?人还是使用基础架构的服务?还是终端用户?或者别的什么? 图1展示了本文所设计的各个参与方: 图1:围绕“服务”的术语 服务是某个团队想要运行的面向用户的系统,比如Gmail或者Map。服务由多个内部子服务组成——比如,Gmail服务的检测垃圾邮件的服务仅仅是组成Gmail的众多服务之一。 为了帮助解释本文的观点,我们会提到Shakespeare服务[1]的服务器部分,这是一个假象的服务,如图2所示。 图2:简单的Shakespeare服务,LB是“负载均衡器” 这个服务是...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

地化工作也是做得非常到位,而凭借着架构简单,开箱即用的特点,CAT 也是我们得物使用的第一个应用监控系统。 二、 0x01 第一阶段 从0~1基于CAT的实时应用监控 在得物五彩石项目交付之前,系统仅有基础设施层面的监控,CAT 的引入,很好地弥补了应用监控盲区。它支持提供各个维度的性能监控报表,健康状况检测,异常统计,对故障问题排查起到了积极推动的作用,同时也提供简单的实时告警的能力。 CAT 拥有指标分钟级别的聚合统计的能力,从 UI 上不难看出,它拥有丰富的报表统计能力和问题排障能力。 但随着公司业务规模逐步扩大,微服务粒度也不可避免地变小,我们发现,CAT 已经逐步无法满足我们的使用场景了: 无法直观呈现全链路视图: 问题排障与日常性能分析的场景也越来越复杂,对于一个核心场景,其内部...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

Python的闭包和装饰器

什么是装饰器? 装饰器(Decorator)相对简单,咱们先介绍它:“装饰器的功能是将被装饰的函数当作参数传递给与装饰器对应的函数(名称相同的函数),并返回包装后的被装饰的函数”,听起来有点绕,没关系,直接看示意图,其中 a 为与装饰器 @a 对应的函数, b 为装饰器修饰的函数,装饰器@a的作用是: 简而言之:@a 就是将 b 传递给 a(),并返回新的 b = a(b) 栗子: 上面使用@dobi来表示装饰器,其等同于:qinfeng = dobi(qinfeng)因此装饰器本质上就是个语法糖,其作用为简化代码,以提高代码可读性,运行上段代码的结果为: 解析过程是这样子的: 1.python 解释器发现@dobi,就去调用与其对应的函数( dobi 函数) 2.dobi 函数调用前要指...阅读全文

博文 2014-07-23 17:06:38 debian.cn

Linux 系统 vim 编辑器使用简明教程

vi(vim)是上Linux非常常用的代码编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是“visual interface”的缩写,vim是vi IMproved(增强版的vi)。在一般的系统管理维护中vi就够用,如果想使用代码加亮的话可以使用vim。 基本上vi可以分为三种状态,分别是命令模式(command mode)、输入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下: 1) 命令模式(command mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式、底行模式下。 2) 输入模式(Insert mode) 只有在输入模式下,才可以...阅读全文

博文 2015-07-25 16:33:04 debian.cn

Debian 成为主流 Linux 操作系统的七个原因

长足发展,戳穿了它很难安装这个流言。目前的安装程序是市面上最灵活的安装程序之一。如果你接受默认设置、安装它建议的一群软件包,它就会进行安装,安装时间与Fedora的Anaconda大致一样。然而如果你自行选择,安装和选择一个个软件包所花的时间要长得多。这就是为什么率先推出快速安装程序的Ubuntu建议使用快速解决问题的Debian安装程序版本。 1.Debian社区 除了技术方面外,Debian还拥有免费软件领域最庞大、最创新的社区之一。该项目的邮件列表上热烈地讨论政策和技术选择;重大问题在Debian维护人员当中进行投票表决,包括谁是下一任项目负责人。所有投票取决于Condorcet方法,这是最公正的表决方法之一。在过去,该社区常常不欢迎女性,但这种情况在改善;总体上来讲,Debian在力...阅读全文

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

2016年Linux领域的十条大新闻,你关注了吗?

虽然2016年内Linux在桌面领域并没什么大动作,但作为开源运动的绝对代表,它依然给我们带来一系列大新闻。本文列出了2016年Linux领域的十条大新闻,赶紧看看是不是你关注的。 虽然2016年内Linux在桌面领域并没什么大动作,但作为开源运动的绝对代表,它依然给我们带来一系列大新闻。下面一起来看。 1. Linux迎来25岁生日 岁月如梭,25年前Linus Torvalds向comp.os.minix Usenet小组宣称,他正在“为386(486)AT克隆机开发一款自由操作系统(只是种爱好,不会像GNU那种庞大且专业)。”自1991年开始,Linux的发展速度远远超出了Torvalds的想象。各类规模的企业都在使用Linux,而Linux也支撑着各类计算机、移动设备乃至联网硬件...阅读全文

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

你应该选择Cinnamon作为Linux桌面环境的十个理由

Cinnamon 桌面 Cinnamon目前的最新版本为3.2。Cinnamon可用于多种发行版,其中包括Debian、Arch、Gentoo、Mint、Fedora以及OpenSUSE等。 使用Cinnamon的理由 1. 集成度。桌面的选择与应用可用性并无关联。事实上,我所用过的任何应用都能够在任意桌面环境中运行良好,Cinnamon自然也不例外。不过,Cinnamon确实能够为各类面向KDE与GNOME乃至任何其他桌面编写的应用提供全部必要库,且带来良好的无缝化体验。 2. 外观。Cinnamon拥有清晰、简洁的外观设计,且字体与颜色组合适于阅读。大家可以通过System Settings -> Desktop菜单轻松完成图标显示设置,也能够借此指定桌面图标应该仅显示在主显示器上、副显示器上或者同时...阅读全文

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

改善 Debian Linux 软件包管理的七款工具

动安装升级的软件包,或者如果没有看到问题,只需借助apt-get dist-upgrade来升级。 1. apt-listbugs 通常,通过看看某软件包在Debian的“稳定”代码库、“测试”代码库还是在“不稳定”代码库,就可以判断其可靠性。然而,Debian衍生版常常缺少这种指引,拥有最新的信息始终是明智的。 apt-listbugs从Debian缺陷跟踪系统显示了软件包的最新信息。结果可按优先级来过滤,让你可以选择风险级别。用apt-get安装前先运行它,对于尽量减少系统上的问题大有帮助,如果你深入“不稳定”或“试验型”软件包代码库,更是如此。 选择工具 上述工具没有一款对Debian软件包管理来说是绝对必不可少的。许多用户只需用apt-get就能轻松搞定,偶尔使用dpkg清除系统上的...阅读全文

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

漫画赏析:Linux 内核到底长啥样

鹅,它表示着 PID 为 421 的进程,它正在查看文件柜中的文件,这代表系统中正有一个进程在访问文件系统。在右下角有一只小狗,它是看门狗,这代表对文件系统的监控。 一层(地面层) floor 看完了地基,接下来我们来看地基上面的一层,都有哪些东西。 Process Table 在这一层,最引人瞩目的莫过于中间的一块垫子,众多小企鹅在围着着桌子坐着。这个垫子的区域代表进程表。 左上角有一个小企鹅,站着,仿佛在说些什么这显然是一位家长式的人物,不过看起来周围坐的那些小企鹅不是很听话——你看有好多走神、自顾自聊天的——“喂喂,说你呢,哇塞娃(171),转过身来”。它代表着 Linux 内核中的初始化(init)进程,也就是我们常说的 PID 为 1 的进程。桌子上坐的小企鹅都在等待状态中,等待工...阅读全文

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

不要光想着价格 QLC 与 TLC 闪存有什么不同

TLC闪存旗鼓相当。 注:每Cell单元存储数据越多,单位面积容量就越高,但同时导致不同电压状态越多,越难控制,导致颗粒稳定性越差,寿命低,利弊都有。 不得不承认,TLC闪存的出现大大提升了SSD的容量,并在一定程度上降低了SSD的价格。不过,依旧没解决SSD价格的难题,大容量SSD仍旧贵。小容量SSD+大容量HDD的存储方案,终究没有单纯大容量SSD来得好。 当QLC 闪存的诞生,也许既廉价又拥有超大容量的SSD,从理想变为现实。 QLC与TLC之间的区别: 1、寿命 前段时间,东芝称其QLC NAND拥有多达1000次左右的P/E编程擦写循环,打破100-150次魔咒,可以与TLC闪存颗粒寿命想媲美。如果真的达到这个标准,那么QLC SSD就能够“理直气壮”进入市场了。 1000次寿命,对于...阅读全文

博文 2017-08-01 09:52:54 debian.cn

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

(简称GA) 我们兴奋地向大家宣布,apps/v1 Workloads API[1]通用版本现在已经默认启用。Apps Workloads API负责将DaemonSet、Deployment、ReplicaSet以及StatefulSet API等整合起来,从而构建起在Kubernetes内长期运行无状态与有状态工作负载的根本性基础。需要强调的是,Batch Workloads API(Job与CronJob)并不在Apps Workloads API的整合范畴之内,未来前者将推出自己的独立通用稳定版。 Deployment与ReplicaSet属于Kubernetes当中使用频率最高的两个对象,根据一年多以来收集到的实际使用与反馈意见,二者的稳定性已经得到极大提高。SIG Apps[2]也...阅读全文

博文 2017-12-17 01:00:00 debian.cn

谷歌开源了代码评审规范:好坏代码应这样来判断

表的不同部分,都会有不同的评审者进行细致的审查。当然如果是结对编程,且你的队友能进行高质量的代码评审,那么这样写的代码一般可以视为已经过评审了。此外,我们也可以进行面对面的评审,评审者会问开发者一些问题。 根据谷歌的项目描述,代码审核规范为两套独立文档组成,代表了两方面内容的最佳实践: 代码评审者的指南CL 作者指南 在其中一些文档中使用了一些术语,如下: CL:表示“变更列表 (changelist)”,意思是已经提交到版本控制或正在进行代码检查的一个独立的更改。其他组织通常称为“改变”或“补丁”LGTM:意思是“在我看来不错 (Looks Good to Me)”,这是代码审阅者在批准 CL 时说的 接下来我们来看看两份文档分别的主要内容是什么: 1. 代码评审者的指南——如何进行代码评...阅读全文

博文 2019-09-10 17:19:13 debian.cn

Kubernetes常用命令大全(持续更新)

nginx RC 创建服务,启用本地 80 端口连接到容器上的 8000 端口 kubectl expose rc nginx --port=80 --target-port=8000 更新单容器 pod 的镜像版本(tag)到 v4 kubectl get pod nginx-pod -o yaml | sed 's/(image: myimage):.*$/\1:v4/' | kubectl replace -f - kubectl label pods nginx-pod new-label=awesome #### 添加标签 kubectl annotate pods nginx-pod icon-url=http://goo.gl/XXBTWq #### 添加注解 kubectl...阅读全文

博文 2020-03-13 12:35:13 debian.cn

Apollo 分布式配置中心详解

等方式已经越来越无法满足开发人员对配置管理的需求。Apollo 配置中心应运而生! Apollo 配置中心功能特点 正是基于配置的特殊性, Apollo 在设计之初就立志于成为一个有治理能力的配置管理平台。当前提供了以下一些特性, 统一管理不同环境、不同集群的配置 Apollo 提供了一个统一界面集中式管理不同环境(environment)、不同集群(cluster)、不同命名空间(namespace)的配置。同一份代码部署在不同的集群,可以有不同的配置,通过命名空间(namespace)可以很方便的支持多个不同应用共享同一份配置,同时还允许应用对共享的配置进行覆盖。 配置修改实时生效(热发布) 用户在 Apollo 修改完配置并发布后,客户端能实时(1秒)接收到最新的配置,并通知到应用程序...阅读全文

博文 2020-04-12 12:16:26 debian.cn

Debian 10使用 Wine 安装配置微信、QQ与TIM

/Program Files (x86)/Tencent/TIM/Bin/TIM.exe,同样右击选择wine打开即可。 题外话,2019年腾讯官方10月24日发布了Linux版QQ(含deb, rpm, pkg.tar.xz, sh版),而到2020年4月1日发布了新版。2020.4.1版修复了一些bug至少能够正常用了,能够输入文字、收发文件。因此wine安装QQ不太必要了,笔者也没有作过多测试研究。微信虽然有网页版,但很多人反映web微信登录不了,并且还没有Linux版微信发布,因此wine微信似乎有用些。...阅读全文

Debian 11 "bullseye" 发布,带来内核 exFAT 支持

经过 2 年 1 个月零 9 天的开发,Debian 11.0 "bullseye" 正式发布了。该版本包括许多重大的变化,并将在未来 5 年内得到支持。Debian 11 支持的计算机架构包括:32 位 PC(i386)和 64 位 PC(amd64)64 位 ARM(arm64)ARM EABI(armel)ARMv7(EABI 硬浮点 ABI,armhf)MIPS(mipsel)64 位 MIPS(mips64el)PowerPC(ppc64el)IBM System z(s390x)这次发布中有什么新变化Debian 的这次发行再次带来了比上一版本 buster 更多的软件;本次发行包括 11294 个新软件包,软件包的总数达到了 59551 个。这个发行版的多数软件包得到了更新...阅读全文

案例: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

RabbitMQ 高可用实现镜像队列

:publish 到镜像队列的所有消息总是被直接 publish 到 master 和所有的 slave 之上。这样一旦 master 失效了,message 仍然可以继续发送到其他 slave 上。 简单来说,镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升 RMQ 集群的整体高可用性。 先来看下设置镜像队列后的效果: 镜像队列会出现+2标识, 1.如何设置队列为镜像队列 有两种方式,通过命令行或者通过 RMQ 的控制面板。 通过命令行设置镜像队列 rabbitmqctl set_policy [-p Vhost] Name Pattern Definition [Priority] -p Vhost...阅读全文

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

阿里巴巴版 JDK 首发 GA 版 生产环境可用

某些测试用例,启动阶段跑分会有 10% 的提高。该特性在阿里巴巴的双 11 抢购场景中得到了大量验证。目前,阿里巴巴正在社区努力推进,希望通过 JEP 的方式将该功能推到上游 OpenJDK 社区。 下图是阿里一个应用在“双十一”期间使用 JWarmUp 时的效果: 说明:图中蓝线是正常启动 (默认开启分层编译),红线是启用 JWarmUp 的 CPU 使用率。 (1)是开启了 JWarmUp 选项,在应用启动时候,流量进来之前积极加载和编译方法。(2)是流量进来的时刻。(3)是正常模式启动下,CPU 消耗 100% 维持了 70s。(注:作图省略了一部分数据)(4)对应的绿线是稳定后 CPU 的使用率。 可以看到应用 JWarmUp 后在流量进来的时候 JWarmUp 可以减少大量 CPU...阅读全文

博文 2019-07-11 10:24:52 debian.cn

我要彻底放弃 Debian 操作系统!-Michael Stapelberg

FTP,通过该服务接收我的包,并在响应中返回权威的决定:拒绝或接受。对于接受的包,通过一个状态页面来显示包的状态,以及可以通过镜像网络提供包的时间。包应在构建完成后,几分钟内即可进入可访问状态。 陈旧的基础设施:bug追踪 我非常害怕与Debian的bug追踪系统交互。debbugs是一款始于1994年的软件,目前仅供Debian和GNU项目使用。 Debbugs负责处理电子邮件,也就是说它的处理是异步的且很麻烦。尽管我们在Debian最快的机器上运行了Debbugs,但是它的Web界面加载速度依然非常慢。 尤其是bugs.debian.org的Web界面是只读的。为reportbug(1)(https://manpages.debian.org/stretch/reportbug...阅读全文

博文 2019-03-22 17:01:23 Michael Stapelberg

如何写好技术文档 — 来自十多年的文档经验总结

,它的价值马上就体现出来了。而写一份文档,随着时间的推移,它的价值才会逐渐体现出来。 你可能只写一次文档,将来它会被阅读上百次、上千次,因为一份好的文档可以在未来替你向别人回答类似下面这些问题。 1. 为什么当时是这么决策的? 2. 为什么代码是这样实现的? 3. 这个项目里都有哪些概念? 4. …… 写文档同样对于写作者也有非常大的收益: - 帮你构思规范化API: 写文档的过程也是你审视你API的过程,写文档时会让你思考你API设计是否合理,考虑是否周全。如果你没法用语言将API描述出来,那么说明你当前的API设计是不合理的。 - 文档也是代码的另一种展现: 比如你两年后回过头来看你写过的代码,如果有注释和文档,你可以很快速理解代码。 - 让你的代码看起来更专业: 我们都有个感觉,只要文档...阅读全文

博文 2021-07-30 16:15:13 joseph

Apache Kafka发布 3.0 正式版

built.in.metrics.version。这latest是目前此属性的唯一有效值(自 2.5 以来一直是默认值)。KIP-741:将默认 SerDe 更改为 null删除了默认 SerDe 属性的先前默认值。流过去默认为ByteArraySerde. 用3.0开始,没有缺省,和用户需要任一组其的SerDes根据需要在API中或通过设置默认DEFAULT_KEY_SERDE_CLASS_CONFIG和DEFAULT_VALUE_SERDE_CLASS_CONFIG在它们的流配置。先前的默认值几乎总是不适用于实际应用程序,并且造成的混乱多于方便。KIP-733:更改 Kafka Streams 默认复制因子配置有了主要版本的机会,Streams 配置属性的默认值replication.factor会从 1 更改为 -1。这将允许新的...阅读全文

博文 2021-09-26 14:13:03 joseph

Debian 向左:或将迎来根本性改革 - OSCHINA

有两个: 1、技术委员会。技术委员会有权对技术相关的政策做出决定,在最极端的情况下,如果开发者的行为被判定为对发行版具有很大的破坏性,那么委员会可以推翻 Debian 开发者的决定。 但是,技术委员会的决策能力权威在过去的一些争论中受到了损害,比如委员会被个人开发者控诉不公平。 可能,委员会在操作中的确存在不透明的地方,然而 Debian 社区中过于鲜明的个体性,或许也难逃其究。正如 Stapelberg 所言,Debian 的一些维护者出于个人喜好拒绝合作,维护者给予的个人自由度太高对 Debian 构成了严重影响。 2、一般决议流程(general-resolution process)。也就是投票,项目成员可以通过投票来改变或推翻技术委员会(或其他人)的决定、制定新的政策、或者修改章程...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

Web前端知识体系精简

和undefined是JS中的两个特殊类型,object是引用类型。 Javascript可以通过typeof来判断基础数据类型,但不能够准确判断引用类型, 因此需要用到另外一个方法,那就是Object的toString,关于数据类型及其判断可以参考以下博客:数据类型详解 和 判断JS数据类型的四种方法 JS常用的内置对象有Date、Array、JSON,RegExp等。 一般来讲,Date和Array用的最频繁,JSON可以对对象和数组进行序列化和反序列化,还有一个作用就是实现对象的深拷贝。 RegExp即正则表达式,是处理字符串的利器。 关于数据类型和正则表达式的介绍可以参考博客:ES5对数组增强的9个API 和 JS正则表达式精简 1、函数原型链 Javascript虽然没有继承概念...阅读全文

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

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

希望到时候会有比它更好的东西出现,不断突破创新很重要。在他看来,AI可以帮助人类创造出前所未有的新应用,这将是人类的巨大的进步和胜利,是真正的科技革命。 从大模型的商业化机会、AI+应用再到AI发展方向,Sam Altman在这场对话中分享了自己的见解。以下为对话内容,由OneFlow社区编译。 1 大模型的商业机会 Reid Hoffman:很多大型模型都通过API开放使用,能够衍生什么商业化机会? Sam Altman:现在,语言模型已经可以很好地应用到文案写作和教育服务领域,我相信未来几年内,语言模型会更加强大,将能与Google这一价值万亿美元的搜索产品一较高下。语言模型的应用将会改变我们的日常生活。 以前,大家都在调侃聊天机器人,其实它很有价值,只是当时的技术还不能满足需求。现在的...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

隐私声明

我们重视保护用户的隐私权,请您在浏览本网站以及使用本网站的特定服务前,仔细阅读本隐私权声明。使用本网站,即视为您同意本隐私权声明并同意本网站根据本隐私权声明收集、使用、披露您的部分信息。 本隐私权声明主要包括如下内容:当您浏览本网站时,我们向您收集哪些信息;我们如何使用这些信息;我们会在何种情况下披露这些信息;以及您的选择。 本隐私权声明适用于本网站收集的关于您的个人信息。请注意本网站可能包含连接到其他网站的链接,我们对这些其他网站的隐私权做法不承担任何责任。我们建议您仔细阅读您所浏览的其他网站的隐私权声明。 1. 信息的收集 您向我们提供的信息。 如果您仅仅浏览本网站的一般性内容,我们并不要求您提供任何个人信息。在您需要使用或浏览我们提供的特定服务或信息时(比如参...阅读全文

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

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

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

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

Connect 项目,这个项目的边缘设备是地地道道的物理设备,并且从硬件到软件全部是自己定制的。关于 Open Connect 的详细介绍,以及使用的技术栈可以看 Netflix 的分享,还有他们如何做 CDN 监控的。 主要功能 回到 Spinnaker,他主要管理 Netflix 的云服务,并不管理 OpenConnect 相关的设备和服务。Spinnaker 是基于云的 CD 平台,提供快速、可靠、稳定的软件变更服务。主要包含两类功能:集群管理(Cluster management)和部署管理(deployment management)。 1. 集群管理 集群管理主要用于管理云资源,Spinnaker 所说的“云”可以理解成 AWS,即主要是 IaaS 的资源,比如 OpenStack...阅读全文

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

什么是线程安全,以及并发需要知道的几个概念

的资源一直不释放的话,那么其他阻塞的线程就都不能工作了。 非阻塞则相反,强调的是线程之间并不互相妨碍,所有的线程都会不断尝试向前执行。 死锁、饥饿和活锁这三种情况表示的是多线程间的活跃状态,对于线程来说,以上的情况都是 “非友好” 的状态。 1、死锁一般是指两个或者两个以上的线程互相持有对方所需的资源,并且永远在等待对方释放的一种阻塞状态。例如有两个线程A和B同时共享临界区的资源C,当A占用C时,B处于阻塞状态,然而A的释放需要用到B的资源,这样一来,就变成了A一直在等待B,B也一直在等待A,互相之间永远在等待对方释放的状态。 一般来说,死锁的发生是由于程序的设计不合理导致,而且死锁很难解决,最好的方式就是预防。 2、饥饿是指某一个或者多个线程因为种种原因无法获得所需的资源,导致一直无法执行...阅读全文

博文 2018-12-31 20:44:06 debian.cn

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

近日,百度两年前的一桩诉讼案终于有了答案。中国裁判文书网显示,百度运维员工“安某”从 2018 年1 月底到 5 月底,以技术手段在公司服务器上部署“挖矿”程序,非法控制 150 余台服务器以获取比特币、门罗币等虚拟货币,共获利人民币 10 万余元。 事发后,“安某”不仅被没收了所有获利金额,罚款 11000 元,还背上了三年牢饭,有点惨。 4 个月,占用 155 台服务器,获利 10 万余元。 2017 年“安某”正式入职百度,彼时,比特币的价格飙升到了近 2 万美元,按照当时的汇率,一枚比特币人民币价格将近 13 万。虽然后续的币价有所降低,但挖到一枚,还可以挣几万块,这样的诱惑或许没有几个人会选择无视。 2018 年初,“安某”开始打起了挖矿的主意。 挖矿,是指利用服务器CPU的运算...阅读全文

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

Debian 10.8 发布:包括多项安全更新和错误修复

-perl 1.642-1+deb10u2的测试失败 | | [libdbi-perl](https://packages.debian.org/src:libdbi-perl) | 安全修复[CVE-2014-10402] | | [libmaxminddb](https://packages.debian.org/src:libmaxminddb) | 修复基于堆的缓冲区超读 [CVE-2020-28241] | | [lttng-modules](https://packages.debian.org/src:lttng-modules) | 修正内核版本>=4.19.0-10的编译问题 | | [m2crypto](https://packages.debian.org...阅读全文

博文 2021-02-07 10:57:22 joseph

五款流行开源的 HIDS 系统简单介绍

让我们先探讨什么是基于主机的入侵检测系统。如前所述,入侵检测系统是一种硬件或软件应用程序,可在检测到恶意活动时检测并警告管理员。HIDS主要专注于监视和分析日志文件,以便 基于预定义的策略和一组规则来检测异常和未经授权的更改。换句话说,HIDS与您添加的预先建立的规则一样有效。对于大量存储的日志,提取有意义的信息对于检测异常至关重要。提取的信息应准确。因此,确保这些日志的安全性对于防御日志操纵至关重要。1. OSSECOSSEC是开源安全事件关联器的缩写。这个建立良好且信誉良好的解决方案是OSSEC基金会开发和维护的免费和开放源代码的基于主机的入侵检测系统,这要归功于众多的贡献者。它后来归趋势科技所有。这是一个不断发展的项目,每月下载约5000次,并且具有可扩展性和多平台方面的特点,因为它...阅读全文

博文 2023-01-26 11:07:43 joseph

提问的智慧 – 全文

提问在学习中占据着重要的位置,很多人对知识好奇,却收效甚少,原因他们是尚未掌握正确提问的方法,因此,我尝试修改《提问的智慧》,发布出来。原作者是Eric S. Raymond,这篇文章在黑客界拥有很高的地位,指引无数黑客前进,希望对你有用。 为何要做一个修改注释版? 试图做出一个容易阅读,方便理解,与时俱进,可以执行的提问执行方案。 原翻译为2010年,新版2013年,时隔2年有余,原作有变; 尊重原作的复制及引用协议[1]; 原翻译很好,检查中发现有些语句不顺,语意不准,或者已不符合现在语言规范,参照王刚老师的版本进行修改; 附上自己的看法和注解,更加适合现在阅读使用。 每当有人来向我提问,我可以将他指引到这篇文章,可以减少很多的不必要的麻烦。 【本章注释】 [1]复制协议中注明了应用该...阅读全文

博文 2009-10-01 13:18:00 debian.cn

Apollo 配置中心简单介绍

, ctrip apollo, disconf, hawk 等配置中心的功能点。综合比较下来携程apollo 更具有优势。 二、简单介绍携程Apollo配置中心 1、What is Apollo 1.1 背景 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。 Apollo配置中心应运而生! 1.2 Apollo简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范...阅读全文

博文 2021-04-09 17:53:51 CSDN

21款必不可少的Ubuntu桌面应用程序

1. Geary电子邮件客户软件 Geary是一款开源桌面电子邮件客户软件,拥有一系列广泛的功能、一个方便的安装向导程序,并与Unity桌面整合起来。如果相比其他邮件客户软件(比如Outlook)你更熟悉Gmail,那么会觉得Geary用起来比默认的Ubuntu电子邮件应用软件Thunderbird更容易。 其他替代方案:WMail(Electron)、Evolution和Claws Mail。 2. 谷歌Chrome浏览器 Mozilla火狐Web浏览器已经安装在你的Ubuntu系统上;就大多数任务而言,它的表现不俗。但是如果你更多时候是个谷歌用户,或者在Windows上用过Chrome,就会很高兴可以在Ubuntu上继续使用它。 除了内置和最新的Linux版Flash播放器外,你还可以用...阅读全文

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

一位五年工作经验架构师的感悟

,生存不易,这些经历同样丰富了我,内心也变得越来越强大。这些年影响我最大的一些思想有: 1、不要给自己设限:不在把自己禁锢在舒适区,不要怕前面有挡着你的人 2、缩小自己的反馈环: 3、不断以小的正能量,不断积累成就感。 4、不要怕做决定:错误的决定,比没有决定好。 渐渐地,我从不说的人,变成了比较能说的人,能说可能还不是会说。会说更考验技巧,情商。 渐渐地,周围的人又说我是段子手。 渐渐地,变成了一个经常黑人的人。哈哈。 不断去思考,总结,提炼做事模式,思考方式,这些方式可以指导你持续成功。 视野,越大,收获越多,站在全局去看问题,这也是一个架构师需要的。 所以,保持开放心态,视野决定格局,格局改变命运。 写在最后 如果大家能看到最后,首先谢谢。 有的人要骂:标题就是唬人的,一点都没有讲技术...阅读全文

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

Debian 相比 Ubuntu 有哪些不同之处

更灵活的安装程序。 管理和程序包管理方面的区别 Debian和Ubuntu都鼓励使用根帐户用于管理,使用受限制帐户用于日常计算,这一点不足为奇。然而,选择的安全模式不一样。 在Debian中,用户通常通过直接登录进入到根帐户来执行管理任务,然后尽快再次注销,以便缩短安全隐患期。不过,Ubuntu隐藏了根密码;不是使用sudo,而是允许至少1个用户输入自己的密码,以便下达管理命令。 Debian的程序包主要分为三大类:测试版、稳定版和不稳定版。新的程序包进入稳定版,然后在经过调试后转变成测试版。官方版本准备好后,处于测试版的现有程序包接受进一步的检查,最后成为新的稳定版。 近些年来,官方、甚至非官方增添了另外一些程序包,比如Backports、Experimental、Security、Old...阅读全文

博文 2017-12-22 23:41:07 debian.cn

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

个。 镜像的层就像 Git 的提交(commit)一样。Docker 的层用于保存镜像的上一版本和当前版本之间的差异。就像 Git 的提交一样,如果你与其他存储库或镜像共享它们,就会很方便。 实际上,当你向注册表请求镜像时,只是下载你尚未拥有的层。这是一种非常高效地共享镜像的方式。但额外的层并不是没有代价的。层仍然会占用空间,你拥有的层越多,最终的镜像就越大。Git 存储库在这方面也是类似的,存储库的大小随着层数的增加而增加,因为 Git 必须保存提交之间的所有变更。 过去,将多个 RUN 语句组合在一行命令中或许是一种很好的做法,就像上面的第一个例子那样,但在现在看来,这样做并不妥。 1. 通过 Docker 多阶段构建将多个层压缩为一个 当 Git 存储库变大时,你可以选择将历史提交记录...阅读全文

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

理解 Linux 的虚拟内存

受限于机器总线的数量,在32位机器上,有32条总线,每条总线有高低两种电位分别代表 bit 的 1 和 0,那么可访问的最大地址就是 2^32bit = 4GB,所以说 32 位机器上插入大于 4G 的内存是无效的,CPU 访问不到多于 4G 的内存。 但 64位机器并没有 64位总线,而且其最大内存还要受限于操作系统,Linux 目前支持最大 256G 内存。 根据虚拟内存的概念,在 32 位系统上运行 64 位软件也并无不可,但由于系统对虚拟内存地址的结构设计,64位的虚拟地址在32位系统内并不能使用。 直接操作物理内存 操作系统使用了虚拟内存,我们想要直接操作内存该怎么办呢? Linux 会将各个设备都映射到 /dev/ 目录下的文件,我们可以通过这些设备文件直接操作硬件,内存也不例外...阅读全文

博文 2018-11-25 11:03:49 debian.cn

Debian 9 使用kubeadm创建 k8s 集群(上)

正确运行工作负载。 先决条件 本地Linux / macOS / BSD计算机上的SSH密钥对。 如果您之前没有使用过SSH密钥,可以按照如何在本地计算机上设置SSH密钥的说明来学习如何设置它们。运行Debian 9的三台服务器,每台至少有2GB RAM和2个vCPU。 您应该能够以SSH密钥对的root用户身份SSH到每个服务器。Ansible安装在您的本地计算机上。 有关安装说明,请按照Ansible官方安装文档进行操作 。熟悉Ansible Playbook。 有关查看,请查看配置管理101:编写Ansible Playbooks 。了解如何从Docker镜像启动容器。 如果需要复习,请参阅如何在Debian 9上安装和使用Docker的 “第5步 - 运行Docker容器”。 第1步...阅读全文

博文 2019-05-13 22:47:39 debian.cn

在 Kubernetes 上扩展 TensorFlow 模型

。 ![img](https://static001.infoq.cn/resource/image/01/48/017b7bf3a8yye0c784ecaca155a75d48.jpg) 默认情况下,KPA 基于每个 pod 的平均传入请求数对模型进行扩展。KFServing 将默认的并发的目标数量设置为 1,这意味着如果服务收到三个请求,KPA 将把它扩展到三个 pod 副本。你可以通过更改 **autoscaling.knative.dev/target** 注释来定制这个行为,就像上面的例子一样,你把它设置为 10。一旦启用此设置,只有当并发的请求数增加到 10 时,KPA 才会增加副本数。 通过 KFServing,你可以配置其他自动扩展目标。举例来说,你可以使用 **requests-per...阅读全文