InfraPub 为您找到相关结果 517

聊聊很重要的内核技术eBPF

(DFS),以确保程序完成并且代码不包含危险路径。这意味着它将遍历图的每个分支,一直到分支的底部,以确保没有递归循环。 这些是验证器在第一次检查期间可能拒绝您的代码的情形,要求有以下几个方面: 该程序不包含控制循环。为确保程序不会陷入无限循环,验证程序会拒绝任何类型的控制循环。已经提出了在BPF程序中允许循环的建议,但是截至撰本文时,没有一个被采用。该程序不会尝试执行超过内核允许的最大指令数的指令。此时,可执行的最大指令数为4,096。此限制是为了防止BPF永远运行。在第3章,我们讨论如何嵌套不同的BPF程序,以安全的方式解决此限制。该程序不包含任何无访问的指令,例如从未执行过的条件或功能。这样可以防止在VM中加载无效代码,这也会延迟BPF程序的终止。该程序不会尝试越界。 验证者执行的第二项检...阅读全文

博文 2020-08-16 11:08:44 debian.cn

提问的智慧 – 全文

」拼为「lusers」[5])。 我们注意到很多人只是想使用我们的软件,对学习技术细节没有任何兴趣。对他们而言,计算机只是种工具,是种达到目的的手段而已。他们有自己的生活,有更重要的事要做,我们承认这一点,也从不指望每个人都能对这些让我们着迷的技术问题感兴趣。所以,我们回答问题也有自己的选择,仅仅回应那些真正对问题有兴趣并愿意主动参与解决问题的人,这一点现在不变,以后不会变,也不该变,否则,我们就无做好那些该做好的事情了。 我们(大多数)是自愿者,从自己繁忙的生活中抽时间来回答问题,有时也会力不从心。因此,(请原谅)我们会毫不留情地过滤问题,特别是那些像是losers提的问题,这样,我们就有更多的时间和精力去回答那些winner[6]的问题 如果你认为这种态度令人反感、以施惠者自居或傲慢...阅读全文

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

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

以及QLC闪存? TLC = Trinary-Level Cell,即3bit/cell(每个Cell单元储存3个数据,有8个状态,具体如上图,有八种不同电压状态)。主要特点:成本低,容量大,但速度慢,寿命短,约500-1000次擦寿命。但随着技术的成熟,寿命问题已经得到改善(约1500-2000次擦寿命),并成为目前闪存颗粒中的最主流产品。 QLC=Quad-Level Cell,即4bit/cell(每个Cell单元储存4个数据,有16个状态,具体如上图,有十六种不同电压状态)。相比于TLC来说,成本比更低,容量更大,而可靠、稳定性及寿命则更差些(此前几年预计的理论可擦100-150次),不过目前东芝宣称,他们的QLC NAND拥有多达1000次左右的P/E编程擦循环,几乎已经和...阅读全文

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

Systemd 曝出三个漏洞 大部分 Linux 发行版易受攻击

在 2016 年 2 月可利用(systemd v230),研究人员了一个 PoC,可在 i386 上获得 eip 控制。 CVE-2018-16865 于 2011 年 12 月引入(systemd v38),在 2013 年 4 月可利用(systemd v201)。CVE-2018-16866 于 2015 年 6 月引入(systemd v221),于 2018 年 8 月无意中被修复。 研究人员为 CVE-2018-16865 和 CVE-2018-16866 了一个 PoC,并利用它进行测试,结果花 70 分钟就可以在 amd64 上获得本地 root shell,而在 i386 上只花了 10 分钟。 “所有使用 Systemd 的 Linux 发行版都存在漏洞,并且易受到...阅读全文

博文 2019-01-15 10:56:33 debian.cn

Knoppix 8.6 发布,GNU/Linux 系统

菜单启动游戏引擎 godot 3 3.0.6音频/视频转码器:RipperX 2.8.0,Handbrake 1.2.2自动调整覆盖分区的大小而不重新引导LXDE,轻量级 Knoppix 标准桌面,包括文件管理器 pcmanfm 1.3.1用于在 Linux 上直接安装和运行 Windows 应用程序的预览版Libre Office 6.3.0-rc2, Gimp 2.10.8OwnCloud 2.5.1 和 NextCloud 2.5.1 客户端对 UEFI 安全启动的支持 安装的一个更好的方是使用 flash-knoppix,它将在 USB Flash pen 上创建一个 FAT 32 和一个 Linux 分区的更简单和可的布局。 Knoppix 的 DVD 版本 8.6 提供了以下...阅读全文

博文 2019-08-20 12:21:46 debian.cn

MongoDB 4.2 正式发布 引入分布式事务

findAndModify 命令可以引用现有字段,并加入聚合管道,以获得更强的表现力可还原读,降低了编处理临时集群故障的代码的复杂性 客户端字段级加密 (FLE,Client-side Field Level Encryption) 现已是 MongoDB 4.2 的一部分,可以在 beta 版中使用。使用 FLE,可以选择性地保护文档中的敏感字段,每个字段都使用自己的密钥加密,并在客户端上无缝解密。 MongoDB 是现代应用程序的通用数据库,它汇集了文档模型、智能分布式系统以及在任何地方运行它的能力,从笔记本电脑到大型机,在公共和私有云中运行。如果以 MongoDB 4.2 为例,最快和最简单的方是在 MongoDB Atlas 上启动一个集群,在 AWS、Azure 和 GCP 上的 60 多个区域都可...阅读全文

博文 2019-08-16 07:54:08 debian.cn

Jonathan Carter 当选新一任 Debian 项目负责人

Debian 的 1011 位开发人员中,有 339 位在今年的选举中投了赞成票,参与人数与往年差不多,且相比几年前票数还略有提高。 具体的投票过程与结果分析查看:https://www.debian.org/vote/2020/vote_001 新当选的 Jonathan Carter 在竞选“宣言”中下了几个大目标: 继续做 Debian 做得好的事情。技术卓越、推广自由软件、分发新版本、稳定的版本更新。使 Debian 对贡献者有吸引力。使它成为一个有趣、有意义和受欢迎的项目,让更多贡献者有意愿参与进来。更好地了解正在完成的工作。减少影响贡献者的瓶颈。收集有关阻碍个人在 Debian 中所做的事情的反馈,并找到减少这种摩擦的方。改善在线协作。改善项目内务管理。关于支出和可用资金,具有更好的可...阅读全文

博文 2020-04-22 13:50:05 debian.cn

Redis 命令、特性介绍与性能调优

/no,通过配置项[appendfsync]指定: appendfsync no:不进行fsync,将flush文件的时机交给OS决定,速度最快 appendfsync always:每入一条日志就进行一次fsync操作,数据安全性最高,但速度最慢 appendfsync everysec:折中的做,交由后台线程每秒fsync一次 随着AOF不断地记录操作日志,必定会出现一些无用的日志,例如某个时间点执行了命令SET key1 “abc”,在之后某个时间点又执行了SET key1 “bcd”,那么第一条命令很显然是没有用的。大量的无用日志会让AOF文件过大,也会让数据恢复的时间过长。 所以Redis提供了AOF rewrite功能,可以重AOF文件,只保留能够把数据恢复到最新状态的最小...阅读全文

博文 2018-10-27 10:37:55 debian.cn

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

,来激发下属的上进心和荣誉感的方。团队领导树立那些多方面或某一方面表现突出、有重要贡献的先进模范人物为榜样,引导和号召其他人向他们学习,并努力去仿效和超越他们,从而使下属的工作积极性和创造性可以充分地发挥出来。8、数据激励数据激励是指领导者在详细登记、统计下属的各种工作情况数据的基础上,通过大会讲评、公开张榜和填评比表等形式予以公布,使下属对自己和团队全局的情况有所掌握,从而明确以后的努力方向,进一步鼓舞信心和斗志。...阅读全文

如何在 Debian服务器 上启用双因子身份验证

reload sshd 现在,你可以使用新终端登录,以核实你会被提示输入密码并需要 SSH 密钥。如果你用 ssh -v,例如 ssh -v joseph@example.com,你将可以看到登录的每一步,可以加多个v来获取更多的 debug 信息。 注意,如果你确实将密码设置成必需的身份验证方,你要确保将 PasswordAuthentication 选项设置成 yes。 使用 Google Authenticator 的 SSH Google 在 Google 自己的产品上使用的双因子身份验证系统可以集成到你的 SSH 服务器中。如果你已经使用了Google Authenticator,那么此方将非常方便。 虽然 libpam-google-authenticator 是由 Google 编...阅读全文

博文 2018-12-05 11:44:56 debian.cn

如何使用 journalctl 清理 journal 日志

在CentOS 7开始使用的systemd使用了journal日志,这个日志的管理方式和以往使用syslog的方式不同,可以通过管理工具维护。 使用df -h检查磁盘文件,可以看到/run目录下有日志目录/run/log/journal,占用了数G空间 Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 8.5G 4.2G 4.4G 49% / tmpfs 16G 1.6G 15G 11% /run 在日志目录下有很多历史累积的日志。 检查当前journal使用磁盘量 journalctl --disk-usage 清理方可以采用按照日期清理,或者按照允许保留的容量清理 journalctl...阅读全文

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

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

盘灯: setleds -D +num 关闭数字键盘灯: setleds -D -num -caps: 清除大灯 +caps:打开大灯 -scroll:清除滚动锁 +scroll:打开滚动锁 4. zenity 命令 这个命令可以显示GTK+的对话框,然后返回用户的输入。你可以用这个命令在脚本中显示信息,并要求用户输入信息。下面这段代码就是域名的whois查询: #!/bin/bash # Get domain name _zenity="/usr/bin/zenity" _out="/tmp/whois.output.$$" domain=$(${_zenity} --title "Enter domain" \ --entry --text "Enter the domain you...阅读全文

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

Kafka 3.0新特性全面曝光,真香!

区上,也是我们常说的消息分区有序性。很常见的场景就是我们希望下单、支付消息有顺序,这样以订单ID作为key发送消息就达到了分区有序性的目的。如果没有指定key,会执行默认的轮询负载均衡策略,比如第一条消息落在P0,第二条消息落在P1,然后第三条又在P1。除此之外,对于一些特定的业务场景和需求,还可以通过实现Partitioner接口,重configure和partition方来达到自定义分区的效果。(四)为什么需要分区?有什么好处?这个问题很简单,如果说不分区的话,我们发消息数据都只能保存到一个节点上,这样的话就算这个服务器节点性能再好最终也支撑不住。实际上分布式系统都面临这个问题,要么收到消息之后进行数据切分,要么提前切分,kafka正是选择了前者,通过分区可以把数据均匀地分布到不同...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

Omi 5.0.5 发布,腾讯开源的下一代 Web 框架

框架 Omi 内置 observe 制作响应式视图(免去 this.update) Web Components 也可以数据驱动视图, UI = fn(data) JSX 是开发体验最棒(智能提示)、语噪音最少、图灵完备的 UI 表达式,模板引擎不完备,模板字符串完备但是语噪音太大 独创的 Path Updating 机制,基于 Proxy 全自动化的精准更新,功耗低,自由度高,性能卓越,方便集成 requestIdleCallback 对 this.update 说再见吧!只要使用 store 系统,它就会自动化按需更新局部视图 看看Facebook React 和 Web Components对比优势,Omi 融合了各自的优点,而且给开发者自由的选择喜爱的方式 Shadow DOM...阅读全文

博文 2018-12-13 02:36:19 debian.cn

WebAssembly时代 Rust也想成为Web语言

-bindgen 的高级功能包括: 导入 JavaScript 结构、函数和对象以在 WebAssembly 中调用。开发人员可以调用结构中的方和访问属性。 将 Rust 结构和函数导出到 JavaScript。可以导出一个 Rust struct,它会变成一个 JavaScript class,之后就可以传递结构而不是整型。 目前,WebAssembly 仅支持四种类型:两种整型和两种浮点型。但 JavaScript 和 Rust 开发人员经常使用更丰富的类型,例如 Rust 开发人员使用 Result 类型进行错误处理,这样,使用 wasm-bindgen 的时候,JavaScript 可以使用字符串或 Rust 函数调用 Rust API 来捕获 JavaScript 异常。通过消除...阅读全文

博文 2018-04-10 12:38:26 debian.cn

Kiwi TCMS 6.11发布 开源测试用例管理系统

Kiwi TCMS 是一个集测试计划、测试运行和测试用例于一身的管理系统,用 Python 和 Django 编。6.11 版本已经发布,这是一个安全和改进版本,它更新了许多内部依赖项,添加了 2 个新的 Telemetry 报告,更新了 TestPlan 和 TestCase 克隆页面,并提供了其他一些改进和错误修复。具体内容如下。 支持的升级路径: 5.3 (or older) -> 5.3.1 5.3.1 (or newer) -> 6.0.1 6.0.1 -> 6.1 6.1 -> 6.1.1 6.1.1 -> 6.2 (or newer) 更新 Django,从 2.2.2 更新到 2.2.4更新 marked 到 0.7.0将 python-GitLab 从 1.8.0 更新...阅读全文

博文 2019-08-03 17:18:49 debian.cn

Golang后端面试题目

,merge跟rebase 技术二面 项目相关 通过腾讯会议,腾讯的两个大佬一起面试。 项目实现爬虫的流程爬虫如何做的鉴权吗怎么实现的分布式爬虫电商系统图片多会造成带宽过高,如何解决micro服务发现mysql底层有哪几种实现方式channel底层实现java nio和 go 区别读锁底层是怎么实现的go-micro 微服务架构怎么实现水平部署的,代码怎么实现micro怎么用怎么做服务发现的mysql索引为什么要用B+树?mysql语句性能评测?服务发现有哪些机制raft算是那种一致性算raft有什么特点当go服务部署到线上了,发现有内存泄露,该怎么处理还有一些非常底层的问题 总结 腾讯对于基础部分是相当重视的,总体回答的还算可以项目部分腾讯也是非常重视,从电话里面听出来有一个架构在面试我...阅读全文

博文 2020-04-13 13:13:00 2020腾讯社招

Red Hat Enterprise Linux 8 Beta 已发布

iptables,MySQL 8.0,MariaDB 10.3,PostgreSQL 10 和 9.6,Redis 4.0等等。主要特性有: 简化应用程序开发 —— 通过减少设置和配置工作,可以更快地编代码 对于刚接触 Linux 的开发者来说,这是最简单的 RHEL 适用于传统和云/容器的应用程序,两者都有许多新工具 已经提供了许多工具来构建和测试应用程序 下载: 有三种方可以访问 RHEL 8 beta,这取决于与 Red Hat 的现有关系: 当前的Red Hat开发会员可以通过Red Hat Developer下载。 如果不是开发会员,只需要在上面的链接注册一下即可,不需要费用。 如果是Red Hat Enterprise Linux的合作客户,登录Customer Portal就可以获取客户...阅读全文

博文 2018-11-17 21:01:26 debian.cn

TurnKey Linux 16.0 稳定版发布

、Revision Control、StatusNet、Apache Tomcat、Torrent Server、Trac、TWiki、vtiger、WordPress、Zimra 及其他。 此版本的重要变更体现在底层,主要变化则是在软件层面,可能用户对大部分改变不能明显感知。例如在某些情况下,团队已经将自己的软件 fork (例如,Casper for live ISO 功能) 迁移至 Debian 的默认值 (‘live-boot’和’live-tools’)。又例如定制软件则被移植到使用较新的语言版本。根据官方的说,使用 Python 编的大多数自定义软件(例如 Confconsole,Inithooks,DI-live 和各种库)已从 Python2 移植到 Python3。 TurnKey...阅读全文

博文 2020-05-07 09:49:42 debian.cn

Linux Kernel 5.12-RC1标记为dontuse 严重到会毁掉整个根文件系统

当 Torvalds 将某些代码标记为“dontuse”,通常表明这个问题比较大。在 5.12 首个候选版本更新中,破坏了交换文件(swapfile)的处理。具体来说,更新后的代码会失去指向 swapfile 开头的正确偏移。用 Torvalds 自己的话来说,“交换还是会发生,但它发生在文件系统的错误部分,最终结果显然是灾难性的”。这样 Linux 内核如果想要将内存中的内容分页到磁盘上的时候,数据就会落在相同磁盘和 swapfile 活跃的分区的随机部分上,而且这不是作为文件,而是作为垃圾直接入到磁盘的原始扇区。这意味着不仅要覆盖现有文件中的数据,还要覆盖相当大块的元数据,这些元数据的损坏很可能会导致整个文件系统无挂载和使用。Torvalds 继续指出,如果你根本不使用 swap...阅读全文

RethinkDB的简单介绍

,TokyoTyrant及Schooner Membrain等。RethinkDB为各种应用压力下提供高性能和高可靠性 支持,主要应用在下面一些场景: 用来处理一些其它方案无解决的服务负载(如:要求快速的服务启动,在数据量超出内存大小后还要有高的性能,处理各种不稳定的读压力,处理大量数据等) 提供性能与数据稳定性之间的精细调控 大大提高你的缓存层和key-value存储的性能,在你现有的硬件条件下,能支持更高的应用负载。 使用费用 RethinkDB目前提供两个版本的支持,一个免费版的,一个商用版的。商用版本的价格是每年每台机器$1500。免费版提供目前所有功能,提供后续所有安全相关的升级。但是新功能的升级只保证在付费版本中保持更新,另外商用版本还提供技术支持。...阅读全文

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

RabbitMQ 3.8.8 发布:引入维护模式

RabbitMQ 3.8.8 已经发布。RabbitMQ 是一个 Advanced Message Queuing Protocol(AMQP)的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 编而成,因此它也继承了这些优点。 此版本最大亮点是引入了一种新的节点操作模式,称为维护模式。 当将节点放下进行维护并处于维护模式时,该节点将无用于服务客户端流量,并且将尝试尽可能实际地转移其职责使其安全。当前,这涉及以下步骤: 挂起所有客户端连接侦听器(不接受新的客户端连接)关闭所有现有的客户端连接:应用程序应重新连接到其它节点并恢复所有经典镜像队列的主副本托管在传输目标节点上所有仲裁队列的主要副本托管在传输目标节点上,并阻止它们参与随后触发的 Raft 选举将节点标记为关闭以进行维...阅读全文

博文 2020-09-04 09:46:57 debian.cn

三星全球首秀3nm工艺 电压只需0.23V

在三星路线图上,14nm、10nm、7nm、3nm都是全新工艺节点,其他则是升级改善型,包括11/8/6/5/4nm等等。三星将在3nm工艺上第一次应用GAAFET(环绕栅极场效应晶体管)技术,再次实现了晶体管结构的突破,比现在的FinFET立体晶体管又是一大飞跃。GAAFET技术又分为两种类型,一是常规GAAFET,使用纳米线(nanowire)作为晶体管的鳍(fin),二是MBCFET(多桥通道场效应晶体管),使用的鳍更厚更宽一些,称之为纳米片(nanosheet)。三星的第一颗3nm SRAM芯片用的就是MBCFET,容量256Gb,面积56平方毫米,最令三星骄傲的就是超低功耗,入电流只需要区区0.23V,这要感谢MBCFET的多种省电技术。按照三星的说,3GAE工艺相比于其...阅读全文

博文 2021-03-14 21:41:34 cnBeta.COM

HAProxy用法详解 最详细中文文档

”段用于定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接。 “backend”段用于定义一系列“后端”服务器,代理将会将对应客户端的请求转发至这些服务器。 “listen”段通过关联“frontend”和“backend”定义了一个完整的代理,通常只对TCP流量有用。 所有代理的名称只能使用大字母、小字母、数字、-(中线)、_(下划线)、.(点号)和:(冒号)。此外,ACL名称会区分字母大小。 三、配置文件中的关键字参考 3.1 balance balance url_param [check_post []] 定义负载均衡算,可用于“defaults”、“listen”和“backend”。用于在负载均衡场景中挑选一个server,其仅应用于持久信息不可用的条件下或需...阅读全文

博文 2014-05-10 17:14:46 debian.cn

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

给五年陈的自己 周报,的兴起,编周报,还边用虎跑泉,泡铁观音喝。自己周报的**惯还是要改一改,自己是个性情中人,个周报也透露了太多情感在周报里。有很多人肯定觉得不好,也许以后我也会改,改的越来越干练,掏心的话少说。 兴奋了,喝了茶,睡不着了。灵感闪动,本周是个值得纪念的日子,个文章纪念下过去。 回想这一路路走来,还是很感恩收获的一切,我渐渐从一名菜鸟,成长为一位架构师,记得毕业的时候我给自己定的目标是:五年要成为一方面的专家。虽然,实际的成长比这个慢了两年,但是我还是庆幸自己当初果断的裸辞,然后进入支付宝。 每个架构师都是独立无二的,每个架构师都应该有自己的情怀,这些情怀是你的世界观。 我是如何成长为一个架构师的,我姑且给自己定的 title 就是架构师,不要认为有架构师的...阅读全文

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

LFS 8.0 正式发布:从零开始编译自己的 Linux 发行版

》(LFS)是杰勒德·比克曼斯等人编的久负盛名的安装Linux的教科书,描述了从源代码编译Linux系统的方。这本书可以从在Linux From Scratch网站上免费下载到,下载链接如文末。书中详细地描述了如何从零开始构建一个完整的 Linux 系统,不过 LFS 包含的套件较少,一般来说 BLFS 提供的套件更多,其几个相关的子项目有如下这些: Beyond Linux From Scratch(BLFS) 标准LFS仅仅安装了足够让系统启动的基本软件,以及使新系统能够编译新软件包的开发工具。BLFS包括了更多的软件包,且都有相应指导。 Crosss Linux From Scratch(CLFS) 为需要进行交叉编译(即在一个平台上编译另一个平台的代码)的用户提供指导,正式版本为1.0...阅读全文

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

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

Java 架构师是什么?是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。 所谓架构师,思考的是全局的东西,是如何组织你的系统,以达到业务要求,性能要求,具备可扩展性(scalability),可拓展性(extendability),前后兼容性等。可能涉及到的东西包括了从硬件到软件的方方面面。 架构师在软件开发的整个过程中起着很重要的作用。 架构师的主要任务不是从事具体的软件程序的编,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。 在成为Java架构...阅读全文

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

Java 12 / JDK 12 正式发布

200 MB 还是 200 GB,都将具有相同的暂停时间。 Microbenchmark Suite 微基准测试套件 JDK 源码中新增了一套微基准测试套件,使开发人员可以轻松运行现有的微基准测试并创建新的基准测试。 Switch Expressions (Preview) Switch 表达式(预览功能) 扩展了 switch 语句,使其不仅可以作为语句(statement),还可以作为表达式(expression),并且两种都可以使用传统的 switch 语,或者使用简化的“case L ->”模式匹配语作用于不同范围并控制执行流。这些更改将简化日常编码工作,并为 switch 中的 模式匹配(JEP 305) 做好准备。 JVM Constants API JVM 常量 API 引...阅读全文

博文 2019-03-20 12:46:27 debian.cn

Google 关于 Go 2 的讨论

在本周召开的GopherCon 2017上,Google Go的技术负责人Russ Cox做了关于Go的未来的主旨演讲,请社区就该语言的下一个主要版本应该包含哪些内容提出建议。Google在十年前开始发展Go语言,在5年前提供了第一个稳定版本1.0。目前的稳定版本是1.8.3,Google正在向社区开放,听取下一个主要版本2.0应该包括哪些内容。 最近的一项研究评估,Go语言的开发者数量约为50万。如果就编程语言向所有这些开发人员询问他们想要什么,那么很可能得到一个很长的期望功能列表。但Google非常关心维护与现有Go代码库的兼容性,该代码库大致近似于1B LoC。虽然这表明该语言的成功,但是按照Cox的说,它也是“Go 2的主要制约因素”。 Go 1承诺兼容性,让开发人员放心,只要...阅读全文

博文 2017-07-20 10:03:13 debian.cn

可用于企业的三个非主流 Web 服务器

自从 Tim Berners-Lee 在 1990 年开发 CERN httpd 以来,作为第一个 Web 浏览器的项目,Web 服务器已经走过了很长一段路。 CERN httpd 的源代码于 1993 年公布。虽然一些主要的网络服务供应商为企业提供了闭源的 Web 服务器,但许多其他企业仍保留 Tim Berners-Lee 所体现的开源价值。我们一起来看看目前可用于企业的开源 Web 服务器方案。 Hiawatha Hiawatha 于 2002 年由 Hugo Leisink 开发,他在荷兰学习计算机科学,并希望学生宿舍可以支持互联网服务器。他的目标是开发一个系统,解决其他服务器中存在的安全限制和混淆配置工具的漏洞。 他编的服务器为其他领先的 Web 服务器中的所有常规措施添加了许...阅读全文

博文 2018-05-02 09:27:32 debian.cn

为什么使用 JavaScript 开发物联网?

较于PHP、Python、Java来说,JavaScript是最有可能在物联网大行其道的解释性语言。 JavaScript在浏览器没有对手,nodejs在服务器端也在不停的攻城拔寨,积累了大量的资源,构建了一个完整的应用开发生态环境。 JavaScript语言本身特点适合互联网,事件驱动,异步使单线程处理网络事件得心应手。 JavaScript已经跨界到物联网,受到了行业巨头的关注,各种项目发展的如火如荼。 未来的物联网开发 如果JavaScript在物联网获得成功,那么物联网的开发将会发生巨大的变化。 底层驱动由C实现,应用开发者不需要关注硬件,大量的互联网、移动互联网应用开发者加入物联网开发。 传统的交叉编译、烧、调试的开发方式使用范围将急剧缩小 所见即所得,上位机和下位机的架构由C...阅读全文

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

系统分析工具 Sysdig 详解

Sysdig 是 Sysdig Cloud 开发的主要基于Lua语言的一个开源系统分析工具。Sysdig 能从运行的系统中,获取系统状态和行为,做过滤分析,功能上超同类开源工具。Sysdig 可以看做是 strace + tcpdump + lsof + htop + iftop 以及其他系统分析工具的合集 。 此外 Sysdig 还能对容器(如docker、coreOS、LXC)进行监控。 Sysdig 也支持windows平台和mac平台。下面我们以 Linux系统为例,举例说明 Sysdig 的用,你也可以参考官方原文。 网络 查看占用网络带宽最多的进程:sysdig -c topprocs_net显示主机192.168.0.1的网络传输数据 as binary:sysdig...阅读全文

博文 2020-08-09 14:09:05 debian.cn

SK海力士进军PCIe 4.0 SSD:密度世界第一 轻松32TB

SK海力士今天正式发布了最新款的企业级SSD PE8000系列,包括PE8010、PE8030、PE8111三款型号,这也是其首款PCIe 4.0 SSD,无论存储密度、容量还是性能都是世界一流的,甚至是超一流的。 PE8010、PE8030都配备了SK海力士自产的96层堆叠4D TLC NAND闪存颗粒,搭配自研主控,最大容量8TB,兼容U.2、U.3接口,其中PE8010面向读取密集型应用,PE8030则为读混合应用而优化。 性能方面,持续读速度最高均可达8.3GB/s、3.7GB/s,随机读速度最高则可达1100K IOPS、320K IOPS。 相比于去年的上代产品,持续读取性能提升103%,随机入性能提升357%,另外最大功耗为17W。 PE8111则是针对读取密集型负载...阅读全文

博文 2020-04-08 09:31:41 debian.cn

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

海盗船发布1.6TB NVMe SSD新品:采用PCIe 3.0 x4接口

海盗船(Corsair)刚刚为 Neutron NX 500 系列固态硬盘驱动器添加了 1.6TB 的新版本,其售价为 1575 美元(约 10389 RMB),折合每 GB 容量 0.98 美元。 在 ATTO 基准测试中,其持续读 / 性能分别达到了 3000MB/s 和 2800MB/s;换用 CrystalDiskMark 的话,则是 2800MB/s(读取)和 1600MB/s(入)。随机读 / 性能上,1.6TB 版本分别可达 300k 和 270k IOPS 。 不过与外媒在今年早些时候评测过的 400GB 版本相比,1.6TB 版本 NX500 NVMe SSD 的性价比反而并不高。如果官方的读数据是可以相信的,那 1.6TB 版本的售价未免也太高了。 作为对比,三...阅读全文

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

火焰图(flame graph)是性能分析的利器。本文介绍它的基本用。 一、perf 命令 让我们从 perf 命令(performance 的缩)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈(stack)。 通常,它的执行频率是 99Hz(每秒99次),如果99次都返回同一个函数名,那就说明 CPU 这一秒钟都在执行同一个函数,可能存在性能问题。 $ sudo perf record -F 99 -p 13204 -g -- sleep 30 上面的代码中,perf record表示记录,-F 99表示每秒99次,-p 13204是进程号,即对哪个进程进行分析,-g表示记录调用栈,sleep 30则是持续30秒。 运行后会产生一个庞大...阅读全文

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

分布式运行时 Dapr 知多少

常见做。 那如何解决侵入性的问题呢?这个问题随着容器编排技术的成熟有了新的解。Kubernetes可以不侵入应用层,在容器层解决问题,比如K8S Service就具有服务发现、负载均衡的能力,HPA具有动态扩容的能力。随着K8S的快速发展,云原生的概念,也就越来越深入人心,那如何利用好K8S提供的基座能力,将更多的分布式能力下沉,让应用开发回归业务呢?其中Service Mesh提出的Sidecar模式,就很好的解决了微服务架构中网络通信的问题。Sidecar主要就是用来处理诸如服务发现、负载均衡、请求熔断等一系列非业务需求,应用在部署时动态插入Sidecar,服务间的通信通过Sidecar进行代理,以完成对服务间网络通信的接管。 到这里,微服务开发在Service Mesh的帮助下,已...阅读全文

如何在 Linux 上安装 Intel 微代码固件

revision 0x1c, date = 2015-02-26 [ 1.604672] microcode: sig=0x306a9, pf=0x10, revision=0x1c [ 1.604976] microcode: Microcode Update Driver: v2.01 , Peter Oruba 如果你是 CentOS 系列的系统,需要安装的对应的包名为 linux-firmware 和 microcode_ctl。 如何更新/安装从 Intel 网站上下载的微码 只有在你的 CPU 制造商建议这么做的时候,才可以使用下列的方去更新/安装微码,除此之外,都应该使用上面的方去更新。大多数 Linux 发行版都可以通过包管理器...阅读全文

博文 2018-03-07 19:37:47 debian.cn

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

simsun.ttc放在这个目录 cp simsun.ttc /home/your_username/.wine/drive_c/windows/Fonts/ 有其他文章建议把simfang.ttf simkai.ttf timesbd.ttf timesi.ttf simhei.ttf simsun.ttc timesbi.ttf times.ttf这几个字体都放进这目录,或者更多字体。 这样wine安装程序时应该能够看清楚中文了,但wine安装的程序还会出现中文方块。因此还要修改注册表。先注册表字体修改文件font.reg如下(引用了文章wine中文乱码的解决方一个比较直接的办): REGEDIT4 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT...阅读全文

配置 Debian Stretch 的安装源

采用最小化方式安装的 Debian,在没有接入网络的情况下,默认是没有配置 apt 安装源,也没有安装远程管理用的 SSH 服务的,这个时候就无使用 apt-get install 在线安装软件的,为使用带来不便。以下为大家提供几个 Debian Stretch 的 apt-get 源配置,详细有不好爱好者在使用 Stretch 时会遇到这个问题。 配置apt-get源 在开始配置新的 apt 源之前,可以先备份原有的安装文件,命令如下: cp /etc/apt/sources.list /etc/apt/sources.list.backup 更新 apt 源配置文件 使用以下命令,重整个配置文件即可: cat > /etc/apt/sources.list <阅读全文

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

Kong 发布 API 协作设计工具 Insomnia Designer

API 和服务生命周期管理平台 Kong 发布了 Insomnia 系列开发工具的一个重要扩展 —— Insomnia Designer。Insomnia Designer 提供一个编辑 GraphQL 和 REST API 的协作环境,让开发团队可以更方便地采用规范优先(spec-first)的方用于软件设计。 Kong 于去年收购了开源 REST 客户端提供商 Insomnia,两者秉承着一致的目标在 Insomnia 的基础上推出了 Insomnia Designer,旨在帮助开发者创建 REST 和 GraphQL API。Kong 认为,软件正逐渐朝着松耦合的微服务模式运行,API 也已成为一等公民(first-class citizens)。在这种新的模式下,开发者需要工具来...阅读全文

博文 2020-05-03 15:28:11 debian.cn

多达 95% 的 HTTPS 链接能被黑客劫持

Web 管理员们并没有学会或被告知如何正确地设置 HSTS。 针对这些不安全的站点的最容易的攻击场景是 HTTPS 降级攻击,攻击者可以选择多种方式来迫使一个看起来安全的 HTTPS 连接根本不使用数据加密或使用更弱的算,这样攻击者就可以进行数据窃取了。 据安全研究人员称,在这 95% 的没有正确设置 HSTS 的站点中,有很多银行和金融机构的网站。 你可以通过下面一行配置激活你的 HSTS 不需要费脑筋,你只需要将下述的一行配置添加到你的 HTTPS 服务器配置中即可实现 HSTS。 Strict-Transport-Security: max-age=31536000; 这一行可以让服务器告诉浏览器仅通过 HTTPS 连接来访问其内容,其策略有效期为长达一年的最大有效时间。 当上述配置生效...阅读全文

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

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

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

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

Apache Kafka发布 3.0 正式版

CompletionStage和CompletableFuture类类型的Java 版本上。使用KIP-707,KafkaFuture添加了一种返回CompletionStage对象的方,并以KafkaFuture向后兼容的方式增强了可用性。KIP-466:添加对 List 序列化和反序列化的支持KIP-466为泛型列表的序列化和反序列化添加了新的类和方——这一特性对 Kafka 客户端和 Kafka Streams 都非常有用。KIP-734:改进 AdminClient.listOffsets 以返回时间戳和具有最大时间戳的记录的偏移量用户列出 Kafka 主题/分区偏移量的功能已得到扩展。使用KIP-734,用户现在可以要求 AdminClient 返回主题/分区中具有最高时间戳的记录的偏移量和时间戳。(这是...阅读全文

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

Linux 中使用 Fio 测评硬盘性能

apt-get install git 现在,我们切换到 /opt 目录,并从 Github 上克隆仓库: cd /opt git clone https://github.com/axboe/fio 现在,我们通过在 /opt 目录下切换到 Fio 的源代码目录,执行编译和安装操作了,命令如下: # cd /opt/fio # ./configure # make # make install 使用 Fio 进行磁盘性能测试 现在 Fio 已经安装到了你的系统中,我们一起看看如何使用 Fio 做磁盘的随机、读和读测试。 随机测试 执行下面的命令来开始。这个命令将要同一时间执行两个进程,入共计 4GB( 4 个任务 x 512MB = 2GB) 文件: sudo fio --name...阅读全文

博文 2018-08-15 19:18:24 debian.cn

程序员如何才能成为独立开发者?

大概这几条路: 1)自己做开源项目,足够好,然后鼓励你的关注者给你donate,老外常年用paypal收打赏。厉害一点,直接有人给你包了。 2)用心各种demo或者教程,好看易懂,勤维护,也有人给你打赏,的多了还可以出书,类似阮一峰和廖雪峰。 3)多做前端,几个自己开发的工具类app,笔记啊,图片识别的类似小工具,真的好用,可以加一些小广告,或者开启升级付费的功能。 4)开直播做培训,口条要好,一定要把一些教程练得特别熟练,表演的好像阿里P8以上那种其实都可以自己手一个新的jvm的大牛但是想普惠众生,而江湖隐退来开课办班,帮助大家提高技能和基本功,这种目前好多人在做。 5)程序员都在用的AWS有好消息!AWS(亚马逊云计算)中国区新用户注册即可免费使用12个月云服务产品啦!每注册一...阅读全文

Golang channel 通道常见使用场景

Go 的 channel 在实际项目中是怎么使用呢? channel 会有有缓冲和无缓冲两种类型,无缓冲的可以简单使用让两个 goroutine 数据同步通信。另外一种场景是对某个 object,使用 channel 作为其属性之一,那么待channel阻塞时则表明条件未满足,则需要等待其他数据结果返回。 本文列举几类常见的 channel 使用场景。 读 package main import ( "fmt" "time" ) func WriteData(intChan chan int) { for i:=1;i<=50;i++{ intChan<-i fmt.Println(":",i) time.Sleep(time.Millisecond*100) } close...阅读全文

博文 2021-01-24 21:22:22 debian.cn

LXD 3.8 发布,下一代容器管理器

LXD 服务器必须配置为监听单个 IPv4 或 IPv6 地址,同时内部集群流量和常规客户端流量都使用相同的地址。LXD 3.8 引入新的 cluster.https_address 选项作出改变,write-once 入密钥保存用于集群通信的地址,并且无在不必从集群中删除节点的情况下进行更改。有了这个单独的密钥,现在可以将集群节点上的常规 core.https_address 更改为任何地址,包括通配符模式,如 :8443。 集群镜像复制 集群中引入了自动镜像复制, 在 LXD 3.8 之前,镜像只会被复制到其它集群成员,虽然有利于性能、带宽和磁盘使用,但这有一个明显的缺点,即如果镜像仅出现在单个系统上并且系统脱机,那么在系统恢复之前将无使用该镜像。 此版本通过在至少 3 个系统上复制所...阅读全文

博文 2018-12-14 10:29:14 debian.cn

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

都要用G1垃圾收集器,因为年轻代内存比较大,用G1可以设置GC最大停顿时间,不至于一次minor gc就花费太长时间,当然,因为像kafka,rocketmq,es这些中间件,数据到磁盘会用到操作系统的page cache,所以JVM内存不宜分配过大,需要给操作系统的缓存留出几个G。 2.1 线上问题及优化 2.1.1 消息丢失情况 消息发送端: (1)acks=0: 表示producer不需要等待任何broker确认收到消息的回复,就可以继续发送下一条消息。性能最高,但是最容易丢消息。大数据统计报表场景,对性能要求很高,对数据丢失不敏感的情况可以用这种。 (2)acks=1: 至少要等待leader已经成功将数据入本地log,但是不需要等待所有follower是否成功入。就可以继续发...阅读全文

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

Gitlab CI 配置文件 .gitlab

: rspec: script: test cache: untracked: true 缓存binaries下没有被git跟踪的文件: rspec: script: test cache: untracked: true paths: - binaries/ job中优先级高于全局的。下面这个rspecjob中将只会缓存binaries/下的文件: cache: paths: - my/files rspec: script: test cache: key: rspec paths: - binaries/ 注意,缓存是在jobs之前进行共享的。如果你不同的jobs缓存不同的文件路径,必须设置不同的cache:key,否则缓存内容将被重。 缓存只是尽力而为之,所以别期望缓存会一直存在。查看更多详细...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)