InfraPub 为您找到相关结果 601

固态硬盘的 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

Go 公布 2.0 设计草案:规模化和扩展性、支持泛型

error) bool// As checks whether err or any of the errors in its chain is a value of type E.// If so, it returns the discovered value of type E, with ok set to true.// If not, it returns the zero value of type E, with ok set to false. func As(type E)(err error) (e E, ok bool) 三、泛型(Generics) 想要扩展到大型代码库,代码的可重用性非常重要。 Go 团队在早期其实一直有在调查和讨论“泛型”的可能性设计,但由于种种原因...阅读全文

博文 2018-09-01 18:39:47 debian.cn

Mac OS下如何安装卸载 Homebrew

: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 在安装 Homebrew 时,如果遇到墙的问题,可过设置环境变量 ALL_PROXY,过指定用的代理服务,绕过限制。 卸载 Homebrew 卸载Homebrew同样只需要执行一条命令即可,注意最后一个单词从 install 换为 uninstall 即可, /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" Homebrew 的日常使用 安装指定软...阅读全文

博文 2020-04-04 21:48:16 debian.cn

Debian 安装后要做哪些修复?

简单记录一下, ``` # 修复vim中鼠标右键无法复制 参考 https://debian.cn/articles/307 perl -pi -e 's/mouse=/mouse-=/g' /usr/share/vim/vim8?/defaults.vim 2>/dev/null # 关闭 IPv6,绝大部分环境不需要IPv6 perl -pi -e 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"/g' /etc/default/grub update-grub ```...阅读全文

命令行下如何对字符进行十六进制的编码和解码?

比如,当我们需要查看 /etc/passwd 的内容时,可以过对文件名编码,隐藏这个操作, ``` cat $(echo -e "\x2f\x65\x74\x63\x2f\x70\x61\x73\x73\x77\x64") ``` 如何对指定的字符串做 16 进制的编码?借助 od 命令即可, ``` $ echo /etc/passwd | od -A n -t x1 2f 65 74 63 2f 70 61 73 73 77 64 0a ```...阅读全文

25万次P/E循环 超级长寿的SLC SSD诞生

SLC、MLC、TLC、QLC……NAND闪存类型的进化一直是个争议话题,可靠性和寿命越来越差,或者说P/E编程擦写循环次数越来越低,东芝甚至已经开始探讨PLC,不知道会渣成什么样。对于最初的SLC(每单元只保存1比特数据),很多人都十分怀念,但如今已经几乎绝迹,只在极少数特殊场合才能看到。 东芝正在打造可视为SLC加强版的XL-Flash,而高端固态存储厂商Greenliant最新打造的NANDrive EX系列SSD产品,更是应用了超长寿的SLC闪存。 Greenliant NANDrive EX并非消费级产品,而是面向高性能计算、工业、交运输、视频和网络等特殊行业应用,特别是那些需要超长寿命、高可靠性的应用,能长久保持数据完整。 它采用了Greenliant自家专门设计的...阅读全文

博文 2019-08-07 23:13:00 debian.cn

Debian 环境安装新版 nginx

在 Debian 系统中,我们可以过 apt-get 安装系统自带的 nginx,这样安装的 nginx 版本略旧。Nginx 官网提供了一些编辑绎好的 deb 安装包,我们只需更新安装源,就可以过 apt-get 来安装最新的稳定版 Nginx 了。 加载安装源并导入key $ echo deb http://nginx.org/packages/debian/ stretch nginx | sudo tee /etc/apt/sources.list.d/nginx.list$ wget http://nginx.org/keys/nginx_signing.key && sudo apt-key add nginx_signing.key $ sudo apt update...阅读全文

博文 2019-01-21 13:58:08 debian.cn

Cincoze 推出 DX

Cincoze 刚刚推出了面向嵌入式应用的全新紧凑型迷你工作站,除了采用至强 E 系列处理器,还支持自定义 I/O 扩展。从外形来看,Diamond Extreme 系列的 DX-1100 周身被硕大的散热片包围,但较小的体型,很适合空间受限的环境。处理器方面,客户可选英特尔八代酷睿、或至强 E-2100 系列 CPU 。 值得一提的是,DX-1100 工作站为办公室和工业环境提供了极其强大的连接选项,可定制 I/O 的功能相当受客户欢迎。 Cincoze DX-1100 采用了全金属机身,能够为容量 3.2L 的内部空间带来不错的被动式散热性能(TDP 80W 封顶)。 此外,主板上提供了 2 根 DDR4 SO-DIMM 内存插槽、2 个前端可访问的 2.5 英寸热插拔 SATA 托架...阅读全文

博文 2019-03-09 20:44:50 1100 超紧凑型工作站 至强E系芯片

Debian Stretch 安装 Nodejs 最新版本

有时候我们运行某个软件需要用到较新版的 Node.js 环境,而 Debian 系统默认提供的 Nodejs,版本比较低,Debian 9.3 的系统中版本为 4.8.2,这时候我们需要自己安装 Nodejs 了,这里介绍安装 Nodejs 的一般方法。 升级系统源和安装需要的软件 apt-get update -y apt-get install -y build-essential curl 添加稳定版 Nodejs v8.x 安装源 在 Debian系统中,我们只需要执行以下命令即可, # Debian 系统 curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y...阅读全文

博文 2018-01-17 14:00:39 debian.cn

在树莓派上搭建 Raspbian 系统下的 Kubernetes 集群

网线即可交换机或路由器,以便将所有树莓派连接到一个内网中 安装的大部分工作都依赖网络,因此还需要能访问公网网络。 集群概览 在这个集群里,我们会使用三个树莓派。其中一个树莓派作为主节点,我们将它命名为 kmaster,并为其分配一个静态 IP 192.168.0.50(注:假设使用的私有网段是 192.168.0.0/24),而另外两个树莓派作为工作节点,分别命名为 knode1 和 knode2,也分别分配 192.168.0.51 和 192.168.0.52 两个 IP 地址。 当然,如果你的内网网段和我的不一样,注意 IP 与集群个节点角色的对应关系。 为了能过主机名直接访问节点,我们会更新每个节点的 /etc/hosts 文件,记录IP到主机名的对应关系: echo -e...阅读全文

博文 2020-04-12 16:30:23 debian.cn

Debian 11 Bullseye 升级 Debian 12 Bookworm

configuration of dbus: dbus depends on dbus-daemon (= 1.14.6-1); however: Package dbus-daemon is not configured yet. dpkg: error processing package dbus (--configure): dependency problems - leaving unconfigured Processing triggers for libc-bin (2.36-9) ... Errors were encountered while processing: dbus-daemon dbus E: Sub-process /usr/bin/dpkg returned an error...阅读全文

博文 2023-09-30 11:09:05 烧饼博客

Go 泛型的括号选择:[ ] or ( )

( ) 和 [ ] 可供选择。然而缺少修饰的方括号会在数组和 slice 的类型声明中造成歧义,在解析索引表达式时也会引起小程度的歧义。因此在设计之初他们决定使用小括号,因为小括号似乎更符合 Go 语言的风格,而且看起来问题最少。 为了使小括号正常工作,并且为了向后兼容,他们表示不得不在类型参数列表中引入type关键字。最后,他们在参数列表、复合字面量和嵌入类型中发现了额外的解析歧义,而这些歧义需要嵌套更多的小括号来解决。不过即便如此,他们还是决定继续使用小括号,因为当时还有更重要的设计问题需要解决。 现在他们决定重新考虑这个最初的决定。如果仅使用方括号声明类型参数,那么声明数组的方式如下所示: type A [N]E 不过这就无法与泛型的声明进行区分: type A[N] E 但如果能接受额外的...阅读全文

博文 2020-07-16 10:38:01 debian.cn

都是颗粒 为什么SSD有寿命、内存却没有?

。 SSD则是外部存储,用来长久保存数据,属于非易失性存储,断电后数据还在,但是相对速度慢、延迟高,HDD机械硬盘、U盘、光盘等也是此类。 SSD的存储介质是NAND闪存颗粒,需要施加不同的电压、改变内部状态来存储数据,随着时间的流逝、读写次数的增加,会出现物理性的损耗,最终不可用。 NAND闪存的寿命一般用P/E编程擦写次数来描述,写满一次容量就损失一次P/E。 SLC大约是10万次,MLC只有5000次左右,TLC就只大概2000次,QLC仅为1000次上下,所以不得不依靠更多管理技术和算法来辅助,以保持寿命。 但另一方面,SLC、MLC、TLC、QLC的存储密度越来越大,SSD容量也越来越大,写满的概率越来越低,所以整个SSD的实际寿命其实并没有大大缩短,一般应用无需过分担忧寿命问题。...阅读全文

Linode VPS注册购买教程

按钮,我们可以来到下一步,如图: 这些就是重要信息了,需要注意我们所填的信息,下面是一些重要的事项: – Billing Information 这些,可以作假,但是别太假,你IP在北京,就不要填在上海 – Promotion Code 这是优惠码,建议选上,充值完成之后,可以送我们20美元,填这个:podcastinit2018 – Referral Code 推荐链接,填这个: eac533d58ff7c958135810ada124651d869224df – 信用卡需要VISA或者MASTERCARD,我是用的建行e付卡,输入之后立马过了。 全部填写完毕之后,点击Add Credit,会跳到这个界面: 这是代表我们的账户正在审核,不用担心,如果没问题的话,大概半个小时就能审核过...阅读全文

博文 2021-03-11 17:13:31 diablo4

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

– 安装 tabby-trzsz 插件即可。electerm – 升级到 1.19.0 以上的版本即可。trzsz-go – 只要是支持本地 shell 的终端就可以用。trzsz.js – 让运行在浏览器中的 webshell 和用 electron 开发的终端支持 trzsz。 如果你的终端也支持 trzsz,请告诉我,我很乐意将它加到此列表中。trzsz 使用指南trz 上传文件trz 命令可以不带任何参数,将上传文件到当前目录。也可以带一个目录参数,指定上传到哪个目录。trz /tmp/ tsz 下载文件tsz 可以带一个或多个文件名(可使用相对路径或绝对路径,也可使用配符),将下载指定的文件。tsz file1 file2 file3 -q 静默模式trz -q 或 tsz -q...阅读全文

Ubuntu 19.10 计划于 10 月 17 日正式发布,代号 Eoan Ermine

Canonical 官方 宣布 Ubuntu 19.10 版本的发布日期定在 2019 年 10 月 17 日,它将是 Ubuntu 20.04 LTS 发布之前的最后一个短期版本。 根据 Ubuntu 按照字母顺序进行版本命名的规则,该版本名称基于字母 “E”,代号为 “Eoan Ermine”。“Ermine” 学名白鼬,俗称短尾黄鼠狼。 定于 9 月份发布的 GNOME 3.34 桌面版 将构成下一个 Ubuntu 版本的基础。此更新包括 Nautilus、Evince 和 Calendar 等核心应用程序的新版本,还可能包含改进的录音机工具。 此外,在 Ubuntu 19.04 版本中首次亮相的实验性 Xorg 分数缩放 设置将会在 19.10 版本中更容易获得。 新版本其他的计划...阅读全文

博文 2019-05-14 13:26:43 debian.cn

如何在Debian和Ubuntu下重新打包Deb文件

回来。这样我可以其它电脑上安装,或者将修正的包文件发给我的朋友。我要怎么做呢? 在网络上搜索问题的答案,我发现一个名叫ailoo.net的小型博客,它给出类似这样解释: mkdir -p extract/DEBIAN dpkg-deb -x package.deb extract/ dpkg-deb -e package.deb extract/DEBIAN [...do something, e.g. edit the control file...] mkdir build dpkg-deb -b extract/ build/ 这五条命令将奇迹般地完成工作。让我为你解释一下: 第一条命令创建了一个名为“extract”文件夹和一个名为“DEBIAN”的子文件夹; 第二条命令会从你的...阅读全文

博文 2021-01-28 17:50:21 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

AMD Zen架构双路处理器曝光 很强大

2017年AMD要杀回高性能处理器市场了,明年Q1季度首发8核16线程的桌面版Zen处理器,接着还有32核64线程的Naples(那不勒斯)服务器版处理器,CPU核心数比Intel目前下一代Xeon E的28核56线程还要多。 此前我们对桌面版Zen处理器有所了解,但服务器版Naples处理器还很神秘,上周末有网友曝光了AMD Naples处理器真身,不过这个是16核心的,双路处理器用的,CPU插槽也不是AM4,而是Intel一样的LGA。 爆料的图片来自Reddit用户GumGum9000,图片相当清晰,不过他没有具体说明该处理器的资料,只说是16核Naples处理器。这有点让人迷惑,因为AMD官方早前曝光的Naples处理器都是32核64线程的,尚未听说过有16核的,但考虑到服务器市场...阅读全文

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

树莓派4B修复USB

树莓派4B因为性能的巨大提升,采用电源性能更好的 type c 作为供电口。令人不可思议的是树莓派4B的 USB-C 居然缺少一个 5.1k 欧姆的电阻:原本有两个电阻,分别是R1和R79,结果变成了共用一个电阻。于是所有带有 e-mark 的 type c 电源(可以简单的理解为pd标准的电源)连接树莓派4B的时候都会被当作非供电设备,比如耳机等。 树莓派4B的初始版本是v1.1,包括 1G/2G/4G,revision code 分别是a03111 / b03111 / c03111 。当时树莓派基金会只表示会在后期修复这个硬件bug,但是并没有明确的时间。但是在2019年12月时,已经有明确的案例报道4G版本的树莓派4B已经有v1.2了,这个版本已经增加了电阻。pd标准的...阅读全文

博文 2020-01-28 11:17:21 C供电问题的新版已出货

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

使用 tmate 分享你的终端会话

/DeBucoyRfdOtlUmb5D214NC8 magi@magi-VirtualBox The key's randomart image is: +---[RSA 2048]----+ | | | | | . | | . . = o | | *ooS= . + o | | . =.@*o.o.+ E .| | =o==B++o = . | | o.+*o+.. . | | ..o+o=. | +----[SHA256]-----+ 如何安装 tmate tmate 已经包含在某些发行版的官方仓库中,可以过包管理器来安装。 对于 Debian/Ubuntu,可以使用 apt-get 命令或者 apt 命令来安装。 $ sudo apt-get install software-properties-common $ sudo...阅读全文

博文 2017-12-06 10:33:33 debian.cn

Debian 环境下有趣的命令

sl 命令 你会看到一辆火车从屏幕右边开往左边。。。。。。 安装 $ sudo apt-get install sl 运行 $ /usr/games/sl sl 命令有 -alFe 几个选项, -a An accident seems to happen. You'll feel pity for people who cry for help. -l shows little one. -F It flies. -e Allow interrupt by Ctrl+C. 可以给别人来个恶作剧,他一敲 ls,不知道的肯定很有效果。 $ alias ls=sl fortune 命令 输出一句话,有笑话,名言什么的 (还有唐诗宋词 sudo apt-get install fortune-zh...阅读全文

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

Debian 10 一键安装配置 WireGuard 服务端

-client.conf sed -i "s|AllowedIPs =.*|AllowedIPs = 0.0.0.0/0|" /etc/wireguard/wg0-client.conf sed -i "/^#/d" /etc/wireguard/wg0-client.conf # Print QR code for client config. cat /etc/wireguard/wg0-client.conf |qrencode -o - -t UTF8 # Add to start up sed -i '/wg-quick/d' /etc/crontab echo -e "@reboot root wg-quick down wg0 2>/dev/null; wg-quick up...阅读全文

Irssi: 命令行下的 IRC 客户端

IRSSI 是一款优秀的命令行下的 IRC 客户端,支持常见的操作系统,包括Windows、Mac OSX,Debian、RHEL等系统。本文介绍如何在Debian环境下安装、使用IRC客户端工具 irssi。 安装客户端irssi sudo apt-get install irssi 登陆服务器 irssi -c irc.freenode.net 设置昵称 /nick 注册或登陆 /msg nickserv register <e-mail> # 注册要验证发送到邮箱的key /msg nickserv identify # 验证登陆 进入频道 /join ubuntu-cn # 中文频道 ubuntu-cn;linuxba...阅读全文

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

深入理解Golang之context

++ { messages <- i } time.Sleep(5 * time.Second) close(done) time.Sleep(1 * time.Second) fmt.Println("main process exit!") } 上述例子中定义了一个buffer为0的channel done, 子协程运行着定时任务。如果主协程需要在某个时刻发送消息知子协程中断任务退出,那么就可以让子协程监听这个done channel,一旦主协程关闭done channel,那么子协程就可以推出了,这样就实现了主协程知子协程的需求。这很好,但是这也是有限的。如果我们可以在简单的知上附加传递额外的信息来控制取消:为什么取消,或者有一个它必须要完成的最终期限,更或者有多个取消选项,我们需要根据额外的信息来判断...阅读全文

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

7 个月猛涨 12 亿美元,开源技术服务商成北欧最新独角兽 - OSCHINA

发行价定为 77 美元,首日交易结束后,收盘价为 103.89 美元,上涨 35%,其市值在收盘时已接近 150 亿美元。 GitLab 提供了免费和付费的版本,主要过其订阅产品盈利。根据 GitLab 最新的订阅价格,付费购买有两个方案,分别... 24 4 微软推送 Windows 11 更新,修复 AMD CPU 性能问题 微软已于近日在 Beta 和 Release Preview Channels 中面向 Windows Insiders 发布了 Windows 11 Build 22000.282。此次更新包含了大量的修复程序,其中一项就是针对此前提到的 Windows 11 导致某些 AMD 芯片性能下降问题的修复。 AMD 和微软都曾确认,兼容的 AMD 处理器在运行...阅读全文

博文 2021-10-21 20:04:43 中文开源技术交流社区

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

到当前行的开头。 按 G :移动到文章的最后。 按 $ :移动到光标所在行的行尾。 按 ^ :移动到光标所在行的行首。 按 w :光标跳到下个字的开头。 按 e :光标跳到下个字的字尾。 按 b :光标回到上个字的开头。 按 #l :光标往后移的第#个位置,如:5l,56l . 四、删除、恢复字符或行(vi命令模式下使用) x :每按一次,删除光标所在位置的后面一个字符。 #x :删除光标所在位置的后面#个字符,例如, 6x 表示删除光标所在位置的后面6个字符。 X :每按一次,删除光标所在位置的前面一个字符。 #X :删除光标所在位置的前面#个字符,例如, 20X 表示删除光标所在位置的前面20个字符。 dd :删除光标所在行。 #dd :从光标所在行开始删除#行。 五、搜索(vi命令模式...阅读全文

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

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

很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制最终的输出,光标位置还有各种输出效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支持的。 1. notify-send 命令 这个命令可以让你知进程发送一个桌面知给用户。这可以用来向用户发送提示,或者显示一些信息而不用打断用户工作。你需要安装如下软件包: $ sudo apt-get install libnotify-bin 下面这个例子展示了如何从命令行向桌面发送一个简单的消息: notify-send...阅读全文

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

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

聊天机器人更加成熟,几乎可以达到人类水平。聊天机器人可以用于医疗服务行业,提供咨询和教育服务,这方面将能催生出大型企业。 我相信,不久之后会出现多模态模型,这又将打开新局面。现在,人们可以直接用自然语言命令计算机为你完成你想做的工作,例如DALL-E图像生成工具和Copilot编程工具,都是用户向它们输入自然语言描述,然后工具自动生成用户想要的东西,用户还可以不断迭代修改自己的描述,直至工具给出满意的输出。 类似的AI应用方式会成为大趋势,可以孕育出许多大型企业。强大的AI模型可以成为孵化各种AI应用的平台,就像智能手机的出现催生出众多APP一样,它们的共同点都是可以制造无数的商业机会。 Reid Hoffman:既然大家都可以过API使用大型模型,作为AI企业,怎样才能使自己脱颖而出,开...阅读全文

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

Monit:开源服务器监控工具

2812 and # ssl enable # pemfile /etc/certs/monit.pem # use address all # only accept connection from localhost allow 127.0.0.1 # 允许localhost连接 allow admin:monit # web登录的用户名和密码 ## Services ## Includes include /etc/monit.d/* 配置文件关键字:'if', 'and', 'with(in)', 'has', 'us(ing|e)', 'on(ly)', 'then', 'for', 'of' 。 如何监控 基本流程 1.修改主配置文件2.在/etc/monit.d/增加指定服务的配置文...阅读全文

博文 2023-04-12 15:21:43 阿里云开发者社区

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

消费消息需要紧急处理,可以修改消费端程序,让其将收到的消息快速转发到其他topic(可以设置很多分区),然后再启动多个消费者同时消费新主题的不同分区。 2)由于消息数据格式变动或消费者程序有bug,导致消费者一直消费不成功,也可能导致broker积压大量未消费消息。 此种情况可以将这些消费不成功的消息转发到其它队列里去(类似死信队列,kafka没有死信队列,需要自己写),后面再慢慢分析死信队列里的消息处理问题。 2.1.5 延时队列 kafka没有延时队列,需要自己实现;延时队列存储的对象是延时消息。所谓的“延时消息”是指消息被发送以后,并不想让消费者立刻获取,而是等待特定的时间后,消费者才能获取这个消息进行消费,延时队列的使用场景有很多, 比如 : 1)在订单系统中, 一个用户下单之后常...阅读全文

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

如何校验 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 快速教程:快捷键和配置

select-pane -[UDLR] 在指定的方向选择下一个 pane 更常用的是在 tmux 中直接过默认前缀 ctrl + b 之后输入对应命令来操作,具体如下(这里只列出输入默认前缀之后需要输入的操作): 基本操作 ? 列出所有快捷键;按q返回 d 脱离当前会话,可暂时返回Shell界面 s 选择并切换会话;在同时开启了多个会话时使用 D 选择要脱离的会话;在同时开启了多个会话时使用 : 进入命令行模式;此时可输入支持的命令,例如 kill-server 关闭所有tmux会话 [ 复制模式,光标移动到复制内容位置,空格键开始,方向键选择复制,回车确认,q/Esc退出 ] 进入粘贴模式,粘贴之前复制的内容,按q/Esc退出 ~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息 t 显...阅读全文

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

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

,跑至内存不再增加,果然valgrind显示没有任何内存泄露。反复试验了很多次,结果都是这样。 在多次使用valgrind无果以后,我开始怀疑程序内部是不是用到mmap之类的调用,于是使用strace对mmap,brk等系统函数的检测: strace -f -e"brk,mmap,munmap" -p $(pidof AuthServer) 其结果如下: [pid 19343] mmap(NULL, 134217728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7f53c8ca9000 [pid 19343] munmap(0x7f53c8ca9000, 53833728) = 0 [pid 19343...阅读全文

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

如何使用 journalctl 清理 journal 日志

使用以1024为基数的 K, M, G, T, P, E 后缀, 分别对应于 1024, 1024², … 字节。 SystemMaxFiles= 与 RuntimeMaxFiles= 限制最多允许同时存在多少个日志文件, 超出此限制后, 最老的日志文件将被删除, 而当前的活动日志文件则不受影响。 默认值为100个。 MaxFileSec= 日志滚动的时间间隔。 常并不需要使用基于时间的日志滚动策略, 因为由 SystemMaxFileSize= 与 RuntimeMaxFileSize= 控制的基于文件大小的日志滚动策略 已经可以确保日志文件的大小不会超标。 默认值是一个月, 设为零表示禁用基于时间的日志滚动策略。 可以使用 "year", "month", "week", "day...阅读全文

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

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

代表cpu使用的时间。例如: 九、Async-profiler的使用 和 火焰图分析 背景: 目前有一个kafka消费者工程,此工程会消费kafka中的消息,并过fastjson解析该消息为java实体,然后存入到阻塞队列 BlockingQueue中。另外有若干个线程会从queue中批量拿消息,然后以批量形式写入到 elasticsearch 中。目前在使用中发现存在性能瓶颈,需要定位是该工程对消息转化处理较慢,还是写es操作比较慢。 9.1采集cpu profile数据 我们将代码回退到第一次测试的情况,并启动程序,并找到当前进程号(627891),然后过如下命令进行采集,并转换为火焰图格式 svg。 ./profiler.sh -d 15 -i 50ms -o svg -e cpu...阅读全文

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

最全 MongoDB 基础教程

文档数据 var document = db.ruochen.insertOne({"e": 3}) document var res = db.ruochen.insertMany([{'a': 1}, {'b': 2}]) res 一次插入多条数据 先创建数组 将数据放在数据中 一次insert到集合中 案例 var arr = []; for(var i = 1; i < 5; i++){ arr.push({num:i});} db.num.insert(arr); 更新文档 格式 db.collection.update( , , { upsert: , multi: , writeConcern...阅读全文

博文 2021-02-22 07:45:45 OSChina

Sam Altman的成功学|OneFlow

-E以及近期火出科技圈的ChatGPT。 无论是个人才智和财富,还是远见和野心,Sam Altman显然是标杆性的“成功人士”。 在离任YC总裁的那一年,曾与无数创业者和技术人才交流过的Sam Altman发表了一篇博客,总结了他眼中获得成功所要具备的13个特质,如果你渴求成功,或者至少希望自己变得优秀,这篇博客对你的个人成长将有所启发。如果你恰好在职业生涯早期就看过,无疑是一种幸运。 不同于热衷分享虚头巴脑的鸡汤式成功学的成功人士,Sam Altman给出的这篇“成功学”建议具有可执行性,最显著且可贵的一个特点是——不装。 注意,Sam Altman这篇文章的原标题是“how to be successful(如何取得成功)”,但这13条特质并不是一个人必然取得成功的充分或必要条件。 要知道...阅读全文

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

Conduct),以满足不同处理部门的特定需求,但截至2018年底,未见欧盟监管机构批准这类准则。 (e)由数据保护监管机构认可的证书(Certification Mechanism)。 (3)第三关,若不满足上述(1)、(2)两项,则判断企业集团内部是否建立起有约束力的公司规则(BCR)并被监管机构批准: 各国主管监管机构可以批准某个企业集团内部制定了有约束力的公司规则(BCR),详细规定企业集团内部数据传输、对内对外的法律效力、数据保护原则的适用等要求。 针对数据跨境转移,BCR是较为推荐的模式,目前已采用BCR的跨国企业,包括德意志电信(Deutsche Telecom)、摩托罗拉(Motorola)、西门子(Siemens)等等。 这是种跨国数据转移的长效保障机制,过BCR认证后,企业就无需再...阅读全文

最全的 DevOps 工具集合

Jira Jira 是 Atlassian 开发的专用问题跟踪产品,提供了错误跟踪和敏捷项目管理功能。 JetBrains YouTrack YouTrack 是由 JetBrains 开发的,基于浏览器的专用商业软件,融合了错误跟踪器、问题跟踪系统以及项目管理软件。它的卖点是基于查询的问题搜索,拥有自动完成、分批处理问题、自定义问题属性集,以及创建自定义工作流的特性。 Zendesk Zendesk 可以轻松地从所有渠道跟踪每一个客户问题。目前 Uber 和 Airbnb 等许多公司都在使用 Zendesk Support 作为他们的问题跟踪软件。 源代码控制 源代码控制主要是为了控制资产,减少沟障碍,赋能团队。目前业内比较常用的 SCM 工具包括 Git、GitHub、GitLab...阅读全文

博文 2021-05-26 14:35:21 博客园

Let’s Encrypt :2018年1月发布通配证书

Let’s Encrypt 将于 2018 年 1 月开始发放配证书。配证书是一个经常需要的功能,并且我们知道在一些情况下它可以使 HTTPS 部署更简单。我们希望提供配证书有助于加速网络向 100% HTTPS 进展。 Let’s Encrypt 目前过我们的全自动 DV 证书颁发和管理 API 保护了 4700 万个域名。自从 Let's Encrypt 的服务于 2015 年 12 月发布以来,它已经将加密网页的数量从 40% 大大地提高到了 58%。如果你对配证书的可用性以及我们达成 100% 的加密网页的使命感兴趣,我们请求你为我们的夏季筹款活动(LCTT 译注:之前的夏季活动,原文发布于今年夏季)做出贡献。 配符证书可以保护基本域的任何数量的子域名(例如...阅读全文

博文 2017-11-28 13:23:29 debian.cn

Golang 中的 channel 通道详解

channel道golang的并发模型是序列信处理CSP(communicating sequential process)——使用信来共享内存 ,避免goroutine因竞争共享内存频繁加锁产生的性能问题。基本数据结构golang中提供了一个特殊的类型channel实现goroutine之间的信。channel类似于队列,先进先出。channel数据结构源码在src/runtime/chan.go下。chan 使用 hchan 表示,它的传参与赋值始终都是指针形式,每个 hchan 对象代表着一个 chan。hchan 中包含一个缓冲区 buf,它表示已经发送但是还未被接收的数据缓存。buf 的大小由创建 chan 时的参数来决定。qcount 表示当前缓冲区中有效数据的总量...阅读全文

WebRTC 成为 W3C 和 IETF 正式标准 - OSCHINA

新春现金红包与免费Linux基金会培训&认证,等你来领!>>> 2021年1月26日,W3C(万维网联盟)和 IETF (互联网工程任务组)同时宣布 WebRTC(Web Real-Time Communications,Web 实时信)现发布为正式标准,将音视频信带到 Web 上任何地方。 WebRTC 由用于 Web 实时信的 JavaScript API 和一组信协议构成,支持网络上的任何已连接设备成为 Web 上潜在的信端点。WebRTC 已成为线上信及协作服务的基石。 目前全球都面临着 COVID-19 疫情,WebRTC 让数十亿人无论其设备或地域如何,在 COVID-19 疫情期间也能保持联络。WebRTC 的使用已经超越了最初的核心设计,即在浏览器和其他生态(例...阅读全文

博文 2021-02-03 22:22:47 开源技术交流社区

ServiceMesh 透明代理Linkerd

Linkerd 是一个提供弹性云端原生应用服务网格(service mesh)的开源项目,也是面向微服务的开源 RPC 代理。Linkerd(发音 "linker-DEE")是一个透明的服务网格,旨在过透明地将服务发现、负载均衡、故障处理,插桩(instrumentation)和路由添加到所有的服务间信中,使现代应用程序安全可靠,而无需侵入应用内部本身的实现。 linkerd 作为一个透明的 HTTP/gRPC/thrift/ 等代理,常可以以最少的配置被加入到现有的应用程序中,不管这些应用程序采用什么语言编写。linkerd 能与许多用协议和服务发现后端运行,包括 Mesos 和 Kubernetes 等预定好的环境。 Linkerd 基于 Netty 和...阅读全文