InfraPub 为您找到相关结果 628

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

Go 设计者 Robert Griesemer 和 Ian Lance Taylor 近日在 Golang 官方论坛发帖讨论关于泛型及其括号使用的问题。 他们提到很多人表达了对泛型法的担忧,特别是在类型参数声明和函数实例以及泛型的括号选择方面。 常见的计算机键盘提供了四对单字符对称括号,分别是小括号 ( )、方括号 [ ]、花括号 { } 以及尖括号 < >。基于此,他们解释了目前泛型草案在示例代码中使用小括号的原因。首先,Go 使用花括号来划分代码块、复合字面量(composite literals)和一些复合类型,因此几乎不可能在没有严重法问题的情况下将花括号用于泛型。至于尖括号,解析器在某些情况下要求 <> 需要 unbounded lookahead。 所以只剩下...阅读全文

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

Debian 8 (Jessie)下面如何安装卸载docker

Debian是使用非常广泛的系统,本篇文章第一部分讲述如何在Debian 8 (Jessie) 下面安装 Docker 环境,第二部分介绍了如何彻底的清理 Debian 8 上的 Docker 环境。 Debian 8 使用了3.16的内核,已经满足了docker运行的要求。但是因为安全方面的原因,docker.io 并没有放在debian的stable源里面,而是放在了backports 源里面。为什么从jessie源里面移除docker.io,简而之,是因为go版本的问题。 Debian backports的介绍和使用可以参考本篇文章,或者官方站点的介绍。 安装Docker之前,先设置安装源。 这里我们使用了Docker官方提供的Debian安装源。配置方法如下。新建一个...阅读全文

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

Prometheus 2.13.0 发布

服务监控系统 Prometheus 2.13.0-rc.0 发布了,Prometheus 是一个 Go 开发的开源的服务监控系统和时间序列数据库。该版本引入了一些新特性,比如记录其他组件、增强功能和修复 bug,这些都是为了提高可用性。 更新内容如下: [SECURITY/BUGFIX] UI:修复了一个 Stored DOM XSS 漏洞 CVE-2019-10215. #6098[CHANGE] Metrics:将 prometheus_sd_configs_failed_total 重命名为 prometheus_sd_failed_configs,并更改为仪表 #5254[ENHANCEMENT] 在构建中含 tsdb 工具 #6089[ENHANCEMENT...阅读全文

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

最全 MongoDB 基础教程

版本 weights document 索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重 default_language string 对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英 language_override string 对于文本索引,该参数指定了含在文档中的字段名,覆盖默认的language,默认值为 language MongoDB聚合 MongoDB聚合(aggregate)主要用于处理数据(诸如统级平均值、求和等), 并返回计算后的数据结果。有点类似sql句中的count(*) aggregate() 方法 法 db.COLLECTION_NAME.aggregate...阅读全文

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

Golang 面试题搜集

) - [简单聊聊内存逃逸?](https://github.com/lifei6671/interview-go/blob/master/question/q019.md) - [字符串转成byte数组,会发生内存拷贝吗?](https://github.com/lifei6671/interview-go/blob/master/question/q020.md) - [http的内存泄漏](https://github.com/lifei6671/interview-go/blob/master/question/q021.md) ## Golang 理论 - [Go的GPM调度器是什么?](https://github.com/lifei6671/interview-go...阅读全文

字节跳动开源微服务中间件 CloudWeGo - OSCHINA

9 月 8 日,字节跳动正式宣布开源 CloudWeGo。这是一套以 Go 为核心、专注于微服务通信与治理的中间件集合,具有高性能、可扩展、高可靠的特点。 据介绍,作为项目维护方,字节跳动基础架构团队已推进项目以 CloudWeGo 开源库为主进行迭代,未来团队将坚持内外维护一套代码,统一迭代演进,并逐步分享更多内部微服务最佳实践。 项目地址:https://github.com/cloudwego 项目官网:www.cloudwego.io CloudWeGo 第一批开源了四个项目,以 RPC 框架 Kitex 和网络库 Netpoll 为主。 Kitex Kitex 是一个 Golang 微服务 RPC 框架,具有高性能、强可扩展的特点。 字节跳动使用 Golang 作为主要业务开...阅读全文

博文 2021-09-09 13:56:42 中文开源技术交流社区

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

Go 1.15.7 新鲜出炉:修复安全问题,建议升级

/go/issues/43783。为此,Russ Cox 专门写了一篇博文介绍:https://blog.golang.org/path-security,阐述了该 bug,如何复现以及怎么修复的。(如果打不开,可以看 Go 中文网镜像:https://docs.studygolang.com/blog/path-security ,阅读原文可以直达)2、crypto/elliptic:P-224 曲线上的错误操作。在极少数情况下,P224() 曲线实现可能会产生不正确的输出,括从 ScalarMult 返回无效点。crypto/x509 和golang.org/x/crypto/ocsp(但不括 crypto/tls)支持 P-224 ECDSA 密钥,但不受公共信任的证书颁发机构的...阅读全文

博文 2021-01-25 15:15:34 mp.weixin.qq.com

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

括:无法准确清晰了解、掌控全局的系统运行架构;无法回答应用之间的连通性是否正确;多、多网络调用协议带来埋点成本呈线性增长,且重复埋点 ROI 低,开发一般将这类需求优先级降低,但可观测数据又不得不采集。2、下沉的基础设施能力屏蔽实现细节,问题定界越发困难基础设施能力继续下沉,开发和运维关注点继续分离,分层后彼此屏蔽了实现细节,数据方面不好关联了,出现问题后不能迅速地定界问题出现在哪一层。开发同学只关注应用是否正常工作,并不关心底层基础设施细节,出现问题后需要运维同学协同排查问题。运维同学在问题排查过程中,需要开发同学提供足够的上下游来推进排查,否则只拿到“某某应用延迟高”这么笼统的表述,这很难有进一步结果。所以,开发同学和运维同学之间需要共同来提高沟通效率,Kubernetes 的...阅读全文

博文 2022-03-21 09:11:51 joseph

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

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

Debian下编译安装Golang

”(Bootstrap),也就是用Go来实现Go、用Go来编译Go。之前都是用C来实现,编译Go项目就是编译C。 因此,只要把源码checkout到1.4版本,就可以不需要依赖于Go自身,解决自我依赖悖论。 git checkout go1.4 ./all.bash 二次编译错误:import cycle not allowed import cycle not allowed package ./cmd/dist imports bytes imports errors imports runtime imports runtime/internal/atomic imports runtime Go不支持循环导入,不知算进步还是退步。 不过,这里倒是体现了价值,提前报错。这个错误的主要原因,是编译时把...阅读全文

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

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

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

Linux Mint 19 将基于 Ubuntu 18.04 LTS

Linux Mint项目负责人Clement Lefebvre在该项目2017年的最新月刊中透露,开发团队将很快发布下一个主要的 Linux Mint 和 LMDE。 随着Linux Mint 18.3“Sylvia”的所有版本发布,Linux Mint团队将把精力集中在Linux Mint 19和Linux Mint Debian Edition(LMDE)3上。虽然LMDE 3将只是一个刷新滚动发行版的安装映像,但是即将带来所有最新的Debian安全更新,Linux Mint 19将基于Ubuntu 18.04 LTS(仿生海狸)操作系统发布。 官方Linux Mint安装指南选择新的: Canonical将支持Ubuntu 18.04 LTS(Bionic Beaver),直到...阅读全文

博文 2018-01-01 10:20:43 debian.cn

打破IP协议重塑互联网 华为能做到吗

制化的网络;二是目前的 TCP/IP 协议和框架对 ManyNets(括 IoT 网络、卫星网络等) 互连有限制且具有复杂性。 当下,全息通信满足了人们对交互式的通信体验的需求,从而也需要更高的带宽、更低的延迟、更灵活的网络处理,而满足这些传感应用需求,需要更细度的网络服务能力。 由于现有 IP 不相兼容的寻址机制,IoT 网络、蜂窝网络、工业网络等网络之间的互连受到了限制。而后引进的多种映射机制不仅给系统带来了额外的复杂性,也带来了潜在的隐私和弹性问题。 由此,需要一个更好的解决方案来处理所有类型或虚拟对象的交付和通信,New IP 应运而生。 文章指出,New IP 主要有三个关键特征: 可变 IP 地址长度,无缝支持跨网络通信;用于标识物理和虚拟对象的 IP 地址的义定义;用户定义...阅读全文

博文 2020-03-31 06:40:15 debian.cn

Java 10 正式发布:包含 109 项新特性

个干净的垃圾收集器(GC)接口,改善不同垃圾收集器的源码隔离性。 JEP 307: 向 G1 引入并行 Full GC JEP 310: 应用类数据共享。为改善启动和占用空间,在现有的类数据共享(“CDS”)功能上再次拓展,以允许应用类放置在共享存档中 JEP 312: 线程局部管控。允许停止单个线程,而不是只能启用或停止所有线程 JEP 313: 移除 Native-Header Generation Tool (javah) JEP 314: 额外的 Unicode 标签扩展。括:cu (货币类型)、fw (每周第一天为星期几)、rg (区域覆盖)、tz (时区) 等 JEP 316: 在备用内存设备上分配堆内存。允许 HotSpot 虚拟机在备用内存设备上分配 Java 对象堆...阅读全文

博文 2018-03-21 08:35:10 debian.cn

CentOS停止维护后,我们应该用什么操作系统?

Debian 不能被单个公司所控制。我们的开发人员来自超过 60 个国家/地区,并且 Debian 本身也已经被翻译为超过 80 种。Debian 作为开发者使用的操作系统享有盛誉的原因是丰富的软件数量和软件支持,这对开发者而十分重要。强烈建议专业的程序员和系统管理员使用。Adarsh Verma 在 Fossbytes 上写道面向开发者的 Debian多种硬件架构Debian 支持一长串的CPU架构,括 AMD64、i386,ARM 和 MIPS 的多个版本、POWER7、POWER8、IBM System z 以及 RISC-V。Debian 还可以用于一些特殊用途的架构。物联网和嵌入式设备Debian 可以在各种设备上运行,例如 Raspberry Pi、QNAP 的各个变种、移动设备...阅读全文

Go 1.12 正式版发布,初步支持 TLS 1.3

Go 1.12 正式版发布了,距离上个正式发布版 Go 1.11 已经过去半年。跟往常一样,Go 1.12 保持了 Go 1 的兼容性承诺,预期所有 Go 程序会像之前一样正常编译。 新版本的更新亮点有 TLS 1.3 的初步支持 ,模块(module)支持的提升(目标在 Go 1.13 默认启用 module 模式),支持 windows/arm,以及 提升 macOS & iOS 的前向兼容性。 其中,安全传输层协议 TLS 1.3 比起以往版本,废弃了有安全隐患的 3DES、RC4、AES-CBC 等加密组件和 SHA1、MD5 等哈希算法,带来了更高的性能和安全性。 此外,值得关注的 Go 1.12 的更新内容有: 新版在规范方面没做改动;工具方面的一些变动,有:Go 1.12...阅读全文

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

MongoDB 4.2 正式发布了,MongoDB Server 4.2 提高了现代事务和分析数据平台的技术水平。 Mongodb-4.2 的主要改动括: 分布式事务将 MongoDB 的多文档 ACID 从副本集扩展到共享集群,能够为更广泛的用例服务按需物化视图使用新的 $Merge 运算符,在集合中缓存大型聚合的输出是一种常见的模式,新的 $Merge 运算符将可以有效地更新这些结果,而不是完全重新计算它们通配符索引使建模像产品目录这样的高度异构的集合变得简单和自然,而不牺牲对索引的支持。只需定义一个过滤器,它将自动索引集合中所有匹配的字段、子文档和数组MongoDB 查询增强功能,如更有表现力的更新、新的数学运算符和扩展的 regex 支持。此版本的 update 和...阅读全文

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

Facebook 以最高级别身份加入Linux基金会及其董事会

项目使电信运营商可以轻松地在难以到达的区域部署移动网络,从而降低了建设和维护电信网络的成本。Facebook 的 “Data for Good” 计划用于共享地理数据,以解决一些世界范围内的人道主义问题,括在 COVID-19 疫情期间发挥作用。创建并维护 PyTorch 开源生态系统,为在计算机视觉、自然处理和其他学科中利用人工智能和机器学习贡献了很大一份力量;React.js 也由 Facebook 创建,它为世界上一些最受欢迎的网站提供支持,并且由于其简单性和灵活性而成为前端 Web 开发标准。 Linux 基金会会员分为银级、金级和白金级三种不同等级,白金级即最高等级,每年需缴纳会费 50 万美元,同时拥有董事会席位。AT&T、谷歌、华为、IBM、英特尔、微软、Oracle、腾...阅读全文

Ubuntu 创始人爆粗口: 开源社区弥漫着“反社会人格”

图片来自于 Youtube 关于近期关于放弃 Unity 的决定,Google+用户 Maartin Kozub 在文章中写道: 这个决定并不能简单的用惋惜和悲伤而形容,因为 Canonical 所从事开始的多个项目也宣告了死亡。 我认为当前最大的问题是大部分开源开发者无法深入理解,也不会进而欣赏面向对象的编程(C++)。他们依然还习惯使用 C 来编程一些丑陋的代码,也许有些时候利用个性化定制功能能够让 C 更加接近于 C++,但无疑会增加门槛和降低可读性。所以,为何不直接使用 C++?最典型的例子就是 Wayland。 在另一方面,Canonical 是目前极少数创建优秀和简洁开源 C++代码的公司/社区,就像 Mir 一样能够充分利用各种现代化 C++功能。 Mark...阅读全文

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

Linus Torvalds谈ECC内存的重要性 痛斥英特尔

新年假期,Linus Torvalds在邮件列表中发表的一篇火热的帖子引发技术社区关注,人们借此讨论ECC内存的重要性,Torvalds在文章中抨击了英特尔在这方面的"坏政策",因为特定的市场细分使ECC内存不那么普及。Linus认为,纠错码(ECC)内存 "绝对重要",但 "英特尔在扼杀整个ECC产业方面起到了重要作用。" Torvalds用它惯常的热辣评论了ECC的重要性以及行业领导者和下游厂商有意无意地偷工减料:"因为它可怕的糟糕的市场细分政策......英特尔对整个行业和用户都是有害的,反对ECC的论点一直都是完全的不知所云......现在,即使是内存制造商也开始在内部做ECC,因为他们终于承认了一个事实,那就是他们绝对必须这样做。而内存制造商声称这是因为经济和低功率。而他们都...阅读全文

博文 2021-01-05 13:11:20 debian.cn

Web前端知识体系精简

Web前端技术由html、css和javascript三大部分构成,是一个庞大而复杂的技术体系,其复杂程度不低于任何一门后端。而我们在学习它的时候往往是先从某一个点切入,然后不断地接触和学习新的知识点,因此对于初学者很难理清楚整个体系的脉络结构。本文将对Web前端知识体系进行简单的梳理,对应的每个知识点点到为止,不作详细介绍。目的是帮助大家审查自己的知识结构是否完善,如有遗漏或不正确的地方,希望共勉。 JAVASCRIPT 篇 0、基础法 Javascript基础括:变量定义、数据类型、循环、选择、内置对象等。 数据类型有string,number,boolean,null,undefined,object等。其中,string,number和boolean是基础类型,null...阅读全文

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

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

谷歌开源了一套代码评审(Code Review)规范,它是谷歌一套通用的工程实战指南,几乎涵盖了所有编程与各种类型的项目,这个规范代表了谷歌长期发展以来最佳实战经验的集合,谷歌表示希望开源项目或其他组织能够从这套规范中受益。 代码评审,也称代码复查,如果一个团队正在使用任务分支工作流,那么在所有代码编写完成并通过自动化测试之后,在代码合并之前,就会启动代码评审。通常的目的是查找系统缺陷,保证软件总体质量和提高开发者自身水平,代码评审的所有工具和过程都是为了这个目的而构建的。代码评审对于敏捷团队来说的作用如下: 代码评审共享知识通过代码评审可以更好的进行工作评估代码评审能让你享受休假通过代码评审指导新工程师 既然代码评审要进行众多的检查,那么找一个优秀的评审者就非常重要了。一般对于变更列...阅读全文

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

PHP 7.4 有哪些新特性

性类型限定 class A { public string $name; public Foo $foo; } 不得不说,PHP越来越接近Java等强类型 Improved type variance 协变返回类型: class ParentType {} class ChildType extends ParentType {} class A { public function covariantReturnTypes(): ParentType { /* … */ } } class B extends A { public function covariantReturnTypes(): ChildType { /* … */ } } 依赖(是不是很熟悉): class...阅读全文

博文 2019-11-29 20:45:16 debian.cn

Golang 之禅: 如何写优质代码

在本月初的 GopherCon 上,知名 Go 贡献者与布道师 Dave Cheney 发表了名为《The Zen of Go》的演讲,之后他整理了演讲内容在博客中分享,由于内容过长,他又写了一个简洁版本: 完整版:https://dave.cheney.net/2020/02/23/the-zen-of-go简洁版:https://the-zen-of-go.netlify.com 这里简单翻译一下简洁版本的内容:编写简单、可读、可维护的 Go 代码的十个工程要点。 每个实现单一目标 设计良好的 Go 软件提供一个单一的思路,以及一系列相关的行为。一个好的 Go 软件首先需要选择一个好名字,使用电梯法则(30 秒内向客户讲清楚一个方案),仅用一个词来思考你的软件要提供什么功能...阅读全文

博文 2020-02-25 20:48:33 debian.cn

Golang 中的 channel 通道详解

,dataqsiz 表示缓冲区的大小,对于无缓冲区通道而 dataqsiz 的值为 0。如果 qcount 和 dataqsiz 的值相同,则表示缓冲区用完了。__buf __缓冲区表示的是一个环形队列 。其中 **sendx 表示下一个发送的地址,recvx **表示下一个接收的地址。elemtype 是channel的中存放的具体类型,每一个通道都是一个具体类型的导管,也就是声明channel的时候需要为其指定元素类型。recvq 表示等待接收的 sudog 列表,一个接收句执行时,如果缓冲区没有数据而且当前没有别的发送者在等待,那么执行者 goroutine 会被挂起,并且将对应的 sudog 对象放到 recvq 中。sendq 类似于 recvq,一个发送句执行时,如果缓冲区已经满了,而且没...阅读全文

开源团队协作 TMS 发布新版本 v2.10.0

TMS 是一个用 Java 开发的,类似 Slack、Barrychat 的团队协作沟通Web平台,同时也是一个支持博文wiki撰写,国际化翻译管理的 Web管理系统。近期,TMS 发布了新版本 v2.10.0。 新功能: #IHIS4: 博文最近编辑文章列表,方便找到最近编辑创建的文章, 待办事项管理(让繁多的待办事项有条不紊的备忘记录,然后逐步攻破,减少记忆负担,提高工作利率不是一丢丢) 频道组(聊天频道支持创建分组,方便一次性 @多人 ,减少@具体用户的数次(爽的不要不要的) 优化改进: #II5PA: 游客可见博文 分享链接 复制分享 博文过滤查找清除过滤条件,输入框获取输入焦点 #II9N9: 沟通频道,按标签检索过滤 #IINTK: 沟通内容页面当 window...阅读全文

博文 2018-05-01 23:03:20 debian.cn

服务监控系统 Prometheus 2.0 发布

服务监控系统 Prometheus 2.0 已发布,Prometheus 是一个 Go 开发的开源的服务监控系统和时间序列数据库。 Prometheus 2.0 有一个简单而强大的运营模式。然而,基础设施领域也没有停滞不前,像 Kubernetes 和 Mesos 这样的项目正在迅速改变软件的部署和管理方式。受监控的环境变得越来越活跃。 存储 Prometheus 2.0 有性能显着提高,几乎在所有方面都有所改进。查询延迟更加一致,特别是在高系列流失的情况下,它的规模更大。在不同的现实世界生产情景下测量的资源消耗也显着下降: 与 Prometheus1.8 相比,CPU 使用率 降低了 20% – 40% 与普 Prometheus1.8 相比, 磁盘空间使用率 降低了 33...阅读全文

博文 2017-11-09 10:44:45 debian.cn

Metasploit Framework 5.0 发布 最流行的渗透测试框架

和强大性,更重要的是它的框架(MSF)。它允许使用者开发自己的漏洞脚本,从而进行测试。 之所以称为框架,因为 MSF 本身含了很多漏洞攻击模块,由一群开发者在进行维护和更新,更重要的是几乎每个 CVE 漏洞都会被添加到 MSF 里,有人称之为是“可以黑掉整个宇宙”的渗透测试框架。 这个强大的框架日前已发布最新的 5.0 版本。这是 Metasploit 团队在过去一年中的工作成果。此外,该版本还是自2011年以来 Metasploit 的第一个主要版本。Metasploit 5.0 带来了许多新功能,以及新的发布周期。 其中官方特别提到 Metasploit 5.0 使用了新的数据库,并提供了一种新的数据服务。新版本引入了新的规避机制(evasion capabilities),支持多项...阅读全文

博文 2019-01-15 13:37:28 debian.cn

提问的智慧 – 全文

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

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

Postgres 10 开发者新特性

),但是这些选项可以根据需要进行配置。 Postgres 10另一个重要的新特性是支持JSON和JSONB类型列的全文搜索。一旦我们创建了一个特定的全文索引,我们就可以通过JSON字段对值进行直接搜索。在JSON列上的全文索引与其他列是类似的,因此我们的查询需要使用to_tsquery函数和to_tsvector函数的文本搜索的法。 标识列(Identity columns)和自增列(Auto-increment columns)也是Postgres 10进行改进的一个地方。新的实现方法会有一点冗长,但是它是符合SQL标准的,使得在不同数据库之间的迁移会更加容易。最重要的是,使用Postgres 10时,我们在从一个不同的id重启时,不再需要修改序列(alter sequences)了,但...阅读全文

博文 2017-12-30 11:46:16 debian.cn

聊聊很重要的内核技术eBPF

直接集成到应用程序中的高级库。 2:bpftrace bpftrace是Linux eBPF的高级跟踪。它的受awk和C以及DTrace和SystemTap等以前的跟踪程序的启发。 bpftrace使用LLVM作为后端将脚本编译为eBPF字节码,并利用BCC作为与Linux eBPF子系统以及现有Linux跟踪功能和连接点进行交互的库。 3:Cilium Cilium是一个开源项目,提供基于eBPF的联网,安全性和可观察性。它是从头开始专门设计的,旨在将eBPF的优势带入Kubernetes的世界,并满足容器工作负载的新可伸缩性,安全性和可见性要求。 4:Falco Falco是一种行为活动监视器,旨在检测应用程序中的异常活动。 Falco在eBPF的帮助下审核Linux内核层的系统...阅读全文

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

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

完全构建之前,您也可以从外部贡献者处获取有关信息。 这就是Django的力量。 该框架使您能够快速轻松地从应用模型生成管理站点。 代码设计 与大多数 Web 框架相反,Django 通过使用称为 app 的东西,更容易地将新功能添加到产品中。 因此,开发者可以感受到 Django 鼓励大家编写模块化的代码。 Django对ORM的完善支持 Django的对象关系映射 (ORM) 对数据库进行了完善的支持。所以,它用于查询数据库所需的数据时,没有处理结构化查询(SQL)的麻烦。 与许多通过SQL直接在数据库上工作的Python框架不同,Django开发人员有一个独特的选择来操纵相应的Python的Model对象。 Django对于PostgreSQL,MySQL,SQLite和Oracle...阅读全文

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

DebianLive 11.1.0 及 11.0.0 (32及64位元)英语版本 Xfce 桌面系统中文包

我刚为 DebianLive 11.1.0 及 11.0.0 (32及64位元)英版本的 Xfce 桌面系统造了半中文10个及中文8个,提供中文支援。 功能: (甲) 每一个半中文,都可以为适用的 DebianLive 英版本 Xfce 桌面系统提供中文支援,括显示中文和输入中文。可选用的中文输入法平台有: 1. 小企鹅输入法平台 (fcitx) - 内含 23 个中文输入法 2. 新一代小企鹅输入法平台 (fcitx5) - 内含 32 个中文输入法 3. 智能汇流排输入法平台 (ibus) - 内含 15 个中文输入法 4. 智能通用输入法平台 (scim) - 内含 22 个中文输入法 5. 小小输入法平台 (yong) - 内含 23 个中文输入法 (B) 每一个名称相...阅读全文

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

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

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

Debian 上安装搭建 Shadowsocks 服务

在使用了一段时间后,决定由 CentOS 转移到 Debian 上,以便在低配置的服务器上网站能更加的稳定,Shadowsocks 服务也有之前的 python 版本转移到了 shadowsocks-libev 版本,原因是 libev 的版本是用 C 写的,会更加的节省内存,更重要的是该 libev 一直在不断的维护着,更新也很频繁。 搭建环境 本人还是在 Vultr.com 的 VPS 上安装了 Debian 8.0 x86 minimal 系统,在 Debian 8(Jessie) 编译 libev 版本需要开启 debian-backports 来安装 dh-systemd 和 init-system-helpers. 首先要在 debian 的源列表中添加 backports...阅读全文

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

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

? $ docker exec -ti 9d8e97e307d7 sh / # 成功了!现在可以 attach 到正在运行的容器中了。看起来很有希望,但还有一个问题。 Alpine 基础镜像是基于 muslc 的 —— C 的一个替代标准库,而大多数 Linux 发行版如 Ubuntu、Debian 和 CentOS 都是基于 glibc 的。这两个库应该实现相同的内核接口。但它们的目的是不一样的: glibc 更常见,速度也更快; muslc 使用较少的空间,并侧重于安全性。 在编译应用程序时,大部分都是针对特定的 libc 进行编译的。如果你要将它们与另一个 libc 一起使用,则必须重新编译它们。 换句话说,基于 Alpine 基础镜像构建容器可能会导致非预期的行为,因为标准 C 库是不一样的。你可...阅读全文

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

分布式运行时 Dapr 知多少

微服务。 以上是Dapr官方GitHub仓库上对Dapr的简介。文字虽短,口气却很大,因为其除了涵盖了当前所有的技术热点:分布式、云、微服务,还自我标榜为:分布式应用运行时。分布式应用我们或多或少有些了解,运行时也听到不少,比如常见的运行时:Java 运行时,.NET 运行时,Go 运行时等等,那运行时又是什么东西?简要来说:运行时是程序运行依赖的执行环境。以.NET 程序运行时CLR为例,它为.NET应用程序提供了一个托管的代码执行环境负责应用程序在整个执行期间的内存管理、线程管理、安全管理、远程管理、即使编译等。 那分布式应用运行时,就是提供分布式应用运行所依赖的的执行环境。那运行分布式应用需要哪些环境依赖呢?回答这个问题,我们要先思考开发分布式应用的挑战是什么?明确了挑战,那就找到...阅读全文

Debian 环境中安装git服务器 Gogs(下)

在本教程中,我们将使用 Gogs 在 Debian 9 上按步骤指导您安装和配置您的私有 Git 服务器。这篇教程中涵盖了如何在 Debian Stretch 上安装 Go 、PostgreSQL 和安装并且配置 Nginx 网页服务器作为 Go 应用的反向代理的细节内容。 步骤 4 - 使用 Gogs 安装 Git 服务 使用 git 用户登录并且使用 go 命令从 GitHub 下载 Gogs, su - git go get -u github.com/gogits/gogs 此命令将在 $GOPATH/src 目录下载 Gogs 的所有源代码。 切换至 $GOPATH/src/github.com/gogits/gogs 目录,并且使用下列命令搭建 Gogs。 cd...阅读全文

博文 2018-03-10 09:52:28 debian.cn

Go 泛型草案更新,明年8月Go 1.17引入

机会,并了解两件主要的事。 首先,Go 泛型是否有意义,能给用户带去怎样的惊喜,错误提示消息是否有价值;其次,很多人曾说过需要 Go 泛型,但他们不一定确切知道这意味着什么,那么泛型的设计草案是否以有用的方式解决了此问题。另外,假如有一个问题让人认为“如果 Go 具有泛型,我就可以解决此问题”,那么使用此工具是否可以解决问题? 至于具体的推进计划,Go 团队表示要根据从社区收集的反馈而定。如果设计草案受到好评,并且不需要进行重大更改,那么下一步将是正式的变更提案。 为了保证符合预期,如果每个人都对设计草案完全满意,并且不需要进行任何进一步的调整,则最早可以在计划于2021年8月发布的 Go 1.17 中添加泛型。不过可能存在无法预料的问题,所以这是一个乐观的时间表,团队也无法做出任何明确...阅读全文

博文 2020-06-23 07:40:34 debian.cn

Docker 快速入门之 Dockerfile

在容器环境中,我们可以通过容器创建一个我们自定义过的镜像,那么我们是否可以直接通过基础的镜像直接自定义镜像呢?答案当然是可以的,在 Docker 中我们可以从名为 Dockerfile 的文件中读取指令并且自动构建镜像。在本文中,将介绍 Dockerfile 的基本法以及基本知识。 1 Dockerfile 是什么? Dockerfile 其实是一份文本文档,里面含了用户可以用来操作镜像的一些指令。通过顺序执行这些指令,最后得到一个自定义的镜像,这有点类似于我们的 shell script。 2 Dockerfile 示例 接下来先看一个 Dockerfile 示例: FROM centos LABEL maintainer="Locez " ENV...阅读全文

博文 2017-12-16 13:50:31 debian.cn

分布式任务调度平台 XXL

等; 29、全异步:任务调度流程全异步化设计实现,如异步调度、异步运行、异步回调等,有效对密集调度进行流量削峰,理论上支持任意时长任务的运行; 30、跨平台:原生提供通用 HTTP 任务 Handler(Bean 任务,”HttpJobHandler”);业务方只需要提供 HTTP 链接即可,不限制、平台; 31、国际化:调度中心支持国际化设置,提供中文、英文两种可选,默认为中文; 32、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub,进一步实现产品开箱即用; 参考链接: 中文文档 社区交流...阅读全文

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

Golang常见的十大算法精简版

最近有时间,都在看Go,感觉Go真的不错,具体自行百度。今天简单说一下算法。 什么是算法一系列的计算步骤,用来将输入数据转化成输出结果算法的意义用于解决特定的问题解决同一个问题的不同算法的效率常常相差非常大,这种差距的影响往往比硬件和软件方面的差距还要大。 算法在我们编程开发中,还是不可或缺的。下面简单来列举一下go常见的十大算法。 BubbleSort(冒泡排序) func Sort(list []int, left, right int) { if right == 0 { return } for index,num := range list { if index < right && num > list[index + 1] { utils.SwapGo(list...阅读全文

博文 2019-09-05 09:31:10 debian.cn

Terraform 学习总结 — Terraform 简介

)。Terraform 生成一个执行计划,描述它将做什么来达到所需的状态,然后执行它来构建所描述的基础结构。随着配置的变化,Terraform 能够确定发生了什么变化,并创建可应用的增量执行计划。 Terraform 是用 Go 开发的开源项目,你可以在 github 上访问到它的源代码。 Terraform 核心功能 基础架构即代码(Infrastructure as Code)执行计划(Execution Plans)资源图(Resource Graph)自动化变更(Change Automation) 基础架构即代码(Infrastructure as Code) 使用高级配置法来描述基础架构,这样就可以对数据中心的蓝图进行版本控制,就像对待其他代码一样对待它。 执行计划(Execution...阅读全文

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

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

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

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

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

Vinux 5.1 发布 基于 Ubuntu 的 Linux 发行版

流行的 GNOME 2 fork — 被称为 MATE,虽然将主要支持 Unity。 还要记住开发团队建议用户定期执行更新。这将使 Vinux 团队能够更新软件,并引入新功能。 发行说明中提到一个控制台音回归的变化:“由于 Vinux 5.1 不再使用 ConsoleKit,我们不能引入 Vinux 4.0 控制台音的更改,请参阅 wiki 了解更多信息。使用 Speechd-up 登录到桌面会话,并从 GNOME 终端运行 sudo speechd-up 或添加启动项以在登录时自动执行”。 参考发布公告获取更多的细节。 下载地址 Download: vinux-5.1-amd64.iso (1,318MB, MD5, pkglist)...阅读全文

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

Debian开发者商榷在会议上不允许进行问答环节

定完全禁止 Q&A 环节,以“让它成为对新演讲者更友好的第一个环境”。 这个想法在很大程度上被 Debian 开发者所拒绝,并且看起来不会有足够的动力应用于未来的 DebConf 大会上。虽然有一些开发者支持这个想法,括一些演讲者 —— 其中英不是他们的母,因此希望不必处理问答,而其他人则建议这个政策也许可以由演讲者在每个演示文稿的基础上决定。 有关这想法的讨论,可点此查看(debconf-discuss),Chris Lamb 在他的每月 Debian 项目负责人笔记中也提到了这件事。...阅读全文

博文 2018-10-02 09:44:07 debian.cn