InfraPub 为您找到相关结果 485

使用 Go 语言的三个原因

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

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

Debian下编译安装Golang

我的Debian是用来工作的,因此用的是稳定源。稳定源的优点是,软件经过充分的测试,处于稳定版本。这种状态对于绝大多数软件,都是最合适的。 但是,对于一些需要最新版本的软件来说,稳定源太过于滞后。 官网不仅连接不稳定,二进制发布包也不够全。 目前(2016),Debian的稳定源只能安装go1.3版本。如果需要最新的版本,只能自行从源译安装。 卸载旧版本 sudo apt-get remove golang sudo apt-get autoremove 源下载 git clone https://github.com/golang/go.git 如果没有Git,必须自行解决;如果没有gcc,也需要自行安装。 此外,golang/go这个库实在太大,近200MB。完整从GitHub上...阅读全文

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

聊聊很重要的内核技术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

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

比如,当我们需要查看 /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 ```...阅读全文

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 知乎

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

-document/ Yearning 由于Inception是一个基础工具,如果要做SQL审核,系统级的业务操作(提DDL&DML,审核,执行等)还需要一个人机交互的界面,Yearning 就是这么一个 Python 实现的 web 系统。 Yearning的文档地址:https://cookiey.github.io/Yearning-document/ Inception安装 参考资料:http://mysql-inception.github.io/inception-document/install/ Inception的译,使用源译时,首先需要对bison包进行降级(yum收录的是3.0.4,源译2.5) bison 2.5的源译 代获取:http://ftp.gnu.org...阅读全文

博文 2018-08-13 17:39:45 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服务器 上启用双因子身份验证

法。 当在 /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

Rust 1.37.0 稳定版发布

。 cargo vendor 已经在生产中使用过很多种情况:Rust 译器 rustc 使用它在发行版 tarball 中传递它的所有依赖项,而具有 Monorepos 的项目使用它在源代管理中提交依赖项的代。 对宏使用未命名的 const 现在可以创建未命名的 const。相比给常量一个显式的名称,只需将其命名为 _ 。例如,在 rustc 译器中: /// Type size assertion where the first parameter /// is a type and the second is the expected size. [macro_export] macro_rules! static_assert_size { ($ty:ty, $size:expr...阅读全文

博文 2019-08-17 21:17:23 debian.cn

Linux 27周年:这27件有趣的事实你可能不知道

!Linus Torvalds 原本想把他的“业余爱好”项目称为“FreaX”(“ Free”和“Unix”的组合)。值得庆幸的是,他早期使用的代托管服务器的所有者说服了他,最终取名为 “Linux”(“Linus”和“Unix”的组合)。 3、首个 Linux 版本 100% 由 Linus Torvalds 写,但最新的版本仅包含不到 1% 的 Linus 写的代。他并不懈怠,现在主要是忙于管理和合并其他开发者写的代。 4、Linux 被世界上所有主要的太空计划使用,包括 NASA 和 ESA 。 5、谈及更广阔的宇宙,有以 Linux 和 Linus Torvalds 命名的小行星。 6、Linux 的吉祥物 Tux 之所以是一只企鹅,据 Linus 回忆是因为他曾经被一只愤怒的企鹅...阅读全文

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

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

HHVM 3.24 正式发布:不再支持 PHP 5

-json option, which includes node content in the output In partial mode, Hack no longer assumes that any unknown definitions must be defined in PHP 更新内容较多,详情请参阅 发布主页 。 HipHopVM(HHVM) 是 Facebook 推出的用来执行 PHP 代的虚拟机,它是一个 PHP 的 JIT(Just-In-Time) 译器,同时具有产生快速代和即时译的优点。...阅读全文

博文 2018-01-17 13:45:09 debian.cn

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

谷歌开源 Pigweed:用于提升嵌入式开发效率

中的经典挑战是减少从运行 git clone 到在设备上执行二进制文件的时间。对于生产嵌入式项目,往往通常需要一整套工具。而 Pigweed 能够通过虚拟环境提供简化设置的工具,具体来说,Pigweed 的 pw_env_setup 模块中的引导脚本可设置当前的 shell 以访问一组标准化工具——包括 Python 3.8、clang 格式以及 ARM 译器。所有这些都是在虚拟环境中完成的,因此无需修改系统的默认环境。 在典型的嵌入式开发中,即使添加很小的更改也需要一些额外的手动步骤。而 Pigweed 的 pw_watch 模块直接解决了这种效率低下的问题,它提供了一个监视者(watcher),该监视者可以在保存文件时自动调用构建,还可以运行受代更改影响的特定测试。这大大缩短了更改的...阅读全文

博文 2020-03-22 08:35:14 debian.cn

Kotlin 一统天下?Kotlin/Native 支持 iOS 和 Web 开发

/Native 也将迎来 IDE 的支持。官方表示首先将在 C/C++ IDE CLion 中试用该功能,目前正在发布一个名为 Kotlin/Native plugin for CLion 的插件,该插件支持使用 CMake 作为构建系统。其中包含来自 IntelliJ IDEA 的 Kotlin 插件中全部代辑功能集,同时初步支持项目创建、测试与调试等操作。 使用 React 和 Kotlin 创建现代 Web 应用 对于使用 Kotlin 进行 Web 前端开发的开发者,Andrey Breslav 在大会上还公布了另外一个重大消息 —— 正式发布了针对 React.js 的官方 Kotlin 封装工具。此外,还有一个名为 create-react-kotlin-app 的工具集 —— 通过...阅读全文

博文 2017-11-05 19:28:14 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

WordPress 5.0“Bebo” 正式版发布

WordPress 5.0 最大的亮点就是正式引入新的基于块(block-based)的辑器 —— Gutenberg,给用户提供更简化的辑体验。无论是首次构建网站、修改博客还是写代,用户都可以更灵活地显示内容。新的 Gutenberg 辑器不会改变访问者对你的内容的观感,它的作用是让你快速插入任何类型的多媒体并重新排列你想要核心展示的内容。每块内容都在自己的块中,有单独的封装,便于操作。 WordPress 默认提供大量的块,而且社区也在不断添加新的块。 这种全新的辑体验为设计和内容提供了更加一致的处理。如果你正在构建 client 站点,则可以创建可重用的块,这有益于你的客户随时添加新内容,同时仍保持一致的外观。 此外,WordPress 5.0 还引入了新的默认主题...阅读全文

博文 2018-12-07 12:11:52 debian.cn

在 Debian Stretch 上安装 FFmpeg

FFmpeg 是一款流行的多媒体框架,可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频库libavcodec,为了保证高可移植性和质量,libavcodec 里很多 codec 都是从头开发的。 还值得一提的是,ffmpeg 转换多媒体文件提供了 FFmpeg 工具,ffserver 流工具,基于 SDL 和 FFmpeg 库和 ffprobe 多媒体流分析仪 ffplay 媒体播放器。 最新的版本是ffmpeg 3.3.4 "Hilbert", 软件库的版本如下, libavutil 55. 58.100 libavcodec 57. 89.100...阅读全文

博文 2017-10-26 13:41:36 debian.cn

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

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

博文 2019-09-10 17:19:13 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

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

Go 团队近日在博客介绍了 Go 泛型的最新进展。 Go 团队表示他们一直在完善泛型的设计草案,并为此写了一个类型检查器——可按照设计草案中的说明,解析使用泛型的 Go 代并报告任何类型的错误。为了收集社区的反馈,他们还写了示例代并在草案中提供。 根据收集的反馈和了解的信息,Go 团队发布了更新后的泛型设计草案。 "The design is fully backward compatible with Go 1",完全兼容 Go 1 新版草案最大的变化是放弃了关于 contracts 的想法。因为团队认为 contracts 和 interface 类型之间的区别会令人感到困扰,所以他们正在消除这种区别。类型参数现在受 interface 类型约束,当 interface 类型仅...阅读全文

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

在 Mac OS X 上安装 Nessus 10

在 macOS 上安装 Nessus 10 macOS安装Nessus一、下载二、 安装三、初始化登录四、 安装插件和创建配置文件五、重启服务译插件六、验证七、如何更新插件 macOS安装Nessus 修复部分破解方法在安装Nessus10重启之后重置授权问题。 一、下载 下载 macOS:https://sysin.org/blog/macOS/ 下载 Nessus:https://sysin.org/blog/nessus-10/ 或者链接:https://pan.baidu.com/s/1DrkX1nbysFgdmbO4657JIg?pwd=9jxl 提取:9jxl 下载插件: 插件版本202301231642 链接:https://pan.baidu.com/s...阅读全文

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

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

如果你看过谍战片、动作片或犯罪电影,你就会在脑海中勾勒出黑客坐在电脑屏幕前的样子:一行行快速移动的代,大量的矩阵中的十六进制数字代像雨水一样飞过。也许有一张世界地图,上面有一些发光点和一些快速更新的图表,也许还会有三维几何图形。如果可能的话,这一切还可以显示在多个显示器上面。 当然,我们这些技术人员很快意识到这完全是胡说八道。虽然我们中的许多人都有双显示器(或更多),但闪烁的数据通常与专注于工作这一目的背道而驰。写代、管理项目和管理系统与股票交易不同。我们遇到的大多数情况都需要我们对试图解决的问题进行大量思考,与利益相关者进行良好的沟通,进行一些研究以及组织信息,然后还有占工作量很少的快速打字。 但这并不意味着我们不想和电影中的黑客一样。有时,我们只是想让自己看起来“有效率”。 旁...阅读全文

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

当 Atom 遇见 VSCode:微软将对 GitHub 做的 6 件事

生态 微软 CEO Nadella 谈到了微软在过去几年中如何成为 GitHub 上最活跃的组织,提交了超过 200 万次的项目 commits 和 updates ,并表示微软正在全身心地投入开源。 至于 GitHub 将如何发展成为一家微软公司,Nadella 主要关注三大策略:在开发周期的各个阶段为开发者赋能,加速 GitHub 用于企业开发,并利用该平台让更多用户使用微软的开发工具和服务。 2、保持 GitHub 的开放性 GitHub 创始人 Chris Wanstrath 表示,无论使用的是哪种程语言、平台、操作系统或设备,GitHub 都会是面向所有开发者的开放平台。像之前的 LinkedIn 和 Minecraft 一样,Nadella 时期的微软会让被收购的公司保持其...阅读全文

博文 2018-06-06 11:08:17 debian.cn

FFmpeg 3.4 发布,多媒体处理工具合集

,lumakey 等。 新的音频滤波器包括 afir,crossfeed,surround,headphone,superequalizer 和 haas FITS 复用器和器也可以在 FFmpeg 3.4 中使用,它支持 SVG 光栅化的 librsvg,支持符合 spec 的 VP9 muxing 支持 MP4,支持 Interplay MVE 电影的额外帧格式以及支持 VP9 tile 线程。 SUP / PGS 字幕复用器,KMS 屏幕抓取器,CUDA 缩略图过滤器,Rockchip MPP 硬件解器等 下载地址:http://ffmpeg.org/download.html...阅读全文

博文 2018-01-03 08:52:45 debian.cn

十条关于 WordPress 安全性的小贴士

大的数据库凭据 在安装 WordPress 之前创建 MySQL 数据库时,建议使用强大的、随机生成的数据库用户 ID 和密。在安装 WordPress 过程中使用一次凭据连接到数据库 — 你不需要记住它们。你还应该使用一个不同于默认值 wp_ 的表前缀。 用户 ID 和密可以在安装后更改,但请记住相应地更新 WordPress 的 wp-config.php 配置文件。 4. 使用强大的管理员帐户凭据 同样地,在安装过程中创建的管理员账户也应使用强大的 ID 和密。任何使用 ‘admin’ 作为 ID,‘password’ 作为密的人都活该被黑客入侵。还应考虑到为日常辑任务这些行为创建更少权限的账户。 5. 移动或保护 wp-config.php 配置文件 wp...阅读全文

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

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

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

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

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

程: 1. 搭建环境 首先,我们需要安装Node.js和NestJS CLI,并创建一个NestJS项目。然后,我们需要安装TypeScript、GraphQL、TypeORM和其他依赖库。 2. 设计数据模型和API 在设计数据模型和API时,我们需要定义GraphQL Schema和TypeORM实体类。为了提高可维护性,我们可以使用代生成工具进行自动化生成。 3. 实现后端功能 在实现后端功能时,我们需要写NestJS控制器和服务,并调用TypeORM进行数据库操作。同时,我们需要集成GraphQL,并写Resolver进行数据查询和操作。 4. 实现前端功能 在实现前端功能时,我们需要写React组件,并使用Apollo Client调用GraphQL API。同时,我们需要...阅读全文

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

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

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

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

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

// ^------ .iter() implicitly takes a reference to nums. => { drop(nums); // ----------- nums was bound by move and so we have ownership. } _ => unreachable!(), } } Rust 1.39 中,上面的代段现在已被译器接受,此特性可以为整体的 match 表达式带来更流畅、更一致的体验。 函数参数的属性 现在允许在函数、闭包和函数指针的参数上使用属性。 比如以往这样写: #[cfg(windows)] fn len(slice: &[u16]) -> usize { slice.len() } #[cfg(not(windows))] fn len(slice...阅读全文

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

如何在 Debian 上添加和删除用户

户: sudo adduser sammy 一旦执行该命令,您将看到一些输出,后面是一系列提示,要求您为新用户分配和确认密。然后,系统会要求您输入有关新用户的任何其他信息。这是完全可选的,可以通过碰撞跳过ENTER ,如果你不希望将信息输入到这些领域。 最后,系统会要求您确认您提供的信息是否正确。输入Y继续。整个过程看起来像这样: OutputAdding user `sammy' ... Adding new group `sammy' (1001) ... Adding new user `sammy' (1001) with group `sammy' ... Creating home directory `/home/<^>sammy' ... Copying files...阅读全文

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

Apache Superset 成为 ASF 顶级项目

Apache 软件基金会宣布 Apache Superset 成为顶级项目 (Top-Level Project, TLP)。 Apache Superset 是一款现代化的开源数据工具,用于数据探索和数据可视化。它提供了简单易用的无代可视化构建器和声称是最先进的 SQL 辑器,用户可以使用这些工具快速地构建数据仪表盘。 Apache Superset 将 SQL IDE、数据浏览工具、拖拽式仪表板辑器和插件组合使用,以构建自定义的可视化效果,支持从许多关系数据库和非关系数据库中创建仪表板,这些数据库包括 SQLite、MySQL,以及 ClickHouse、Google BigQuery、Snowflake、Oracle 数据库、IBM DB2 和其他各种兼容的数据源,并且可以连接...阅读全文

博文 2021-01-25 10:35:13 debian.cn

AWS 宣布赞助 Rust 语言

发行工件,例如译器、库、工具和源代。在 EC2 上使用 Crater 运行整个生态系统范围的回归测试。操作 docs.rs,该网站托管发布到中央 crates.io 软件包注册表的所有软件包的文档。 曾在 Mozilla 工作,并且是 Rust 团队成员的 Alex Crichton 认为这项赞助使 Rust 能够在 AWS 上可持续地托管基础架构,他还指出“使 Rust 项目的赞助商多样化对于其长期成功也至关重要”。...阅读全文

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

华为正式发布 openEuler 系商业发行版操作系统

3月27日,华为开发者大会2020以线上形式举行,华为云与计算BG总裁侯金龙在主题演讲中发布openEuler系商业发行版操作系统,首批参与的操作系统包括银河麒麟服务器操作系统V7.6,普华服务器操作系统V5.1(鲲鹏版)、深度欧拉V1.0以及傲徕服务器操作系统1.0。 IT之家此前报道过,今年1月份,openEuler开源社区(以下简称openEuler社区)正式开放源代、镜像及开发测试环境,标志着openEuler社区开放运作迈出了坚实一步。作为主要筹备方,华为会逐步开放在ICT基础软件领域的技术积累,将操作系统、译器/JDK等领域的基础平台能力开源至openEuler社区。 在openEuler社区,社区参与者可下载操作系统安装镜像或源代,快速了解并掌握openEuler操作系...阅读全文

博文 2020-03-27 11:10:15 debian.cn

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

) 也已进行更新,它将会放松语法 (syntax) 的规则来允许任何类型表达式作为接收方,这与译器已经实现的特性相匹配。例如 struct{io.Reader}.Read,如果译器已经接受并且现在被语言语法所允许,它是一个有效的表达式。 运行时 TODO:不从 Go 没有创建的锁定线程或线程中启动新线程。LockOSThread/UnlockOSThread 现在是嵌套的。LockOSThread + return 可杀掉线程。 堆栈跟踪不再包含隐式封装函数(以前被标记为 ),除非封装本身出现错误。 GOMAXPROCS 设置不再有限制(在 Go 1.9 中,限制是 1024) 性能 性能方面的改变较多。由于垃圾收集器的加速,将会生成更好的代以及核心库中的优化...阅读全文

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

Angular 6.0 即将发布 承诺更小更快更易用

Material 和其他解决方案的最新版本将一起发布,以便开发人员更好地访问最新版本的 Angular。 根据 Fluin 的说法,团队将重点放在缩小尺寸上,Angular 6 中的捆绑包将更小 ,以便为用户提供更快的体验。 团队正在通过更新到最新版本的 Webpack 来实现这一点。 此外,最新版本将引入一种新的方式来连接应用程序和服务中的模块。 例如,团队正在增加服务引用模块的能力,这样如果服务没有被使用,它就会消失,从而简化包的大小。 版本 6 也更新为 RxJS,即,使用 Observables 进行反应式程的库 。 根据 Angular 的说法,这使得写异步或基于回调的代更容易。 在易于使用的一方面,该团队正在向 CLI 界面介绍更新 。 这个新命令将自动让用户保持最新状态并更新正在使用的...阅读全文

博文 2018-04-24 09:41:33 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

Debian 上安装搭建 Shadowsocks 服务

-recommends build-essential autoconf libtool libssl-dev gawk debhelper pkg-config asciidoc xmlto apg 然后需要从 github 上把源代 git 下来 $ git clone https://github.com/shadowsocks/shadowsocks-libev.git 然后进入 shadowsocks-libev 目录下进行译 $ cd shadowsocks-libev $ dpkg-buildpackage -b -us -uc -i $ cd .. $ dpkg -i shadowsocks-libev*.deb 译是通过生成 deb 包然后进行安装,其实也可以通过 make 的方式来进行...阅读全文

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

国产 Java 开源博客 Solo 2.5.0 发布,支持数据导出

GitHub:https://github.com/b3log/solo 云:https://git.oschina.net/dl88250/solo 2.5.0 变更记录 12353 JSON 数据导出 feature 12360 数学公式和流程图的展示 feature 12372 Markdown 数据导出 feature 12356 搜索页面路径参数缺失报错 enhancement RSS / Atom 内容调整 enhancement 12367 跨版本升级校验 enhancement 12369 Markdown 渲染改进 enhancement 12382 文章中站外链接开新页签 enhancement 12383 Markdown 缓存提升渲染性能 enhancement 12355 搜索结果...阅读全文

博文 2017-12-21 09:48:36 debian.cn

7大维度看国外企业为啥选择gRPC打造高性能微服务

务间通信会花费大量时间,从后勤和财务角度看这很不切实际。花时间从一开始就考虑正确的框架,可以省去很多未来的浪费。 我们花了大量的时间来制定评估标准和研究、选择。Bugsnag到底长什么样子呢? 技术标准 在研究可用选项时,使用了一些特定的标准来评估。要考虑的事情是基于微服务架构的最有效的方法。主要目标是自由地使用通信,消除通信的复杂性,了解每项服务的责任所在。其中的一些技术问题是: 速度 - 对于大量的请求/响应API调用,需要将调用本身的延迟作为性能和用户响应速度的最小因素。延迟的主要组成部分是连接成本,传输成本和消息/解时间。 基础架构兼容性 - 框架在基础架构中扮演的角色如何?主要是关于负载平衡和自动扩展?我们使用托管在Google云端平台上的Kubernetes服务,因此需要框...阅读全文

博文 2018-03-19 17:51:32 debian.cn

华为的 Linux 发行版 openEuler 可以使用了!

华为提供了一个基于 CentOS 的企业级 Linux 发行版 EulerOS,华为也发布了一个名为 openEuler 的 EulerOS 社区版。 openEuler 的源代也一同发布了,源代可以在 Gitee 找到。它有两个独立的代库,一个用于存储源代;另一个作为软件包的源代,存储有助于构建该操作系统的软件包。 openEuler 基础架构团队分享了他们使源代可用的经验: 我们现在很兴奋。很难想象我们会管理成千上万的仓库。为了确保它们能被成功地译,我们要感谢所有参与贡献的人。 openEuler 是基于 CentOS 的 Linux 发行版 与 EulerOS 一样,openEuler OS 也是基于 CentOS,但华为技术有限公司为企业应用进一步开发了该操作系统...阅读全文

博文 2020-01-27 11:08:00 debian.cn

SonarQube 8.4 发布,分析时间最多可减少 80%

SonarQube v8.4 发布了。SonarQube 是一个用于管理源质量的平台,帮助开发者写干净的代,其支持的语言包括:Python、Java、PHP、C#、C、Cobol、PL/SQL 与 Flex 等。 此版本扩展了 OWASP(Open Web Application Security Project,开放式 Web 应用程序安全项目)类型覆盖范围、带来了更快的分析速度、热备份和更快的启动。 Python 添加了 XSS 检测,以及另外 4 个 OWASP Top 10 类型 此版本中添加了一个与 XSS 相关的 Security Hotspot:S5247 查找在模板引擎中已关闭自动转义的所有位置。XSS 在OWASP Top 10 中属于 A7,此版本还增加了其它四个...阅读全文

博文 2020-07-13 12:55:22 debian.cn

Debian 安装包的简单制作

在Linux分发软件有两种形式,一种是源,一种是安装包。当目标机器不带有译环境,且不能联网时,安装包就是唯一的方案了。 Linux 下的安装包有多种格式,不同Linux使用的格式并不完全相同。市场上主流的安装包格式是*.deb *.rpm 其中deb是debian系列的安装包,rpm是CentOS系列的安装包。 本文主要介绍的是一种简单的deb安装包的制作方法,使用范围有限。如需了解更多可以阅读Debian 新维护人员手册 所需工具 如果没有安装dpkg工具包的话,就先安装(一般是默认安装的) sudo apt-get install dpkg 文件结构 example-package ├── DEBIAN (必须) │ ├── control (必须) │ └── md5sums...阅读全文

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

树莓派4发布:性能飙升 配件丰富 价格不变

频 1.5GHz 。内存: 1GB、2GB 或 4GB LPDDR4 SDRAM(取决于型号)。连接性:双频 IEEE 802.11ac 无线 + 蓝牙5.0,千兆以太网,2×USB 3.0、2×USB 2.0 端口。GPIO:向前兼容树莓派的标准 40 针引脚。视频和声音: 2×micro-HDMI 输出(4kp60 或 4kp30)、2 通道 MIPI DSI 显示端口、2 通道 MIPI CSI 摄像头端口、4 极立体声音频和复合视频端口。多媒体: HEVC / H.265(4kp60 解)、AVC / H.264(1080p60 解 / 1080p30 )、OpenGL ES 3.0 GPU 。存储:Micro SD 卡槽,用于加载操作系统和数据存储。电源输入: 5V DC...阅读全文

博文 2019-06-25 08:43:29 debian.cn