InfraPub 为您找到相关结果 451

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

注:我当然是开玩笑的。如果你真的需要被评估看起来有多忙,那么你们公司存在很严重的文化问题。为了忙碌而忙碌的文化是一种有毒的文化,几乎可以肯定这种文化对公司和员工都没有帮助。 也就是说,让我们找点乐子,用一些老式的无意义数据和代码片段组成的面板填充我们的屏幕(好吧,这些数据可能有一定的意义,但是没有上下文)。虽然有很多花哨的 GUI,但是我们为什么不直接使用标准的 linux 终端呢?为了更老派的观,可以考虑使用 Cool Retro Term:一个酷酷的复古终端。下面我会用 Cool Retro Term,因为它看起来确实 100% 酷。 Genact 我们要看的第一个工具是 Genact。Genact 只是简单地回放你选择的一个序列,在你出去喝茶休息的时候慢慢地、无限期地“编译”你的代码...阅读全文

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

bmon:一个强大的网络带宽监视和调试工具

[On Debian/Ubuntu/Mint] 另,你也可以从 https://pkgs.org/download/bmon 获取对应你 Linux 发行版的 .rpm 和 .deb 软件包。 如果你想要最新版本(例如版本 4.0)的 bmon,你需要通过下面的命令从源码构建。 在 CentOS、RHEL 和 Fedora 中 $ git clone https://github.com/tgraf/bmon.git $ cd bmon $ sudo yum install make libconfuse-devel libnl3-devel libnl-route3-devel ncurses-devel $ sudo ./autogen.sh $ sudo./configure...阅读全文

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

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博客

亚马逊12个月免费云服务

助力中国企业出海,注册账号就能享受亚马逊1年全免费的云服务器、数据库产品!免费12个月免费出海云计算服务: https://www.amazonaws.cn/campaign/?sc_channel=seo&sc_campaign=acquisition_CN&sc_medium=backlink&sc_content=foreigntrade亚马逊云计算Amazon Web Services (AWS) 服务始于2006年,成立以来在云计算领域一直保持了领头羊的国际地位。亚马逊云计算拥有比竞争对手更强的计算能力—来自美国摩根士丹利和国际知名调研机构Gartner。亚马逊云科技中国团队全程支持中国企业的出海业务:专业的出海合规规范、专业的技术支持、数百万海用户的运营实践、7*24小时中文...阅读全文

Debian、Ubuntu安装源配置文件说明

版本的发行说明,并未做好升级的准备。 Debian 的仓库自 squeeze 起与 Ubuntu 基本相同。除主仓库,有: 「security」,Ubuntu 用于指安全性更新。即影响系统安全的 bug 修补。Debian 特殊一些,见下文。 「updates」,非安全性更新。即不影响到系统安全的 bug 修补。 「proposed-updates」,预更新。小 beta 版。过后会进入「updates」或「security」。Ubuntu 仅用「proposed」,无后缀「updates」。 「backports」,后备。Debian stable 发布后,Ubuntu 某版本正式发布后,其所有软件版本号便已被冻结,所有软件只修 bug,不增加任何特性。但有人可能需要新特性,甚至某些较新...阅读全文

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

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

" //go:embed hello.txt var s string func main() { print(s) } 我们首先在对应的目录下创建了 hello.txt 文件,并且写入文本内容 “吃煎鱼”。 在代码中编写了最为核心的 //go:embed hello.txt 注解。注解的格式很简单,就是 go:embed 指令声明,加读取的内容的地址,可支持相对和绝对路径。 输出结果: 吃煎鱼 读取到静态文件中的内容后自动赋值给了变量 s,并且在主函数中成功输出。 而针对其他的基础类型,Go embed 也是支持的: //go:embed hello.txt var s string //go:embed hello.txt var b []byte //go:embed hello.txt var f...阅读全文

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

如何在 Debian 中安装 DHCP 服务器

保存文件并退出。重启网络服务(或重启系统): ------------ SystemD ------------ $ sudo systemctl restart networking ------------ SysVinit ------------ $ sudo service networking restart 另你也可以使用 GUI 来在进行设置,如截图所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。 在 Fedora 中设置 DHCP 网络 此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。 就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如...阅读全文

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

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

过多,以至于无法持续。 这个 CD 系统的关键组件是一种控制方法,即谁将接收变更,以及用于部署和测量的自动化工具。在第一步中,经过一系列自动化测试后,变更就从内部推送到 Facebook 员工。在这一阶段发现的任何回归,都会被认为这一进程受阻或者停止。下一步涉及到“ canary deployment ”(金丝雀部署),只推送至生产环境的 2% 。依靠连续的监测来检测问题。如果一切顺利,这些变更将 100% 部署到生产环境中。名为 Flytrap 的工具收集用户报告,并发送任何异常情况的告警。 Facebook 中的 Web 和移动产品遵循两条不同的路径,原生移动变更的部署频率低于 Web 。这两个都由名为 Gatekeeper 的系统控制。除此之,Gatekeeper 还分离出了部署和发...阅读全文

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

王垠:如何掌握所有的程序语言

论不休,发生各种宗教斗争。 你追逐潮流采用了某种时髦的语言,结果两个月之后发现深陷泥潭,痛苦不堪…… 虽然我已经不再过问这些世事,然而无可置疑的现实是,程序语言仍然是很重要的话题,这个情况短时间内不会改变。程序员的岗位往往会要求熟悉某些语言,甚至某些奇葩的公司要求你“深入理解 OOP 或者 FP 设计模式”。对于在职的程序员,程序语言至今仍然是可以争得面红耳赤的宗教话题。它的宗教性之强,以至于我在批评和调侃某些语言(比如 Go 语言)的时候,有些人会本能地以为我是另一种语言(比如 Java)的粉丝。 显然我不可能是任何一种语言的粉丝,我甚至不是 Yin 语言的粉丝 对于任何从没见过的语言,我都是直接拿起来就用,而不需要经过学习的过程。看了这篇文章,也许你会明白我为什么可以达到这个效果。理解...阅读全文

博文 2017-07-10 10:13:17 debian.cn

如何校验 Debian 软件包的 MD5

apt install debsums 现在可以了解如何使用debsums工具,来校验已安装软件包的MD5和了。 说明:我在下面的所有命令中使用了sudo,因为普通用户可能没有某些文件的读取权限。 此,来自debsums命令的输出在左边显示了文件位置,在右边显示了检验结果。你会得到三种可能的结果,它们包括: OK――表明某个文件的MD5和是好的。 FAILED――表明某个文件的MD5和不匹配。 REPLACED――意味着某个特定文件已被来自另一个软件包的文件所更换。 如果你不用任何选项来运行,debsums会对照常规的md5sum文件来校验系统上的每个文件。 $ sudo debsums 扫描文件系统、寻找MD5和 /usr/bin/a11y-profile-manager-indicator...阅读全文

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

Tmux 快速教程:快捷键和配置

tmux 之如何进行控制 session 会话:session是一个特定的终端组合。输入tmux就可以打开一个新的 session tmux new -s session_name 创建一个叫做 session_name 的 tmux session tmux attach -t session_name 重新开启叫做 session_name 的 tmux session tmux switch -t session_name 转换到叫做 session_name 的 tmux session tmux list-sessions / tmux ls 列出现有的所有 session tmux detach 离开当前开启的 session tmux kill-server 关闭所有...阅读全文

博文 2017-11-07 15:17:49 debian.cn

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

Kubernetes代码库的前提下开发自己的解决方案。 由于1.9版本中提供的功能尚处于alpha测试阶段,因此用户必须额加以启用,且我们不建议您将其应用于实际生产。但该版本的出现,意味着Kubernetes存储生态系统正朝着更加可扩展且基于标准的方向迈进。 其它功能 定制化资源定义(简称CRD)验证版目前已经开始beta测试,其默认启用,可帮助CRD作者们针对无效对象得出清晰且即时的反馈。 SIG Node硬件加速器目前进入alpha测试阶段,可利用GPU资源实现机器学习以及其它高性能工作负载。 CoreDNS alpha版本允许用户利用标准工具安装CoreDNS。 IPVS mode for kube-proxy进入beta版本,可为大型集群提供更出色的可扩展性与性能表现。 社区中的每个特别兴趣小组(简...阅读全文

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

Debian 10 Buster 正式版即将发布

术的不需要考虑太多 :)。 支持安全启动 在 Buster RC1 中,Debian 现在支持 安全启动 secure-boot。这意味着打开了安全启动设置的机器应该能够轻松安装 Debian。不再需要禁止或者处理安全启动的事 🙂 Debian-Live 镜像的 Calameres Live-installer 对于 Debian Buster 的 Live 版,Debian 引入了 Calameres 安装器 来替代老的 Debian-installer。Debian-installer 比 Calameres 功能更多,但对于初学者,Calameres 相对于 Debian-installer 提供了另一种全新的安装方式。安装过程的截图: 如图所见,在 Calamares 下安装...阅读全文

博文 2019-04-29 11:04:15 debian.cn

nsenter 及 Linux命名空间 简介

nsenter 是一个可以在指定进程的命令空间下,运行程序的命令,它位于 util-linux 包中。 nsenter 用途 nsenter 的一个典型用途是进入容器的网络名字空间,进行网络相关的排障。大多数容器,为了保持轻量,没有包含较为基础的命令,比如说 ip,ping,telnet,ss,tcpdump等,这就给容器内的网络调试带来困扰。这时就可以使用 nsenter 命令仅进入到容器的网络命名空间,使用宿主机的相关命令调试容器网络。 此,nsenter也可以进入 mnt, uts, ipc, pid, user 命令空间,以及指定根目录和工作目录。 nsenter 使用 首先看下nsenter命令的语法: nsenter [options] [program [arguments...阅读全文

博文 2020-12-15 11:22:44 debian.cn

Terraform 学习总结 — Terraform 简介

Plans) Terraform 有一个 plan 步骤,它生成一个执行计划。执行计划显示了当执行 apply 命令时 Terraform 将做什么。通过 plan 进行提前检查,可以使 Terraform 操作真正的基础结构时避免意。 资源图(Resource Graph) Terraform 构建的所有资源的图表,它能够并行地创建和修改任何没有相互依赖的资源。因此,Terraform 可以高效地构建基础设施,操作人员也可以通过图表深入地解其基础设施中的依赖关系。 自动化变更(Change Automation) 把复杂的变更集应用到基础设施中,而无需人工交互。通过前面提到的执行计划和资源图,我们可以确切地知道 Terraform 将会改变什么,以什么顺序改变,从而避免许多可能的人为错误。 安装...阅读全文

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

,Aptitude也很有用。实用的功能特性包括why命令和why-not命令,前者显示依赖某软件包的其他软件包,后者显示什么软件包与某个指定软件包冲突。此,Resolver菜单列出了可能解决破损软件包的方法,从破坏性最小的那种方法开始。 6. apt-cache apt-cache搜索已安装软件包数据库,寻找信息。它能显示关于单个软件包、依赖项和冲突等方面的信息,以及其他众多信息。 一个特别有用的命令是apt-cache search,它可搜索数据库中的文本字符串。使用这个命令,你就能找到软件包的具体名称,那样可以安装它,还可以找到想要安装的相关软件包。在Debian中,它必不可少,所以默认情况下已安装。 5. dpkg-reconfigure dpkg-reconfigure可改变安装软件包的方法。比如...阅读全文

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

Kubernetes 1.7:安全加固、有状态应用更新等

,每一个节点上创建一个 Pod 已经有了一个更新特性,在1.7中添加了更加机智的回滚和历史回溯能力。 一个新的 StorageOS 卷插件能从本地的和连接的节点存储中提供高可用的、集群范围的持久性卷。 可扩展性: 运行时的 API 聚合是这次发布中最强大的特性,可以让高级用户向集群中添加预先构建的、第三方的或者用户自制的具有Kubernetes风格的API。 容器运行时接口(CRI)通过新的从运行时获取容器指标的 RPC 调用得到增强。CRI 的验证测试已经发布,和containerd 1.0的整合处于 alpha 状态,现在支持基本的 Pod 生命周期和镜像管理。可以阅读我们之前深入介绍 CRI 的文章。 其他特性: 引入了对于部的准入控制器的支持,现在处于 alpha 状态,提供了两种选...阅读全文

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

为何说微软不会基于Linux内核重构Windows

软已经意识到了设备格局的变化。 微软认识到当前社会人类使用各种系统和各种平台,在系统上有 Android、Ubuntu、iOS、macOS、Chrome OS等等,而且除了 x86 之还有 ARM。 微软已经表示他们能够适应这个多元的世界,在这些平台上推出了相关产品和服务,同时确保 Windows 在传统领域的竞争力。目前微软正基于 Android 和 iOS 推动移动领域的创新,不仅移植了微软 Office,而且还包括 Microsoft Launcher 在内的很多优秀应用,而且近期也推出了搭载 Android 系统的 Surface Duo 手机。 在 Ubuntu 系统上,微软推出了很多针对 Linux 工作站的工具,例如 Code, .NET, Azure tools...阅读全文

博文 2020-10-15 14:59:58 debian.cn

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

)。 Fedora 25选择Wayland的作法受到用户的热烈好评。有人将此事件誉为Linux在使用systemd之后最重大的一次变革,且这一转换的无缝化效果又远优于systemd。Wayland支持下的GNOME得到显著改进,容器打开速度更快且桌面的稳定性也得到提升。 3. 微软拥抱Linux 过去几年来,微软公司一改积极打击Linux及开源运动的态度,转而公开向这位曾经不共戴天的敌人示好。而在2016年中,微软更是以一系列举动震惊世人——微软作为白金会员加入Linux基金会。另,PowerShell与SQL Server 2016如今也开始支持Linux,而Windows 10则支持bash shell。 这些举措在得到群众欢迎的同时,也引发了质疑之声。有人认为微软的平台将能够更好地与Linux及开源...阅读全文

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

HTTP状态码详解

择该如何进行。 如果服务器本身已经有了首选的回馈选择,那么在 Location 中应当指明这个回馈的 URI;浏览器可能会将这个 Location 值作为自动重定向的地址。此,除非额指定,否则这个响应也是可缓存的。 301 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个 URI 之一。如果可能,拥有链接编辑功能的客户端应当自动把请求的地址修改为从服务器反馈回来的地址。除非额指定,否则这个响应也是可缓存的。 新的永久性的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向新的 URI 的超链接及简短说明。 如果这不是一个 GET 或者 HEAD 请求,因此浏览器禁止自动进行重定向,除非得到用...阅读全文

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

Gitlab CI 配置文件 .gitlab

update --init --recursive 注意:如果想要此功能正常工作,子模块必须配置(在.gitmodules)下面中任意一个: 可访问的公共仓库http(s)地址, 在同一个GitLab服务器上有一个可访问到另的仓库的真实地址。更多查看Git 子模块文档。 Job stages attempts GitLab引入,要求GItLab Runner v1.9+。 正在执行的job将会按照你设置尝试次数依次执行下面的stages: 变量 描述 GET_SOURCES_ATTEMPTS 获取job源的尝试次数 ARTIFACT_DOWNLOAD_ATTEMPTS 下载artifacts的尝试次数 RESTORE_CACHE_ATTEMPTS 重建缓存的尝试次数 默认是一次尝试。 例如...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

如何使用 journalctl 清理 journal 日志

件。 换句话说, 日志目录中不应该存在后缀名不等于 ".journal" 或 ".journal~" 的文件, 因为这些文件永远不会被清理。 SystemMaxUse= 与 RuntimeMaxUse= 限制全部日志文件加在一起最多可以占用多少空间。 SystemKeepFree= 与 RuntimeKeepFree= 表示除日志文件之,至少保留多少空间给其他用途。 systemd-journald 会同时考虑这两个因素, 并且尽量限制日志文件的总大小,以同时满足这两个限制。 SystemMaxUse= 与 RuntimeMaxUse= 的默认值是10%空间与4G空间两者中的较小者; SystemKeepFree= 与 RuntimeKeepFree= 的默认值是15%空间与4G空间两者中...阅读全文

博文 2021-02-05 15:43:28 博客园

Git 介绍与使用详解

出现的原因,又是谁在何时报告了某个功能缺陷等等。 使用版本控制系统通常还意味着,就算你乱来一气把整个项目中的文件改的改删的删,你也照样可以轻松恢复到原先的样子。 但额增加的工作量却微乎其微。 1.1.1集中化的版本控制系统,代表Svn 缺点: 1、依赖中央服务器。 如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 2、如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。 3、整个项目的历史记录被保存在单一位置,就有丢失所有历史更新记录的风险 4、必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,效率就很低了。 1.1.2分布式版本控制系统,代表Git...阅读全文

博文 2017-02-25 09:00:27 程序员

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

Garrett 在2006年就指出了 Debian 决策效率低下的痛点,而他曾任 Debian Project Leader(简称 DPL,是 Debian 的项目负责人)。 Joey Hess 是 Debian 中的元老,颇具影响力 不过话说回来,Debian 毕竟是个志愿者组织,社区的事情会被成员放在较后的优先级上,效率自然低下。况且,Debian 组织庞大,事情也不像只有十余名维护者的开源社区一样好解决。 但是,同样的问题引来了更多的人离开。2019年3月,一位名为 Michael Stapelberg 的 Debian 包维护者在其个人博客发表了一篇长文,宣布退出 Debian 的维护。他的文章引起了 Debian 社区内的广泛关注。 Stapelberg 提到了几个星期前参加 Debian...阅读全文

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

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

施。 虽然拥有一个lint工具(能实现快速、本地/离线的反馈)非常好,但最好的情况还是完全不需要lint工具。实施变更(例如C++团队为所有包引入了一个新的强化标志)的团队应该能够让我明确看到他们的工作。 然而,实际情况却恰恰相反,目前所有的包都由于lint而变得不干净,所有的维护者都需要阅读新内容是什么、可能会造成怎样的破坏、是否有影响以及怎样的影响、手动运行一些测试、最后再决定是否采用。整个过程的工作量巨大,而且还需要手动执行机械的更改。 特别是,在Debian的变更模型中,所有更改的工作都会分派给包维护者。在工作中,我们发现相反的工作方式更好:即让负责变更的团队自行选择那些能影响更多用户的更改,这样可以显著地提高效率,从而降低总体的成本和时间。当然,有些例情况(例如滥用语言功能的大型...阅读全文

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

粘合万种芯片的“万能胶” 是摩尔定律的续命丹吗? - 硬件

需要细小的引线和线宽,复杂度高,良率受制程影响大,成本也会很高。"刘宏钧说到。以英特尔的EMIB为例,从英特尔所发布的公开论文中可以发现,EMIB在工艺实现上面临不少难题,需要进行材料和工艺的开发,其硅桥的设计工作需要由懂材料、懂封装、懂制程和懂信号完整性的资深工程师们来共同实现。另,晶圆制造材料、设备都需要进行改进,其时间和成本是除苹果、英特尔等头部芯片公司之无法承受的。不仅如此,即便是有了UCIe这芯片万能胶,"Chiplet在哪里"的问题也难以解决。"UCIe之后,Chiplet面临的是Chiplet供应商和应用商谁先迈出第一步的问题。这也是一个'鸡与蛋'的问题。Chiplet供应商较为关心的是Chiplet一次性工程费用(NRE)该由谁来承担,而应用商则担心是否有足够丰富的...阅读全文

博文 2022-04-08 07:35:46 cnBeta.COM

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

图工具就能生成 SVG 图片。 上面图片中,最顶层的函数g()占用 CPU 时间最多。d()的宽度最大,但是它直接耗用 CPU 的部分很少。b()和c()没有直接消耗 CPU。因此,如果要调查性能问题,首先应该调查g(),其次是i()。 另,从图中可知a()有两个分支b()和h(),这表明a()里面可能有一个条件语句,而b()分支消耗的 CPU 大大高于h()。 五、局限 两种情况下,无法画出火焰图,需要修正系统行为。 (1)调用栈不完整 当调用栈过深时,某些系统只返回前面的一部分(比如前10层)。 (2)函数名缺失 有些函数没有名字,编译器只用内存地址来表示(比如匿名函数)。 六、Node 应用的火焰图 Node 应用的火焰图就是对 Node 进程进行性能抽样,与其他应用的操作是一样的...阅读全文

博文 2022-03-11 10:05:09 博客园

Golang 操作 Kafka 样例

,可能是先从RSS数据源中抓取文章的内 容,然后将其丢入一个叫做“文章”的topic中;后续操作可能是需要对这个内容进行清理,比如回复正常数据或者删除重复数据,最后再将内容匹配的结果返 还给用户。这就在一个独立的topic之,产生了一系列的实时数据处理的流程。 日志聚合:使用Kafka代替日志聚合(log aggregation)。日志聚合一般来说是从服务器上收集日志文件,然后放到一个集中的位置(文件服务器或HDFS)进行处理。然而Kafka忽略掉 文件的细节,将其更清晰地抽象成一个个日志或事件的消息流。这就让Kafka处理过程延迟更低,更容易支持多数据源和分布式数据处理。比起以日志为中心的 系统比如Scribe或者Flume来说,Kafka提供同样高效的性能和因为复制导致的更高的耐用性保证...阅读全文

博文 2023-01-10 13:46:09 掘金

中国开源人访谈系列之:清风博主

Gentoo中文社区,一开始想法挺多,也做了点工作。不过,由于个人技术水平、能力等方面原因,现在社区基本上也没什么动静了。现在年龄越来越大,精力也有限,希望有更多新生力量加入进来,让Gentooo这个发行版在国内有更多影响力! 2.您会参与哪些线下活动? 答:我们庄里,有个活动参加就不错了,不像北上广这样的一线大城市经常有。虽然离帝都近,但一是时间紧张,二是自己掏腰包负担路费,看看3K多的月薪,算了吧。。。 3.您怎么看现目前中国的开源社区,又看好哪些?能举例详细说明吗? 答:中国的开源社区和国比,有明显的差距,但从这几年的发展来看,氛围是越来越好的。我认为目前最大的问题是:不少社区是靠核心组织者的热情来维持,缺乏一定的资金和硬件条件支持,也就是没有长久发展的机制。再加上拿来主义盛行,在一定程度上也...阅读全文

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

2017 年会是 Serverless 爆发之年吗

站)。一般来说包含客户端、服务端程序、数据库,服务端用 Java 开发完成,客户端用 JavaScript。 采用这种架构,服务端需要实现诸多系统逻辑,例如认证、页面导航、搜索、交易等都需要在服务端完成。如果采用 Serverless 架构来对该应用进行改造,则架构如图所示: Serverless 架构相比于传统面向客户端的三层应用架构,有以下几方面的差异: 删除认证逻辑,用第三方 BaaS 服务替代; 使用另一个 BaaS,允许客户端直接访问架构与第三方(例如 AWS Dynamo)上面的数句子库。通过这种方式提供给客户更安全的访问数据库模式; 前两点中包含着很重要的第三点,也就是以前运行在服务端的逻辑转移到客户端中,例如跟踪用户访问。客户端则慢慢转化为单页面应用。 计算敏感或者需要访问...阅读全文

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

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

> 6.1 抽象为block块的好处 1) 一个文件有可能大于集群中任意一个磁盘 10T*3/128 = xxx块 2T,2T,2T 文件方式存—–>多个block块,这些block块属于一个文件 2) 使用块抽象而不是文件可以简化存储子系统 3) 块非常适合用于数据备份进而提供数据容错能力和可用性 6.2 块缓存 通常 DataNode 从磁盘中读取块,但对于访问频繁的文件,其对应的块可能被显示的缓存在 DataNode 的内存中,以堆块缓存的形式存在。默认情况下,一个块仅缓存在一个DataNode的内存中,当然可以针对每个文件配置DataNode的数量。作业调度器通过在缓存块的DataNode上运行任务,可以利用块缓存的优势提高读操作的性能。 例如: 连接(join)操作中使用的一个小的查询表...阅读全文

提问的智慧 – 全文

户,这样,你能最有效地得到问题的回答。 第一件需要明白的事:黑客喜欢艰巨的任务和激发思考的好问题。否则,我们也不会写这篇文章了。如果你有值得我们反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励和馈赠,帮助我们发展认知,揭示没有注意的问题。对于黑客,提供「好问题」就是热情而真诚的赞扬。 虽然如此,黑客在却有坏名声:遇到简单问题就表现出鄙视或傲慢的姿态。有时,我们看起来还会对新手和愚蠢的人有条件反射般的无礼,但事实并不如此。 我们只是毫无歉意地鄙视那些提问前不愿思考、不做功课的人。这种人就象时间黑洞一样,只知道索取,不愿意付出,他们在浪费我们时间,而这些时间我们本可用于其它更有趣的问题或更值得回答的人身上。我们将这种人叫做 「loser」[4] (由于历史原因,我们有时将「loser...阅读全文

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

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

认可的开源许可证 不要创建你自己的自定义许可证;这将为任何想要使用你代码的人增加法律障碍。确保你选择的许可证与你打算使用代码的方式兼容。此,请确保许可证与你的项目代码所需的任何第三方内容(例如库)兼容。在所有源文件的标题中包含许可证的SPDX代码。 15、将项目移到开源基金会 前面已经提到过几次基金会。基金会首先可以帮助你保持项目供应商中立,这将有助于采用:开源软件的魅力大多是因为采用者可以避免被某个特定组织所关注。基金会可以坚持和保卫项目的商标,建立治理模式,帮助你管理品牌,提供知识产权管理服务,并为运营成功的开源项目提供常用的帮助和建议。成为开源基金会的一部分可以提供有价值的反馈循环。基金会可以为你的开源项目提供可信度,然后,开源项目反过来可以为基金会提供公信力。 运作开源项目包含很多...阅读全文

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

分布式任务调度平台 XXL

:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;其中分片任务支持分片粒度的失败重试; 12、任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方面的扩展短信、钉钉等告警方式; 13、分片广播任务:执行器集群部署时,任务路由策略选择” 分片广播” 情况下,一次任务调度将会广播触发集群中所有执行器执行一次任务,可根据分片参数开发分片任务; 14、动态分片:分片广播任务以执行器为维度进行分片,支持动态扩容执行器集群从而动态增加分片数量,协同进行业务处理;在进行大数据量业务操作时可显著提升任务处理能力和速度。 15、事件触发:除了”Cron 方式” 和” 任务依赖方式” 触发任务执行之,支持基于事件的触发任务方式。调度中心提供触发任务单次执行的 API 服...阅读全文

博文 2018-11-05 21:47:15 JOB 2.0.0 发布

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

里等待,直到售货员把衣服交给你后才算购物成功,这就相当于同步的过程。 不过,如果是在网上购物的话,我们只需下单并完成支付,对我们来说整个购物过程就算完成了。网上的商家接到订单会帮我们加紧安排送货,这段时间我们可以去做其他的事,比如去面打个篮球之类的。等送货上门并签收商品就完事了,这个过程就相当于异步。 并发和并行并发和并行的功能很相似,两者都可以表示多个任务一起执行的情况,但本质上两者其实是有区别的。 严格意义上来说,并行的多任务是真实的同时执行,而并发更多的情况是任务之间交替执行,系统不停的在多个任务间切换执行,也就是 “串行” 执行。 最直接的例子的就是我们的计算机系统,在单核CPU时代,系统表面上能同时进行多任务处理,比如听歌的同时又浏览网页,但真实环境中这些任务不可能是真实并行的...阅读全文

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

如何在 Debian 下配置邮件服务器

程中的演示只是运行在实验室环境中。测试DNS服务器所有必要的记录都已配置,并且用户之间的邮件可以在相同的服务器上发送(相同的域交换)。为了让事情更有趣,多邮件服务器可以被部署到不同的域来检查电子邮件如何跨域通信,因为必要的DNS记录都已存在。 对的邮件服务器有效的DNS记录。 Postfix和Dovecot的的设置,可以根据需要进行调整。 警告:如果想要部署邮件服务器任何能够访问互联网邮件服务器,请确保您的SMTP是安全的。互联网以及来自局域网内部的恶意软件都是可以攻击SMTP的。...阅读全文

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

Linux下多线程程序为什么消耗大量虚拟内存

你打算在程序代码中来设置这个东西,那么可以调用mallopt(M_ARENA_MAX, xxx)来实现,由于我们AuthServer采用了预分配的方式,在各个线程内并没有分配内存,所以不需要这种优化,在初始化的时候采用mallopt(M_ARENA_MAX, 1)将其关掉,设置为0,表示系统按CPU进行自动设置。 意发现 想到tcmalloc小对象才从线程自己的内存池分配,大内存仍然从中央分配区分配,不知道glibc是如何设计的,于是将上面程序中线程每次分配的内存从1k调整为1M,果然不出所料,再分配完64M后,仍然每次都会增加1M,由此可见,新版 glibc完全借鉴了tcmalloc的思想。【原文出处: 陈斌的博客】...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Docker 17.06 社区版发布

的支持。可以将docker的/metrics端点暴露给插件: $ docker plugin install --grant-all-permissions cpuguy83/docker-metrics-plugin-test:latest $ curl http://127.0.0.1:19393/metrics 这个插件仅用于示范。它在主机的网络上运行了一个反向代理,能将请求转发给插件中的本地的指标套接字。在真实场景中,可能会将收集的指标数据发送给部的服务,或者使它可以被一个服务如Prometheus访问并收集。 注意尽管指标插件在非实验性的daemon中可以使用,指标标签(metrics label)仍应该被看作是实验性的,可能在Docker未来的版本中发生改动。 日志驱动插件 添...阅读全文

博文 2017-06-30 23:08:57 debian.cn

Debian 9.3上安装和配置 Observium 监控平台

命令退出MySQL shell: MariaDB [(none)]>\q 下载并安装Observium Observium有两个版本:开源版本和订阅版本,开放源代码版本可以免费下载,功能较少,安全修复程度较低,而订阅版本则附带额的功能和硬件支持。 您可以使用以下命令从官方网站下载Observium的开源版本: wget http://www.observium.org/observium-community-latest.tar.gz 下载后,使用以下命令提取下载的存档: tar -xvzf observium-community-latest.tar.gz 接下来,将提取的目录复制到Apache Web根目录: cp -ar observium /var/www/html/ 接下来,重命...阅读全文

博文 2017-12-30 11:35:21 debian.cn

运维的未来:云服务兴起,运维人员会“下岗”吗?

本文作者 Tyler Treat 是一名软件工程师,他认为运维的未来从很多方面来说都跟质量保证(QA)的未来走向相似。未来,运维要使开发者能够通过工具、自动化和流程实现自助服务。传统的运维( Ops)没有消失,只是在重组。 云服务的发展看起来让运维人员“丢”了工作,因为从传统意义上说,从本地(on-premise)转移到云平台意味着运维工作在相当大程度上包给云提供商。这正应了那个流行词—— “无运维运动”(NoOps),许多人称之为 DevOps 的“继承者”,虽然这个词最近这些日子已经不是那么响亮了。这使得 Amazon 和开发团队创建的产品——包括基础设施自动化,部署自动化,配置管理,日志管理以及监控和检测——之间出现了隔膜,隔膜虽小,但却至关重要。 事实上,运维的未来从很多方面来说...阅读全文

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

Kubernetes 使用 PodPreset 注入信息到 Pods_哎_小羊的博客

-f pod-nginx-test-3.yaml $ kubectl exec -it nginx-test-3 -n podpreset-test /bin/sh $ printenv | grep TZ $ printenv | grep DB_PORT $ date Sun Jul 7 04:18:54 UTC 2019 可以看到,添加了忽略 PodPreset 注入 annotations 后,没有将信息注入进去,时间还是默认的 UTC 时间。 PodPreset 除了上边演示的两种用法,还支持多 PodPreset 应用到同一 Pod,支持多种资源类型(ReplicaSet 等),支持从 ConfigMap 中取值。同时要说明一下,当 PodPreset 跟 Pod 配置有冲突时...阅读全文

博文 2021-01-27 18:47:00 CSDN博客

Jono Bacon: GPL 没落了吗?

系、构建联盟,找到并解决行业问题。 在这个峰会上,有一个分组研究,在其中,与会者被分成小组,被要求给一个真实存在的核心的开源技术推荐一个开源协议。每个小组都给出了回应。不到十分之一的小组推荐了宽容许可证,没有人推荐 GPL 许可证。 我看到了开源行业对于 Apache 协议以及 MIT 协议的逐步认可,但是他们却对花时间理解、接受和熟悉 GPL 这件事高高挂起。 在这几年里,这种趋势仍在蔓延。除了 Black Duck 的调查之, 2015 年 GitHub 上的开源协议调查 也显示 MIT 是人们的首选。我还能看到,在我工作的 XPRIZE (我们为我们的 Global Learning XPRIZE 选择了开源协议),在我作为社区领导顾问的工作方面,我也能感觉到那种倾向,因为越来越多的...阅读全文

博文 2017-08-04 08:03:43 debian.cn

SVN切换分支用法汇总

,以避免出现代码丢失等问题。在切换分支的时候,我们需要确保其他人都知道这个操作,并且保证他们的代码状态是干净的。六、SVN切换分支的优缺点在软件开发中,我们需要经常进行分支管理,因此,SVN的分支管理功能就显得尤为重要了。下面我们来看一下,SVN切换分支的优缺点。1. 优点SVN切换分支的最大优点就是方便快捷。通过SVN我们可以很方便地将工作副本切换到不同的分支,这样可以让我们更加高效地进行代码管理和开发工作。此,SVN还提供了完善的分支合并机制,可以帮助我们更好地保持代码的稳定性。2. 缺点SVN的缺点主要体现在以下几个方面:(1)SVN对源代码有一定的限制;(2)SVN操作过程较为繁琐;(3)SVN的并发处理能力相对较差。七、总结综上所述,SVN切换分支是一项非常重要的基础操作,在软件开...阅读全文

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

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

也是吸引用户的关键因素之一。 开发一个新版本就必定会面临新的编程难题。不过 Murdock 自有他的「秘密武器」: 我倒是无知者无畏,因为不了解自己将会面对什么,于是也就无所畏惧。我只知道我的目标和方向,但我当时完全不知道这一路会有多艰难。除此之,Debian 的「分散式」定位就是用户可以随时参与开发过程前来帮忙。Debian 是开放式的,因此有些我不精通的地方我可以向公众寻求帮助。比如我有个 2400 波特的调制解调器,但是我这辈子都没用过以太网卡,所以关于这方面我实在了解不多;但是有人肯定比我精通,可以帮我们忙。 Murdock 指出,Debian 的这个优势其实也同样是 Linux 和其他所有免费软件的最大武器。 这就是为什么 Linux 这样的软件质量会如此之高,因为它并不是单单为...阅读全文

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

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

deploy nginx --port 80 --target-port 80 --type NodePort 服务是另一种类型的Kubernetes对象,它向内部和部客户端公开集群内部服务。 它们还能够对多个pod进行负载均衡请求,并且是Kubernetes中不可或缺的组件,经常与其他组件交互。 运行以下命令: kubectl get services 这将输出类似于以下内容的文本: OutputNAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 443/TCP 1d nginx NodePort 10.109.228.209 80:nginx_port/TCP 40m 从上面输出的第三行,您可以检...阅读全文

博文 2019-05-13 22:57:41 debian.cn

细数k8s支持的4种类型的container - 侃豺小哥

: Sidecar ... 总结 本文简单介绍了标准容器,sidecar容器,init 容器,ephemeral 容器 4种类型的containers。随着kubernetes日益普及,我们需要充分掌握着几种类型容器原理和使用方法,才能更好地服务业务。 此Sidecar容器将会成为未来软件交付的一种新的方式,参照Dapr等,不同的团队提供自己的功能容器,然后选择性注入Sidecar到主业务容器,实现解耦...阅读全文

博文 2021-08-20 11:45:32 博客园

Kafka生产问题总结以及性能优化

性。Kafka要实现类似Rocketmq的分布式事务需要额开发功能。 kafka的事务处理可以参考官方文档: Properties props = new Properties(); props.put("bootstrap.servers", "localhost:9092"); props.put("transactional.id", "my-transactional-id"); Producer producer = new KafkaProducer<>(props, new StringSerializer(), new StringSerializer()); //初始化事务 producer.initTransactions(); try...阅读全文

博文 2023-01-05 23:16:48 CSDN博客

协议介绍之深入了解 gRPC

及它的相关属性。在 HTTP/1.x 时代,我们采用纯文本协议,并且使用 \r\n 来分隔,如果我们要传输的元数据很多,就会导致 header 非常的庞大。另,多数时候,在一条连接上面的多数请求,其实 header 差不了多少,譬如我们第一个请求可能 GET /a.txt,后面紧接着是 GET /b.txt,两个请求唯一的区别就是 URL path 不一样,但我们仍然要将其他所有的 fields 完全发一遍。 HTTP/2 为了结果这个问题,使用了 HPACK。虽然 HPACK 的 RFC 文档 看起来比较恐怖,但其实原理非常的简单易懂。 HPACK 提供了一个静态和动态的 table,静态 table 定义了通用的 HTTP header fields,譬如 method,path 等...阅读全文

博文 2017-06-22 11:08:48 debian.cn

HTML 5.1 — 14 项新增特性及使用案例

让你可以指定一个多个可选的图像来源,对应于不同的像素分辨率。它将允许浏览器根据用户设备的不同选择合适质量的实现来进行显示。例如,对于使用网络比较慢的移动设备的用户,显示一张低分辨率的图片会比较好。 你可以使用 srcset 属性并且带上它自有的 x 修饰符来描述每一个图片的像素比例, 如果用户的像素比例等于 3,就会显示 high-res 这张图片。 除了像素比例之,你也可以选择使用 w 修饰符来指定不同尺寸大小的图片。在如下示例中,high-res 图片被定义成在...阅读全文

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

深入了解Docker背后的namespace技术

! exit(EXIT_FAILURE); } 再一次生成并运行看看会发生什么? > gcc -o pid pid.c > ./pid ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.0 9076 784 ? R+ 23:05 0:00 ps aux 完美 !我们新的 PID namespace已经在MNT namespace的帮助下正常运作! USER Namespace User namespace是最新的子用户空间,它允许你创建独立于其他namespace之的用户。这是通过GID和UID映射实现的。 这里有一个未指定映射的实例应用程序。如果我们添加CLONE_NEWUSER到...阅读全文

博文 2015-05-17 10:03:00 debian.cn