InfraPub 为您找到相关结果 621

C++ 夺冠!成为 TIOBE 2022 年度编程语言

在上个月预想的 C++、C、Python 三种候选语言中,C++ 脱颖而出,成为 TIOBE 2022 年度语言的最终获得者! C++ 摘得桂冠 近段时间来,C++ 的发展有目共睹,其在上个月甚至首次超过了 Java,位居榜单第三的位置。现如今之所以赢得年度语言的称号,TIOBE 官方也进行了总结与回顾。 其表示,「C++ 受欢迎的原因是它出色的性能,同时 C++ 是一种高级面向对象语言。正因为如此,众多开发者可以使用 C++ 快速开发庞大的软件系统(超过数百万行代码),而不一定会陷入维护的噩梦循环中。 C++ 崛起的另一个原因是它“最近”不断发布具有有趣功能的新语言标准。第一个标准被称之为 C++11,它于 2011 年发布,这是自 1998 年以来,C++ 第一次发生的重大变化...阅读全文

博文 2023-01-10 06:42:12 CSDN博客

使用 Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为 其他人 也应该关心。本文包含三个我认为 Go 是重要的语言的原因。 安全 个人而言,你和我或许完全有能力在 C 中序,既不会泄漏内存,也不会不安全地重复使用内存。然而,整体上,即使有超过40年的经验,用 C 的序员也无法可靠地这样做。 尽管静态代码分析、valgrind、tsan 以及 “-Werror” 已经存在了几十年,却很少有证据表明这些工具被广泛认可,更不用说广泛采用。总而言之,事实表明,序员根本无法安全地管理自己的内存。现在是离开 C 的时候了。 Go 不需要序员直接管理内存,所有内存分配都由语言运行时自行管理,使用前初始化,必要时检查边界。它肯...阅读全文

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

基于 Qt 的开源笔记软件 VNote 1.11.1 发布

新年伊始,VNote发布小更新v1.11.1。顾名思义,这次更新将会很“小”,主要是修复已知问题。当然,这次更新也有值得大家浪费带宽下载的地方: 1. 更好的中文支持 这一次基本所有界面都已经支持中文了,强迫症表示幸福感来的有点突然。 2. 更好的复制粘贴 如果大家之前使用VNote来辑,然后在阅读模式将HTML文本复制到其他应用(如OneNote或者邮件客户端)的话,那么这次绝对要更新了。现在VNote支持在阅读模式复制,基本格式无损地粘贴到其他富文本辑器中,甚至支持文本图片混合复制哦!另外,还提供了无背景复制功能,让你的粘贴更酸爽! 3. 更好的主题 改进了主题,特别是针对暗色主题,让大家用得更舒服! 4. 外部序支持快捷键 自定义外部序现在支持快捷键了,从此可以一键打开喜欢的...阅读全文

博文 2018-01-05 23:43:22 debian.cn

聊聊很重要的内核技术eBPF

在2018年的 Linux Plumber 大会上,eBPF成了亮点,有24个议题提到了 eBPF,可以预计eBPF会成为一大技术热点。 eBPF(Extended Berkeley Packet Filter) 的核心是驻留在 kernel 的高效虚拟机。最初的目的是高效网络过滤框架,前身是 BPF。 Linux kernel 3.18版本开始包含了eBPF,相对于 BPF 做了一些重要改进,首先是效率,这要归功于 JIB 译 eBPF 代码;其次是应用范围,从网络报文扩展到一般事件处理;最后不再使用socket,使用map进行高效的数据存储。 根据以上的改进,内核开发人员在不到两年半的事件,做出了包括网络监控、限速和系统监控。目前eBPF可以分解为三个过: 以字节码的形式创建...阅读全文

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

Go 1.10 发布说明草案:预计于 2018 年 2 月发布

Go 1.10 还没发布,下面将简单介绍正在进行中的 Go 1.10 发布说明草案。Go 1.9 已于 2017 年 8 月发布,最新的 Go 1.10 预计将于 Go 1.9 发布六个月后 —— 2018 年 2 月发布。 Go 1.10 大部分的变更仍然集中在工具链、运行时和库的实现上。一如既往地,此版本依然会 保持与 Go 1.x 的兼容性 ,官方表示几乎所有的 Go 应用序都能像以前一样继续译和运行。 语言特性方面的改变 语言特性方面没有实质性的变化。 极端情况下,由无类型常量引起的变化已经弄清楚。因此,译器也已进行升级,它可允许这样的索引表达式 x[1.0 << s] 通过译,其中 s 是一个无类型常量。go/types 包也已完善。 方法表达式的语法 (grammar...阅读全文

博文 2017-11-18 13:59:12 debian.cn

WebAssembly:无需容器的 Docker (上)

同的源语言创建可移植的二进制可执行文件。 这些二进制文件可以在各种环境中运行。 它起源于 Web,并得到各大主流浏览器的支持。Wasm 如何在浏览器中工作?浏览器引擎集成了一个 Wasm 虚拟机,通常称为 Wasm 运行时,可以运行 Wasm 二进制指令。 译器工具链(如 Emscripten)可以将源代码译为 Wasm 目标。 这允许将现有的应用序移植到浏览器,并直接与在客户端 Web 应用序中运行的 JS 代码通信。这些技术能让传统的桌面应用序在浏览器中运行。现在它们可以在任何装了浏览器的设备上运行。 一些著名的例子包括 Google Earth 和用于计算机视觉的 Open CV 库。Wasm 如何在服务器上运行?除了浏览器,也有可以在浏览器之外运行的 Wasm 运行时,包括...阅读全文

博文 2023-01-03 06:35:56 spider

Rust 1.37.0 稳定版发布

) => { const _: [(); $size] = [(); ::std::mem::size_of::<$ty>()]; // ^ Note the underscore here. } } static_assert_size!(Option>, 8); // 1. static_assert_size!(usize, 8); // 2. 注意第二个 static_assert_size!(..):由于使用了未命名的常量,可以在不命名冲突的情况下定义新项。以前,需要写 static_assert_size!(MY_DUMMY_IDENTIFIER, usize, 8);。在 Rust 1.37.0,可以更容易地为静态分析目的创建人机工学和可重用的声明性和过宏。 配置文件引导的优化(Profile...阅读全文

博文 2019-08-17 21:17:23 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 模块),也需要对应用进行更改。许可证变更在以前的版本中...阅读全文

AWS 宣布赞助 Rust 语言

毫无疑问,Rust 目前发展势头正劲。此前,微软安全响应中心探索采用 Rust 的消息引发大量关注,在连续四年蝉联“最受开发者喜爱的语言”后,Rust 可能已经从“想要学习的语言”逐渐转变为许多开发者“正在学习的语言”。自从四年前首次发布稳定版以来,它已经得到了广泛的采用,谷歌,微软和 Mozilla 等公司都在使用 Rust。现在,AWS 也向 Rust 伸出了橄榄枝。 近日,AWS 在其开源博客上发文宣布赞助 Rust 语言。迄今为止,Rust 已在 AWS 中实现了许多增长,Lambda、EC2 和 S3 等服务都选择在性能敏感的组件中使用 Rust。AWS 开源的 Firecracker microVM 项目也正是采用 Rust 写。 AWS 从 Rust 维护者的视角解释了...阅读全文

博文 2019-10-17 22:42:27 debian.cn

基于Inception & Yearning做SQL审核的实践

SQL审核是保证数据库 DDL 和 DML 安全使用、SQL变更可追溯、降低线上数据事故概率的重要手段。去哪儿网开源的 Inception 工具有较大的使用基础,提供了相对完善的 API 接口,结合一些外层的操作界面,可以实现SQL审核、执行、备份和恢复功能,为DBA操作利器。本文详细介绍如何配置 Inception 和 Yearning 的整合。 Inception Inception是一个自动化运维工具,在Mysql前做一个审核和操作的屏障。跟Inception的交互是序级别的,即通过Python或其他实现对Inception的命令调用,并解析结果。 Inception的文档地址:http://mysql-inception.github.io/inception...阅读全文

博文 2018-08-13 17:39:45 debian.cn

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

去年7月,Go 语言官博就曾透露 Go 2 开发计划,并表示 Go 2 的目标就是解决 Go 1.x 在规模化方面做的还不够好的地方。随着时间的推进,开发团队已着手准备 2.0 版本的开发工作,并公布了设计草案,供社区讨论和反馈,以促进最终的语言设计。 设计草案包含三个方面,错误处理、错误值和泛型,并针对各个方面进行了详细的概述和改进草案。大致总结如下: 一、错误处理(Error handling) 为扩展至大型代码库,Go 序必须是轻量级的,不会过度重复,且具备稳健性,能够优雅地处理出现的错误。 目前 Go 检查错误的代码太多,但处理这些错误的代码却严重不足。对于 Go 2,开发团队希望错误检查更加轻量级,减少用于错误检查的 Go 序的文本量。此外,还能更加方便地写错误处理序,提...阅读全文

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

Java Annotations详解

Java注释被用来为java代码提供元数据(meta data)。作为元数据,注释不会直接影响代码的执行结果,不过事实上有些注释就是为了影响代码的执行结果而定义的。 Java注释是从Java 5开始添加的。本文对于Java注释的讨论是基于java 6的,据我所知,到目前为止Java 7中关于注释的部分并没有发生改变,所以本文对java 7人员上来说应该也是可用的。 目录: · Java 注释的作用 · 注释的基础知识 · 注释的位置 · Java中预置的注释 · 创建你自己的注释 Java 注释的作用 预译指令(Compiler instructions) 译时指令(Build-time instructions) 运行时指令(Runtime instructions) Java有...阅读全文

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

Debian下编译安装Golang

=$PATH:$GOROOT/bin:$GOPATH/bin GOROOT是源码与可执行文件的位置。 GOPATH是放置Go的第三方安装包的位置。(译过中并未使用。) GOROOT_BOOTSTRAP是用来自举的Go目录,是1.4版本。 export PATH=*是添加译好的Go、以及以后通过go get安装的第三方库,进入可执行环境。这句,老鸟应该都很熟。 由于GOROOT目录下,只有go和gofmt两个可执行文件,所以也可以用软链接来配置。 注意:这里出现了go和go1.4两个目录,它们本质上是相同的。为避免clone两遍,可以直接本地复制。 cp -r go go1.4 正确的译步骤 先进入GOROOT_BOOTSTRAP/src,执行git checkout go1.4.3,切换到...阅读全文

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

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

现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 JavaScript 写后端代码。这最终催生了MEAN(MongoDB + Express +AngularJS + NodeJS )堆栈 web 开发框架,从前端到后端甚至是数据库(MongoDB -JSON)都使用 JavaScript。在 Node.js 之前,Web 开发通常是在 PHP 的帮助下完成的,因为它很容易与 HTML 集成,帮助开发人员立即构建动态网站。在这篇文章中,我们将比较 Node.js 和 PHP,看哪一个最适合当前的行业需求。 PHP 和 Node.js 的基本区别在于...阅读全文

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

Go 1.16 发布,支持 macOS ARM64

Go 1.16 正式发布,该版本主要包括支持 macOS ARM64、工具链优化、运行时和库的实现优化。并且,该版本保留了Go 1兼容性的承诺,几乎所有 Go 序都能像以前一样继续译和运行。 部分更新内容: - Go 1.16 通过 GOOS=darwin,GOARCH=arm64 在macOS(也称为 Apple Silicon)上添加了对 64 位 ARM 架构的支持。与 darwin/amd64 一样,darwin/arm64 也支持 cgo、内部和外部链接、c-archive、c-shared 和 pie build 模式、竞争检测器 - Go 现在在 NetBSD(netbsd/arm64)上支持 64 位 ARM 体系架构 - Go 现在在 OpenBSD(openbsd...阅读全文

博文 2021-02-17 08:58:12 joseph

C++20 标准草案全票批准通过

9月4日,C++20 的国际标准草案(DIS, Draft International Standard)投票结束,最终获全票批准通过。 这意味着 C++20 已获得了最终的技术批准,并完成了 ISO 的投票,预计在完成最后一轮 ISO 的辑工作后,C++20 将在2020年底正式发布。 与上个版本 C++17 相比,C++20 是一次重大的更新,引入了许多新特性: 模块 (Modules)协 (Coroutines)范围 (Ranges)概念与约束 (Constraints and concepts)指定初始化 (designated initializers)操作符 <=> != ==constexpr支持:new/ delete、dynamic_cast、try/ catch、虚...阅读全文

博文 2020-09-08 10:51:13 debian.cn

Go 1.8 正式发布 标准库有显著变化和性能提升

今天Go 团队很高兴地宣布Go 1.8发布了。现已提供下载。整个标准库有了显著的性能提升和变化。该版本主要的更新内容如下: Go 1.7中为64位x86引入的译器后端现在用于所有体系结构,这些体系结构将会有显著的性能改进。例如,我们的基准序所需的CPU时间在32位ARM系统上减少了20-30%。在此版本中,64位x86系统还有一些性能改进,译器和链接器更快了,译时间应该比Go 1.7提高约15%。但是在这一领域还有很长的路要走:我们希望在未来版本中实现更快的译速度。 垃圾收集暂停时间明显更短,通常在100微秒以下,有时候甚至低至10微秒。 HTTP服务器添加对 HTTP/2 Push的支持,允许服务器抢先发送响应到客户端。这对于通过消除往返行来最小化网络延迟非常有用。HTTP服...阅读全文

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

Netty+Nacos+Disruptor自研企业级API网关

。 TypeScript:TypeScript是JavaScript的超集,它可以增加类型检查、接口声明等特性,减少错误和提高可读性。 NestJS:NestJS是一种流行的Node.js框架,它采用面向对象的方式,提供了路由、中间件、模块化等丰富的功能。 GraphQL:GraphQL是一款优秀的数据查询和操作语言,它可以帮助我们快速构建API,并减少网络传输的数据量。 功能设计 我们将开发一个电商平台,包含以下主要功能: 用户管理:用户可以注册、登录、修改个人信息等,管理员可以查看用户列表并进行管理。 商品管理:管理员可以添加、修改、删除商品信息,包括商品名称、价格、库存、图片等。 购物车:用户可以将商品加入购物车,并在结算时进行支付。 订单管理:管理员可以查看订单列表、订单详情、订单状态等。 开发流 下面是全栈开发的开发流...阅读全文

博文 2023-05-27 12:49:20 bianchengyuan123

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

谷歌帐户来登录,在Linux和你使用的其他操作系统之间同步书签、扩展和应用序。 其他替代方案:Vivaldi(Chromium)、GNOME Web(GTK)和QupZilla(Qt)。 3. GIMP照片辑器 GIMP的全称是“GNU图像处理序”,它是一款免费开源的Photoshop替代工具。虽然它缺少Adobe的一些比较花哨的功能,但是GIMP在常用功能方面与Adobe不相上下,有些方面甚至更胜一筹! 无论你是想快速自动修饰自拍照头像、创建可以在网上共享的多层次文化基因,还是作为摄影业余爱好的一部分,搞些专业的修饰工作,都要打量一下GIMP。 替代方案:Photomatix(收费版)、Pinta(GTK)和Shotwell(GTK)。 4. VLC媒体播放器 你不需要我告诉VLC是...阅读全文

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

2016 年 Go 语言使用习惯调查

Go 语言官方博客公布了 2016 年 Go 语言使用调查。在 3,595 名被调查者中,89% 称他们在工作中或工作之外用 Go ;63% 称他们的工作是 Web 开发,但只有 9% 的人只从事 Web 开发,一半以上被调查者的工作涉及三个以上领域;63% 的人用 Go 开发命令行序,60% 写 API 或 RPC 服务,52% 写 Web 服务。 被调查者对 Go 的满意度非常高(这显然与被调查者这一群体高度相关),他们主要在 Linux 上进行开发,其次是 MacOS,第三是 Windows;最爱的辑器是 Vim,其次是 VSCode、Atom、IntelliJ、Sublime Text 和 Emacs;大部分人主要通过 Stack Overflow 寻找 Go 相关问题的答...阅读全文

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

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

对于 Python 开发者来说,web 开发框架真可谓玲琅满目。然而 Django , 毋庸置疑的成为最受青睐的 web 框架。通过本篇博客,我来为大家讲解下为什么相比 Flask、Pyramid、Tornado、Bottle、Diesel、Pecan、Falcon 这些流行的 Python web 框架,Python 开发者更倾向于选择 Django。 再大肆宣扬Django之前,让我们简单了解一下web框架 Web框架是一个代码库,使开发人员更容易构建动态网站、Web应用序和Web服务。 众所周知的是,每个网站都有一些通用的功能(如处理会话,数据验证等等),一些您每次创建网站时都需要写的功能。 这使开发任务平淡乏味。 然而,使用Web框架可以让您每次创建网站都需要重新写通用功能代...阅读全文

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

图解 Debian 系统通用安装教程

这篇文章我会尽可能详细地说明如何快速安装纯净的Debian新系统,需要懂一点vi辑器的使用方法。 如果是新手,没用过 vim 辑器也不用担心,我会尽量详细地说明使用方法。 首先在Debian官网上下载网络安装CD或者完整DVD镜像,DVD镜像只需DVD-1即可。如果你的网络环境不错,推荐下载 netinst 包,通过网络安装 Debian 系统。 下载好镜像后做成U盘启动盘,从U盘启动开机。在引导界面选择Graphical install(图形化安装),进入安装过,如图: 选择语言界面,选择中文吧, 提示虽然是好心,但是安装过中我就见到一处乱码还就是下面这个图上,直接选是,下一步。 区域选择,选择中国。 主机名,自己随便填吧。 域名可不填,直接下一步。 设置root密码,自己设定好...阅读全文

博文 2017-07-13 12:52:56 debian.cn

深入学习golang — channel

Consumer( queue <-chan int){ for i :=0; i < 10; i++{ v := <- queue fmt.Println("receive:", v) } } func main(){ queue := make(chan int, 1) go Producer(queue) go Consumer(queue) time.Sleep(1e9) //让Producer与Consumer完成 } 上面的示例在Producer中生成数据,在Consumer中处理数据。 4. Server模型 在server,一种常用的模型:主线接收请求,然后将请求分发给工作线,工作线完成请求处理。用go来实现,如下: func handle(r *Request...阅读全文

博文 2021-01-25 12:39:17 博客园

DNSCrypt简明教程

文可见:DNSCrypt简明教 - Jiajun的随想我们输入 jiajunhuang.com 之后,浏览器是需要将 jiajunhuang.com 翻译成IP,然后才能建立TCP连接的。而将域名翻译成IP地址, 就是DNS服务器的事情,但是有一个小问题,DNS是明文的。也就是说,尽管你使用了HTTPS,由于在建立TLS连接之前,你得先查询域名所对应的IP,因此,还是可以通过监控你的DNS来推测你准备 访问什么流量,更坏一点的情况,可以给你伪造一个响应,返回错误的地址,这种情况就叫做“DNS污染”。所以我们需要使用DNSCrypt来加密我们的DNS通信:$ sudo pacman -S dnscrypt-proxy然后辑 /etc/dnscrypt-proxy/dnscrypt...阅读全文

博文 2021-02-06 19:55:08 知乎

第七届开源操作系统会议(OS2ATC)资料下载

开源操作系统年度技术会议(简称 OS2ATC)是为了促进我国操作系统相关教学、研究与产业的发展,加强学术研究,展开跨学科的交流等。本届 OS2ATC 会议 2019 年 12 月 14 日 在深圳鹏城实验室举办,邀请了国内一线的操作系统专家和团队领导围绕如何“开源协作”进行深入探讨。 本次除了邀请操作系统及相关领域的知名专家学者做大会的演讲,还围绕了“内核技术”、“全栈及应用生态”、“语言及译器”、“架构及芯片技术”、“虚拟化技术”等专题进行讨论。会议资料下载地址: 地址一: https://www.atzlinux.com/debian/doc/os2atc2019/地址二:https://debian.cn/files/os2atc2019/...阅读全文

2017 热门开源自动化测试框架优缺点对比

1. Robot Framework Robot Framework(RF)是用于验收测试和验收测试驱动开发(ATDD)的自动化测试框架。 基于 Python 写,但也可以在 Jython(Java)和 IronPython(.NET) 上运行,提供跨平台支持(Windows、Linux 或 MacOS )。 优点: 通过使用关键字驱动测试(KDT)方法简化了自动化测试过,方便测试人员创建易读的测试。 测试数据语法简单易用。 生态系统丰富。由各种通用测试库和工具组成,这些工具都是作为独立项目开发的。 具有高度可扩展性。 可通过 pabot 或 Selenium Grid 执行并行测试。 缺点: 自定义 HTML 报告较为麻烦。 如果是针对大范围的库和扩展的 KDT 自动化测试,建议使用...阅读全文

博文 2017-11-15 08:52:47 debian.cn

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

众所周知,在Java的知识体系中,并发是非常重要的一环,也是面试的必问题,一个好的Java序员是必须对并发这块有所了解的。为了追求成为一个好的Java序员,我决定从今天开始死磕Java的并发,尽量弥补自己在这方面的知识缺陷。 并发必须知道的概念 在深入学习并发之前,我们需要了解几个基本的概念。 同步和异步同步和异步用请求返回调用的方式来理解相对简单。 同步:可以理解为发出一个请求后,必须等待返回结果才能执行下面的操作。 异步:请求发出后,不需要等待返回结果,可以继续执行后续操作,异步请求更像是在另一个 “空间” 中处理请求的结果,这个过不会影响请求方的其他操作。 举个生活中的例子,比如我们去实体店买衣服,挑选完款式后下单让售货员去仓库拿货,在售货员拿货的过你需要在店...阅读全文

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

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

bmon 是类 Unix 系统中一个基于文本,简单但非常强大的 网络监视和调试工具,它能抓取网络相关统计信息并把它们以用户友好的格式展现出来。它是一个可靠高效的带宽监视和网速估测工具。 它能使用各种输入模块读取输入,并以各种输出模式显示输出,包括交互式文本用户界面和用于脚本写的可文本输出。 在 Linux 上安装 bmon 带宽监视工具 几乎所有 Linux 发行版的默认仓库中都有 bmon 软件包,可以从默认包管理器中轻松安装,但可用的版本可能比较旧。 $ sudo yum install bmon [On RHEL/CentOS/Fedora] $ sudo dnf install bmon [On Fedora 22+] $ sudo apt-get install bmon...阅读全文

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

Scrapy 架构及数据流图简介

Scrapy 是一个为了爬取网站数据,提取结构性数据而写的应用框架。 可以应用在包括数据挖掘、信息处理或存储历史数据等一系列的序中。本文着重介绍 Scrapy 架构及其组件之间的交互。 Scrapy 组件介绍 Scrapy Engine 引擎负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。 详细内容查看下面的数据流(Data Flow)部分。 调度器(Scheduler) 调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。 下载器(Downloader) 下载器负责获取页面数据并提供给引擎,而后提供给spider。 Spiders Spider 是 Scrapy用户写用于分析response并提取item(即获取到的item)或额外跟进的...阅读全文

博文 2017-07-23 22:56:26 debian.cn

Rust 1.39.0 发布,async/.await 稳定了

: &[u8]) -> usize { slice.len() } 现在可以以更简洁的方式: fn len( #[cfg(windows)] slice: &[u16], // This parameter is used on Windows. #[cfg(not(windows))] slice: &[u8], // Elsewhere, this one is used. ) -> usize { slice.len() } 这里可以使用的属性包括: 条件译:cfg 和 cfg_attr控制 lint:allow、warn、deny 与 forbid应用于项目的过宏属性使用的帮助序属性 这在整个语言生态中提供了一个更具可读性的基于宏的 DSL。 标准库中增加的 const fn 此版本中...阅读全文

博文 2019-11-11 09:44:43 debian.cn

在 Mac OS X 上安装 Nessus 10

launchctl load -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist 停止服务:sudo launchctl unload -w /Library/LaunchDaemons/com.tenablesecurity.nessusd.plist (2)使用浏览器访问:https://:8834,注意忽略证书警告 (3)选择 “Managed Scanner” (4)选择 Tenable.sc (5)创建管理员帐号和密码 (6)译插件(新安装译过很快) (7)自动登录,安装成功 此时只有 “Setting”(没有 “Scans”)且显示未注册。 四、 安装插件和创建配置文件 此时下面两个配置文件都是空白的 /Library...阅读全文

Focalboard :一款开源、本地存储、免费的类 Notion 应用

源、本地、免费、加密的在线文档应用成为这些用户的期待。然而,在关注一年多后,Anytype 的官方内测依然在小规模进行,还没有进入 Beta 阶段。Anytype Anytype还有更多的选择吗?在互联网遨游过中,我发现了 Focalboard——一款免费、开源的类 Notion 应用。Focalboard 看板视图FocalboardFocalboard 的自我定位是“Trello、Notion 和 Asana 的开源、自托管替代品”。产品定位:Focalboard 本质上属于项目管理工具,主要帮助个人和团队对任务进行组织、跟踪和管理。外观和操作方式:Focalboard 提供了类似 Notion 的列表视图、看板视图、Gallery 视图,没有 Notion 的时间轴等视图。辑方式...阅读全文

博文 2021-09-16 19:50:29 少数派

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

SQLite 3.30.0 发布,使用最广泛的数据库引擎

SQLite 3.30.0 发布了,SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。SQLite 嵌入在所有手机和大多数计算机中,也捆绑在为数众多的其它应用中,是世界上使用量最大的数据库引擎。 此版本更新内容包括: 添加对聚合函数的 FILTER 子句的支持添加对 ORDER BY 子句中的 NULLS FIRST 和 NULLS LAST 语法的支持增强了 index_info和index_xinfo 译指示,以提供有关 WITHOUT ROWID 表在磁盘上的表示形式的信息新增 sqlite3_drop_modules() 接口,使应用序可以禁用不需要的自动加载的虚拟表改进 CLI 中的 .recover dot...阅读全文

博文 2019-10-06 12:03:42 debian.cn

玩转 AWS 的必备工具

主要详细介绍Ansible和SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行序拷贝到总体目标isntances上并实行,随后根据ssh连接在远控制服务器上启用Ansible可执行序。Ansible应用YAML做为配备模版英语的语法。 小在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了...阅读全文

玩转 AWS 的必备工具

SaltStack。 AnsibleAnsibleisSimpleITAutomation Ansible的配备简易,不用在远控制instances上事先尤其的手机软件,只必须能根据ssh登陆和Python就可以了。其原理都不繁杂,Ansible最先根据ssh将Ansible的可执行序拷贝到总体目标isntances上并实行,随后根据ssh连接在远控制服务器上启用Ansible可执行序。Ansible应用YAML做为配备模版英语的语法。 小在考博士期内以前参加过一个十分相近Ansible的群集管理系统软件新项目GXPClusterShell。GXP比Ansible大概早了五年。根据GXP不但能够达到相近Ansible的群集管理方法,与此同时也涵盖了一个根据make的Map-Reduce解决构架和一...阅读全文

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

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

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

DevOps 越来越流行,2019 年这八大趋势值得关注

。 在 2019 年,将会发生从 CI 管道到 DevOps 装配线的转变。DevOps 装配线专注于自动化和连接多个团队执行的活动,例如开发人员的 CI,运维人员的基础架构配置和配置管理,测试人员的测试自动化,SecOps 的安全补丁,发布负责人的语义版本控制和部署到多种环境,等等。 下图展示了单个应用序或服务的典型装配线: 自动化将成为主要焦点 关于 DevOps,我们谈论了很多自动化方面的内容。如果可能的话,零接触(zero-touch)自动化就是未来的发展方向。这并不是说你一定要自动化一切,只是说如果有必要,你就应该能够做到。了解 DevOps 周期的六个“C”,并确保在这些阶段之间应用自动化,这才是关键,这将是 2019 年的主要目标。 测试人员要学习码 DevOps 对知道如何...阅读全文

博文 2018-12-10 22:49:57 debian.cn

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

态。这时,虽然 Java 能够对外提供服务,但服务质量较差,如果该阶段的用户并发较高,那么就会造成服务质量降级乃至服务崩溃。 为了优化这一过,通常的工业实践会在 Java 启动后引入 " 预热 "(warmup) 步骤,通过人为导入数据来让应用提前加热。在预热完成之前,用户请求通过网络控制不让它发送到 Java 进,在预热完成之后才打开流量限制让 Java 真正提供服务。这个做法可以部分缓解上述问题,但是该方案在很多场景下会有一些局限性,在很多情况下,获取一份高质量的预热数据是很困难的。而预热数据的正确性直接影响预热效果,与实际情况相符的数据可以提高译质量,如果不一致,有时反而会造成反面效果,比如一种常见的情况是预热时漏掉重要方法调用。更糟糕的情况是由于和实际情况不一致,导致 JVM...阅读全文

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

OpenStack 基金会发布新容器项目 Kata

和运行时的标准规范。Hyper 的 runV 被视为“容器管理序”,支持 Xen 和 KVM。以上两个项目都被包含在 Kata 中,runV 用来启动容器。 在几天前举行的 Kubecon/CloudNativeCon 大会上有一场 演讲 提到了所谓的“虚拟容器”的底层技术,可以运行直接由超级管理序管理的容器。在多租户环境里运行由 Kubernetes 管理的容器时,租户之间的隔离问题是重中之重。使用不同的虚拟机来运行不同的容器可以达到一定度的隔离。但对于 Hyper 来说,这样做不是必需的,因为每个容器由单独的管理序进行管理,而不是运行在单独的虚拟机上。 现有的 OpenStack 容器项目 Magnum 和 Zun 使用了其他容器技术和配器。用户可以通过 Magnum 为容器创...阅读全文

博文 2017-12-14 22:45:39 debian.cn

Grafana v6.0.0 发布,数据展示与分析平台

query using _interval_ms variable throws error #14507 而 Grafana 在 6.0 版本的主要新特性有: Explore – 一个新的查询,专注于数据探索和故障排除的工作流。Grafana Loki – 与 Grafana Labs 的新开源日志聚合系统集成。Gauge Panel – 一个新的独立仪表板。New Panel Editor UX 改进面板辑,在不同可视化间的切换变得容易。Google Stackdriver Datasource 已经退出测试,并正式发布。Azure Monitor 插件从外部插件移植到核心数据源。React Plugin 支持(React Plugin support)为构建插件提供了更简单的方式...阅读全文

博文 2019-02-26 12:52:16 debian.cn

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

很多初学者至今还在给我写信请教,问我该学习什么序语言,怎么学习。由于我知道如何掌握“所有”的序语言,总是感觉这种该学“一种”什么语言的问题比较低级,所以一直没来得及回复他们 可是逐渐的,我发现原来不只是小白们有这个问题,就连美国大公司的很多资深工师,其实也没搞明白。 今天我有动力了,想来统一回答一下这个搁置已久的“初级问题”。类似的话题貌似曾经写过,然而现在我想把它重新写一遍。因为在跟很多人交流之后,我对自己头脑中的(未转化为语言的)想法,有了更精准的表达。 如果你存在以下的种种困惑,那么这篇文章也许会对你有所帮助: 你是初学者,不知道该选择什么序语言来入门。 你是资深的序员或者团队领导,对新出现的种种语言感到困惑,不知道该“投资”哪种语言。 你的团队为使用哪种序语言争...阅读全文

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

NSA 的 Python 手册

Python 开发者现在可以观摩下美国情报机构 NSA 是如何培训 Python 序员的。软件工师 Chris Swenson 根据信息自由法案递交申请,要求访问 NSA 的 Python 培训材料,结果收到了 400 页经过辑的 NSA COMP 3321 Python 培训课打印资料。 Swenson 扫描了打印稿,用 OCR 进行识别,确保数字档案可搜索,将其托管在 Digital Oceans Spaces,之后又被上传到了互联网档案馆。Swenson 称他问 NSA 索要 Python 培训材料纯粹是出于好奇。 Python 开发者 Kushal Das 观摩之后摘录些有趣的细节:NSA 有内部的 Python 包索引,其 GitLab 实例是...阅读全文

博文 2020-02-20 12:00:39 debian.cn

ServiceMesh 透明代理Linkerd

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

Debian 安装包的简单制作

└── usr ├── local │ ├── bin (可执行文件安装位置) │ └── lib (使用到的相关库,目标机器没有安装) └── share (非必须) └── doc └── example-package 准备相关文件 译完成后,将译后的文件放到 example-package/usr/local/bin下 根据需要按上方的文件结构添加内容 写control 文件 Package: example-package Version: 1.0-1 Architecture: amd64 # 运行的CPU架构 Maintainer: UserName <邮箱> Installed-Size: 10 Section: unknown # 应用类型 不知道就用 unknown...阅读全文

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

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

法。 当在 /etc/ssh/sshd_config 中新加一行配置,如下。这样在建立sshliaSSH 需要提交一个 SSH 密钥,然后提示输入密码: AuthenticationMethods "publickey,password" 如果你想要对指定用户设置这些方法,那么请使用以下附加配置: Match User joseph AuthenticationMethods "publickey,password" 当你已经辑或保存了新的 sshd_config 文件,你应该通过运行以下序来确保你没有犯任何错误: sshd -t 任何导致 SSH 不能启动的语法或其他错误都将在这里标记出来。当 ssh-t 运行时没有错误,使用 systemctl 重新启动 SSH: systemctl...阅读全文

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

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

在以前,很多从其他语言转过来 Go 语言的同学会问到,或是踩到一个坑。就是以为 Go 语言所打包的二进制文件中会包含配置文件的联同译和打包。 结果往往一把二进制文件挪来挪去,就无法把应用序运行起来了。因为无法读取到静态文件的资源。 无法将静态资源译打包进二进制文件的话,通常会有两种解决方法: 第一种是识别这类静态资源,是否需要跟着序走。第二种就是考虑将其打包进二进制文件中。 第二种情况的话,Go 以前是不支持的,大家就会去借助各种花式的开源库,例如:go-bindata/go-bindata 来实现。 但从在 Go1.16 起,Go 语言自身正式支持了该项特性,今天我们将通过这篇文章快速了解和学习这项特性。 基本使用 演示代码: import _ "embed...阅读全文

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

Debian中如何设置静态IP地址 网关 DNS

用 ctrl+x 退出 nano 辑器。 配置Debian环境中的 DNS 服务器 这个配置过与Redhat 系列的系统是相同的,只需要修改 /etc/resolv.conf 文件即可,内容如下, nameserver 114.114.114.114 #设置首选dns nameserver 8.8.8.8 #设置备用dns 至此,IP地址、网关、DNS配置完成。 重启网络使配置生效 sudo service networking restart 检查新配置是否工作, ping debian.cn 如果重启网络后,配置并没有生效,请检查是否有书写错误,比如全角和半角字符。interfaces 文件中 "auto eth0" 也很关键, /etc/init.d/networking 根据这个...阅读全文