运维的未来:云服务兴起,运维人员会“下岗”吗?
我合作的或者是我了解的众多 dev 组织似乎不用 QA 也做得挺好。 同样的状况很快也会发生在运维人员身上。我之前在 Workiva 的基础设施和可靠性小组里工作时,我们将运行和基础建设工程团队并入一个单独的团队,该团队是由网站可靠工程师组成的,负责构建和维护基础设施服务,配置管理,日志管理,集合管理,监控等。 我非常支持通过愿景实现对团队的领导。发展愿景令人信服,可以使团队之间达成共识,减少功能孤岛和组织孤岛的影响,并能够从内部激励员工。它能使团队高度一致又能松散耦合,能够更好地做出决定。我对运维未来作为组织能力的想法本质上是将合成工程看作是合理结论。跟 QA 一样,运维能力也应该被嵌入发展团队中。事实是,没有运维技能,你不可能在现代组织中成为一名合格的软件工程师。现如今的运维团队,应该重...阅读全文
最全 MongoDB 基础教程
MongoDB 创建数据库 - 格式:use DATABASE_NAME - use ruochen - db 创建数据库需要插入一条数据才会在列表中显示 - db.ruochen.insert({'name': '若尘'}) - show dbs 删除数据库 格式:db.dropDatabase() use ruochen db.dropDatabase() show dbs 创建集合 - 格式:db.createCollection(name, options) - name: 要创建的集合名称 - options: 可选参数,指定有关内存大小及索引的选项 字段 类型 描述 capped 布尔 (可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它...阅读全文
Ubuntu将于2017年1月1日起拒绝SHA
今天,Debian开发者兼Ububtu成员Julian Andres Klode宣布,他计划在2017年1月1日关闭对APT资源库的SHA-1支持。业界反对SHA-1(安全散列算法)加密已有多时,其被普遍用于签发数字内容、证书吊销列表(CRL)和数字证书。但到2017年1月1日的时候,事情可能会对浏览互联网的老用户产生影响。 需要指出的是,SHA-1加密也被用于签发基于Debian的操作系统的高级包工具(APT)资源库,比如热门的Ubuntu和Linux Mint。 这些经过SHA-1签名的资源,将于明年年初自动被Ubuntu 16.04 LTS(Xenial Xerus)和Ubuntu 16.10(Yakkety Yak)给拒绝。 Julian Andres Klode在邮件公告中称...阅读全文
Vinux 5.1 发布 基于 Ubuntu 的 Linux 发行版
Vinux 5.1 发布了。Vinux 是演化自 Ubuntu 的发行,面向盲人及弱视用户的需求作了优化。Vinux 缺省提供两份屏幕阅读器,以及对布莱叶文的显示支持和友好的用户社区。当从这份自启动运行镜像引导时,迎接用户的将是 Orca 阅读器,它让用户能通过键盘命令来浏览图形化的 GNOME 桌面。此外,Brltty 还通过 Orca 提供级别 1 和级别 2 的布莱叶文输出。 Vinux 提供屏幕阅读器,盲文支持和高对比度图标。 该项目的最新版本 Vinux 5.1,基于 Ubuntu 14.04.5 LTS,并提供三个桌面环境:Unity 7.2.4,GNOME 3.10.4 和 MATE 1.8。这次发布的版本不仅仅是关于 Unity 桌面的特性,还有 GNOME Shell 和...阅读全文
Ryzen发布两周:AMD 称表现达到预期 四月发布更新
要游戏正确识别了 Zen 的核心与缓存,即可在启用 Ryzen SMT 技术后恢复正常性能。遗憾的是,该公司暂未给出确切的时间表。 简而言之,当前 Ryzen 用户只能享受到略低于理想状况的性能,除非它们将 Windows 电源设置选项指定为“高性能”模式才能得到改观。AMD 称,此举可减少处理器核心闲置行为,在程序有需要时给出更快的响应。 至于Ryzen 桌面处理器的 CPU 默认均衡配置优化,AMD 表示会通过 4 月首周的更新进行修复。【原文编译自 TechReport.com 】...阅读全文
Devuan Jessie 1.0 稳定版发布
争议的地方是违背了Unix哲学,太过于复杂。而Devuan提供了多种 init 系统供用户选择,其中包括 sysvinit、sinit、openrc、runit、s6 和 shepherd。 稳定版 Devuan GNU/Linux 到达1.0里程碑历时两年半时间,提供了没有 systemd的稳定、可靠、安全的操作系统。该系统基于Debian GNU/Linux 8 "Jessie"发行版本,目前仅提供安装镜像,没有图形界面、QUMU和Vagrant虚拟镜像的最小化在线ISO,以及支持/不支持UEFI的Xfce Live镜像,以及面向ARM设备的镜像。 除了支持32位和64位之外,嵌入式镜像还允许用户在树莓派、树莓派2、树莓派3、Acer Chromebook、Veyron/Rockchip...阅读全文
CVE-2017
2017 年 5 月 30 日, 国外安全研究人员发现 Linux 环节下,可以通过 sudo 实现本地提权漏洞,漏洞编号为 CVE-2017-1000367,该漏洞几乎影响了所有 Linux 系统。详情如下: 漏洞编号: CVE-2017-1000367 漏洞名称: Sudo 本地提权漏洞 官方评级: 高危 漏洞描述: 当确定 tty 时,Sudo 没有正确解析/ proc / [pid] / stat 的内容,本地攻击者可能会使用此方法来覆盖文件系统上的任何文件,从而绕过预期权限或获取 root shell。 漏洞利用条件和方式: 本地利用 漏洞影响范围: Sudo 1.8.6p7 到 1.8.20 Red Hat Enterprise Linux 6 (sudo) Red Hat...阅读全文
Debian 9 图形界面安装有bug 开发人员正在修复
Debian 9 前两天发布了正式版,许多用户在准备下载体验新版本。不过据外媒报道,Debian 9 的所有镜像中似乎都存在一个 bug 。 当您尝试使用图形安装程序安装它时,将显示一条错误消息: “There was an error reading data from the CD-ROM. Please make sure it is in the drive… Failed to copy from CD-ROM, retry?” 调试后会发现,原因似乎是下面在日志文件中出现的错误消息。 安装程序找不到 libzlo2-2-udeb_2.08-1.2 + b2_amd64.udeb 包: cdrom-retriever: error: Unable to find `/w/work...阅读全文
SolydXK 9 正式发布,基于 Debian 的发行
包此前集成在 solydx/k-system-adjustments 中,现在已经过时 有关 SolydXK 9 的更多详细信息,请参见项目发布公告。该项目的两个版本可以从各自的下载页面(SolydX, SolydK)获取。 下载地址 solydx_9_64_201707.iso(1,564MB, SHA256, signature, torrent) solydk_9_64_201707.iso (1,950MB, SHA256, signature, torrent) SolydX 和 SolydK 是基于 Debian 的发行,它们分别采用 Xfce 与 KDE 桌面。SolydXK 的目标是易于使用并提供一份既稳定又安全的环境。SolydXK 是面向小型企业、非盈利组织、家庭用户的开...阅读全文
PHP 7.2 Beta 的测试:PHP 仍然越来越快
7.2 目前的运行速度比 PHP 7.1 快了 13%,比 PHP 7.0 快了 20%,相比 PHP 5.6,则比它快了差不多 2.6 倍。 Phoronix 测试套件的自我测试显示,PHP 7.2 越来越快了,与 PHP 7.1.7 相比,将自我测试的时间缩短了 4 秒,尽管与 PHP 5.6 到 7.0 的转变相比还有较大差距,但仍节省了一点时间。 使用大量的 PHP math、DOM 对象使用以生成 SVG 图像的渲染测试在 PHP 7.2 中也是仍稍快一些。 总的来说,PHP 7 在继续朝着正确的方向改进着,除了这些适度的性能提升,还有其他方面的改进。 编译自:www.phoronix.com...阅读全文
WordPress 5.0“Bebo” 正式版发布
WordPress 5.0 最大的亮点就是正式引入新的基于块(block-based)的编辑器 —— Gutenberg,给用户提供更简化的编辑体验。无论是首次构建网站、修改博客还是编写代码,用户都可以更灵活地显示内容。新的 Gutenberg 编辑器不会改变访问者对你的内容的观感,它的作用是让你快速插入任何类型的多媒体并重新排列你想要核心展示的内容。每块内容都在自己的块中,有单独的封装,便于操作。 WordPress 默认提供大量的块,而且社区也在不断添加新的块。 这种全新的编辑体验为设计和内容提供了更加一致的处理。如果你正在构建 client 站点,则可以创建可重用的块,这有益于你的客户随时添加新内容,同时仍保持一致的外观。 此外,WordPress 5.0 还引入了新的默认主题...阅读全文
Debian 安装 fail2ban 方式SSH爆破攻击
= 127.0.0.1/8 #IP白名单bantime = 600 #封禁时间秒,默认是10分钟maxretry = 3 #最大重试次数,子项未设置时以此为准 SSH 区段如下: [ssh]enabled = true #启用开关port = ssh #保护端口,默认SSH为22filter = sshd #默认即可logpath = /var/log/auth.log #日志位置,默认即可maxretry = 6 #最大重试次数 如果调整了 fail2ban 的配置,需要重启服务生效,通用的方法都支持, /etc/init.d/fail2ban restart#或者用 systemctlsystemctl restart fail2ban fail2ban 的管理维护,可以通过以下命令操作, fail2ban...阅读全文
Debian 如何修改默认网卡为 eth0
Debian 系统安装以后,可能会遇到网卡设备名不是常见的 eth0 的情况。我们有没有办法统一网卡设备名称呢? 在服务器环境中,统一网卡设备名是很有必要的。标准化的配置会节省我们大量的时间,这些时间可能会花在排障、监控的配置、状态收集脚本的调整等。 这里我们介绍如何把 Debian 系统中的网卡从非 eth0,调整为 eth0,这个设备名是各 Linux 系统中比较通用的网卡设备名。下面我们以设备名 ens3 为例,介绍在Debian 系统中,如何修改网卡设备名为 eth0 的具体步骤。 首选,我们需要编辑 grub 的配置文件,修改启动参数。使用编辑器打开 /etc/default/grub, 查找: GRUB_CMDLINE_LINUX="" 找到这行,并修改为...阅读全文
Linux 5.2.1 发布 最新的稳定版内核
BFQ I / O调度程序的性能改进。 Linux Kernel 5.2还为cgroups v2添加了一个冷冻控制器以释放资源,部署了新设备隐射“dust”目标来模拟读取失败或者扇区失败的设备,为 clone(2)添加了CLONE_PIDFD这个Flag从而在创建进程时候获取PID,能够通过pidfd_send_signal(2)使用,并在Android系统中提供了更高的资源监控。 在安全方面,Linux Kernel 5.2附带了一个全新的CPU BUG框架,用于保护设备免受英特尔MDS(微架构数据采样)硬件漏洞的影响,同时还有一个名为“mitigations=”独立于架构的启动选项,以便更容易启用或禁用缓解CPU缺陷。 Linux内核5.2还包括许多更新的和新的驱动程序,以获得更好的硬件支持...阅读全文
AMD 2020处理器产品线曝光: Zen2 APU与Zen 3锐龙4000
Planet 3DNow上关于AMD新处理器代号和路线图的文章引发广泛关注,提供了很多此前不曾为人了解的信息。其中,ThreadRipper产品线第三代产品代号Castle Peak,第四代产品代号Genesis,这是位于华盛顿的两处地理坐标。 访问购买页面: AMD旗舰店 看完HEDT,再来了解下锐龙家族, 按照时间顺序,明年一季度,AMD会推出Ryzen 4000U/4000H系列移动APU,其中U代表低电压,H代表35W标准电压,处理器家族代号Renoir(雷诺阿),升级到Zen 2架构,即7nm CPU+12nm I/O集成化设计,同时搭配Navi显卡,插槽为FP6,BGA封装。 接着在二季度末,EPYC嵌入式芯片“Starship”上线,最高8C16T,Zen 2架构。6月份是...阅读全文
RTX 2080 Super移动版显卡现身:150W塞入笔记本中
版RTX 2080显卡是一样的,但是频率最高1230MHz,这个就要比桌面版的1.8GHz+低很多了,毕竟TDP功耗少了170W之多。 值得一提的是,这次GK4曝光的CPU也非常有看点,是酷睿i9-10980HK处理器,8核16线程,基础频率3.1GHz,加速频率4.92GHz,符合Intel之前所说的8核5GHz笔记本处理器,也就是十代酷睿高性能标压版,代号Comet Lake-H系列。 十代酷睿高性能标压版是在3月份上市,那么RTX 20 Super系列移动版显卡也会是在这个时间点上市了。 今年的CES展会上,AMD也发布了7nm工艺的锐龙4000系列处理器,有15W低压版的锐龙4000 U系列及45W高性能版的锐龙4000 H系列,其中旗舰锐龙7 4800H也是8核16线程,到时候就有...阅读全文
Tails 4.4 发布,能你隐身的发行版
Tails 4.4 稳定版已发布,更新内容包括升级应用程序和修复安全漏洞。此版本中修复了在 Tails 4.3 中发现的许多安全问题,例如影响 OS 组件,以及 Tor Browser 和 Mozilla Thunderbird 等预装应用程序的漏洞。 该版本已将内核升级至 Linux Kernel 5.4.19,改进对显卡、无线网卡等较新硬件的支持。另外还修复了一些 Realtek RTL8822BE 和 RTL8822CE 芯片组的 Wi-Fi 接口造成的问题,团队还表示如果从 Tails 4.1 起使用 WiFi 时出现问题,请告知他们问题是否已解决。 最后,Tails 4.5 计划于4月7日发布。 下载地址:tails-amd64-4.4.iso (1,098MB...阅读全文
AMD抢先发布7nm芯片"米兰":只为抢更多服务器市场份额
AMD表示,公司最新发布的“米兰”服务器芯片比目前最好的数据中心芯片处理速度更快。据悉,AMD完成该芯片的设计,并委托台积电采用7nm芯片制造工艺来实现量产。很快,Intel也要反击,其将在未来几周推出最新的“冰湖”(Ice Lake)服务器芯片,这将是首款采用Intel 10nm制造工艺量产的服务器芯片(据说性能相当于7nm制造工艺的“米兰”芯片)。无论这两款芯片的速度如何,但AMD仍有望拥有一些优势,比如每个芯片上的计算内核数更多,这使得芯片可以同时处理更多的软件应用程序。AMD服务器业务部门高级副总裁兼总经理丹·麦克纳马拉(Dan McNamara)表示,如果公司继续将客户反馈整合到新一代芯片中,就能保住领先地位。第三代EPYC 7003系列采用和锐龙5000系列同款的Zen3架构...阅读全文
Github iOS 和 Android 客户端正式发布
Github 在去年的 Universe 大会上推出了尚处于 Beta 阶段的移动版客户端。经过数月的开发,适用于移动设备的 Github iOS 和 Android 客户端现已发布稳定版,可从 Google Play 或 App Store 进行获取。 Github 移动版客户端提供了以下功能: 浏览最新通知对 issue 和 PR 进行阅读以及回复审查和合并 PR使用 labels, assignees 以及 projects 等配置项来管理 issue浏览文件和代码 Github 移动版客户端采用原生开发,界面方面没有照搬 PC 端网站的设计,而是针对移动端提供了专为触摸屏设计的新界面,还提供了通知功能,当用户被直接 @ 的时候,就能够收到悬浮通知,方便开发者随时随地查看代码、合并更...阅读全文
Mac OS下如何安装卸载 Homebrew
Homebrew 是一款 Mac OS 平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,你不用关心各种依赖和文件路径的情况,十分方便快捷。 引用官方的一句话:又提示缺少套件啦?别担心,Homebrew 随时守候。Homebrew —— OS X 不可或缺的套件管理器。 Homebrew的安装有一些前置依赖,具体如下, 64 位 Intel CPUMac OS X High Sierra 10.13 或更新的系统版本Xcode 的命令行工具 xcode-select --installBourne 兼容的 shell (zsh 或 bash) 安装 Homebrew 安装 Homebrew 只需要用普通用户,执行一条命令即可,如下...阅读全文
https:// 和 www 将在 Chrome 83 中重返地址栏
去年 8 月,谷歌开始在 Chrome 76 版本中的 URL 栏内隐藏 “www” 子域和 “https://” 标识符,目前为止,它们都仍是默认隐藏状态,即便这一做法招致广大用户的不满,包括了本站的维护者。 除了单击地址栏外,另一种查看网页完整 URL 的方法是,安装谷歌的 Suspicious Site Reporter(可疑站点报告)扩展。曾经有一段时间,Chromium 团队通过临时的 “Omnibox UI Hide Steay-State URL Scheme and Trivial Subdomains” 标识允许用户重新显示 “https://” 和 “www”,不过后来该设置已不可用。 现在,谷歌又在 Chrome 83 Canary 版本的 Omnibox 上下文菜单...阅读全文
C++20 标准草案全票批准通过
拟constexpr 向量和字符串计时:日历、时区支持std::formatstd::spanstd::jthread 详细变化查看 cppreference.com, open-std.org 和 Wikipedia。 像 Concepts/Ranges/Modules/Coroutines 这些新特性将会对开发者及 C++ 生态产生不小的影响,也为这门“高龄”编程语言增添不少魅力。 工具方面,GCC 10 编译器对 C++20 标准已基本支持,在更早的 GCC 8/9 中,目前尚待完成的是对 modules 的支持。GCC Wiki 页面概述了目前正在进行的工作。此外,Clang C++ 状态报告页面显示已完成了对大部分特性的支持,待完成的包括 concepts, immediate...阅读全文
Debian10.1安装中文输入法与sogou搜狗输入法
我使用 debian-live-10.1.0-amd64-gnome.iso 安装系统。在安装时注意语言、位置和键盘类型的选择。主要是这几项, - 安装语言english - location,other,china - 键盘American English,使用全部磁盘 安装好的系统可以正常显示中文。Debian10 已经默认安装好 fcitx 与 google pinyin。我们删掉默认运行的 ibus, sudo apt remove ibus reboot # no ibus pid, have fcitx pid fcitx-configtool # add button, uncheck only show current lang, add google pinyin 这时...阅读全文
Debian GNU/Linux 9 Installer支持Linux Kernel 4.7
Linux Kernel 5.10 LTS 的第八个维护版本更新于今天正式发布,本次更新最值得关注的改进就是终于解决了 5.10 Btrfs 性能倒退的问题。在去年圣诞节的时候,Linux 5.10 ... 01月18日 146 评论...阅读全文
Linux Stable kernels 4.8.10 and 4.4.34 发布
Linux Kernel 5.10 LTS 的第八个维护版本更新于今天正式发布,本次更新最值得关注的改进就是终于解决了 5.10 Btrfs 性能倒退的问题。在去年圣诞节的时候,Linux 5.10 ... 01月18日 146 评论...阅读全文
Linux Kernel 4.10 发布
Linux Kernel 5.10 LTS 的第八个维护版本更新于今天正式发布,本次更新最值得关注的改进就是终于解决了 5.10 Btrfs 性能倒退的问题。在去年圣诞节的时候,Linux 5.10 ... 01月18日 146 评论...阅读全文
Debian 9.2 发布,大量问题修复
备受期待的 Debian GNU/Linux 9 “Stretch”操作系统终于确认了发布日期,就在几分钟前团队成员宣布这款热门发行版本将于2017年6月17日正式发布,距离现在还有三周时间。 (更多... 05月27日 1,159 评论...阅读全文
网站更新记录及 Bug 列表
最近发现网站跑了这么久,搜索页的搜索的功能还有问题,应该是一直都不能用。 就开了一贴记录网站后台更新的 changelog,和现存的 bug、feature 需求等。记录为主,大部分 Bug 也不会第一时间修复。...阅读全文
Ubuntu: The following upgrades have been deferred due to phasing
apt 升级时遇到报错,如何修复? ``` $ sudo apt upgrade -y Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following upgrades have been deferred due to phasing: libreoffice-gnome ... 0 upgraded, 0 newly installed, 0 to remove and 35 not upgraded. sudo apt -o APT::Get...阅读全文
kubelet 绑核与不绑核的性能差别
同一台主机,同样的workload,kubelet 中配置CPU绑定后的性能变化: 绑核的配置放在 /etc/kubernetes/kubelet 中的这两行: ``` FEATURE_GATES="--feature-gates=CPUManager=true" CPU_MANAGER_POLICY="--cpu-manager-policy=static" ``` 绑核前: ``` procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in...阅读全文
三个技巧 大幅减少 Docker 镜像体积
在构建 Docker 容器时,应该尽量想办法获得体积更小的镜像,因为传输和部署体积较小的镜像速度更快。但 RUN 语句总是会创建一个新层,而且在生成镜像之前还需要使用很多中间文件,在这种情况下,该如何获得体积更小的镜像呢? 你可能已经注意到了,大多数 Dockerfiles 都使用了一些奇怪的技巧: FROM ubuntu RUN apt-get update && apt-get install vim 为什么使用&&?而不是使用两个 RUN 语句代替呢?比如: FROM ubuntu RUN apt-get update RUN apt-get install vim 从 Docker 1.10 开始,COPY、ADD 和 RUN 语句会向镜像中添加新层。前面的示例创建了两个层而不是一...阅读全文
kubenetes 如何给资源打标签?如何删除标签?
给名为foo的Pod添加label unhealthy=true, `kubectl label pods foo unhealthy=true` 给名为foo的Pod修改label 为 'status',值为 'unhealthy',且覆盖现有的value。 `kubectl label --overwrite pods foo status=unhealthy` 给默认的 namespace 下的所有 pod 添加 label, `kubectl label pods --all status=unhealthy` 仅当resource-version=1时才更新名为foo的Pod上的label, `kubectl label pods foo...阅读全文
命令行下如何对字符进行十六进制的编码和解码?
比如,当我们需要查看 /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 ```...阅读全文
代号“Bookworm”的Debian 12将于明年年中发布
Debian 发布团队建议他们的过渡和工具链冻结(transition and toolchain freeze)在 2023 年 1 月 12 日左右,Debian 12.0 软件冻结大约在 2 月 12 日,而完整的硬冻结会在 3 月 12 日。Debian 12.0 版本会在之后的某个时间点发布,而取决于错误修复情况通常会在几个月之后。但无论如何,我们可以期待在 2023 年中期发布 Debian 12.0。...阅读全文
Debian下编译安装Golang
拉下来,非常耗时;在GitHub连接不稳定时,也可能会失败。这属于网络问题,读者也需自行解决。 按时间顺序,这里记录了一些相关的坑。如果想直接按照正确的步骤完成编译,可以跳到环境配置小节。 首次编译错误 Go不支持在根目录下编译,必须到src目录去。 $ cd src $ ./all.bash ##### Building Go bootstrap tool. cmd/dist ERROR: Cannot find ~/go1.4/bin/go. Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. 我本来就是因为只有Go1.3,才要从源码安装新版本的。现在找我要Go1.4,这可如何是好? 自举 Go从1.5版本开始实现“自举...阅读全文
bmon:一个强大的网络带宽监视和调试工具
选项: $ bmon -bp enp1s0 我们也可以像下面这样按秒指定刷新间隔时间: $ bmon -r 5 -p enp1s0 如何使用 bmon 的输入模块 bmon 有很多能提供网卡统计数据的输入模块,其中包括: netlink - 使用 Netlink 协议从内核中收集网卡和流量控制统计信息。这是默认的输入模块。 proc - 从 /proc/net/dev 文件读取网卡统计信息。它被认为是传统界面,且提供了向后兼容性。它是 Netlink 接口不可用时的备用模块。 dummy - 这是用于调试和测试的可编程输入模块。 null - 停用数据收集。 要查看关于某个模块的其余信息,可以像下面这样使用 help 选项调用它: $ bmon -i netlink:help 下面的命令将启...阅读全文
2017 热门开源自动化测试框架优缺点对比
此跨平台框架。如果想要添加新的关键字(通过 RF 测试库 API ),需要具备 Java / Python / C 语言的基础知识。 2. JUnit JUnit 是一款针对 Java 应用的单元测试框架,用于编写和运行可重复的测试。 优点: 纯 Java 编写。 支持测试驱动开发(TDD)。 允许创建自己的单元测试用例套件。 能很好地与其他工具(如 Maven )和 IDE(如 IntelliJ )集成。 长时间发展,有自己庞大的用户群体,可以很容易找到文档。 缺点: 如果需要 mocking 能力,则需要额外添加 Mockito(或其他模拟库)。 因 JUnit 中的方法名称受 Java 约定限制等原因,非技术人员很难读懂测试结果。 如果你正在为你的 Java 应用编写单元测试,那这可能...阅读全文
Debian Jessie、Stretch 下安装配置 PHP7.2
PHP 7.2.0 已于 2017 年11月30日正式发布GA版,大家可以第一时间尝鲜了。这里我们介绍如何在 Debian 9 "Stretch" 上安装配置 PHP-7.2,以便大家及时升级。目前 Debian.cn 全站已稳定运行在 PHP-7.2 版本中。 本教程使用以下系统及组合: Debian 9 stretch 、Debian 8 Jessie、Ubuntu 16.04 LTS、Ubuntu 14.04 LTS / PHP-7.2 、PHP-7.1、PHP-5.6 安装 PHP-7 Ondřej Surý 的 PHP PPA 为 Ubuntu 16.04/14.04 提供了 PHP-7.2 版本,也通过个人网站为 Debian 9/8 提供 PHP7.2 版本。Ondřej...阅读全文
Go 1.16 即将发布,这些变更你需要知道
=> os.ReadFileTempDir => os.MkdirTempTempFile => os.CreateTempWriteFile => os.WriteFile 与此同时大家也不需要担心存在破坏性变更,因为有 Go1 兼容性的保证,在 Go1 中 io/ioutil 还会存在,只变更内部的方法调用: func ReadAll(r io.Reader) ([]byte, error) { return io.ReadAll(r) } func ReadFile(filename string) ([]byte, error) { return os.ReadFile(filename) } 大家在后续也可以改改调用习惯。 支持静态资源嵌入 如果我们希望把静态文件编译进 Go 的二进制文件的话,在以往需要借助 go...阅读全文
Polar Signals 开源 Parca 以优化代码并减少云账单 - OSCHINA
Android 12 正式发布,代号「Snow Cone」 自今年 2 月 Google 发布 Android 12 开发者预览版起,时隔 8 个月时间 Google 正式发布 Android 12,该版本带来的重要功能包括: Material You Google 在今年推出了名为 Material You 的全新设计语言,极大地改变了 Android 的视觉效果。它专注于整个操作系统的个性化、色彩和动画。通知面板、快速设置,以及电源按钮菜... 15 2 NGINX 1.18 和 1.19 简析 今天文章的焦点将是互联网上最受欢迎的 Web 服务器 NGINX Open Source 的NGINX 1.19版本。NGINX 1.19 开发分支的推出跟随着早先发布的NGINX 1.18...阅读全文
Debian Linux下LNMP环境配置
昨天刚给公司服务器装了LNMP服务器环境,在这里简单记录一下过程备忘。这里我在安装的时候是用的Dotdeb源,仅供参考。 1. 导入Dotdeb源,据说Dotdeb源里的软件版本比较新。 在向源中导入Dotdeb前,我们需要先获取GnuPG key并导入: wget http://www.dotdeb.org/dotdeb.gpg cat dotdeb.gpg | apt-key add - 提示OK,表明导入成功。然后我们开始导入Dotdeb 源,源列表的位置在“/etc/apt/sources.list”,我们通过vi工具或nano工具打开sources.list,添加如下两行: deb http://packages.dotdeb.org wheezy all deb-src...阅读全文
Facebook 正式发布 JavaScript 包管理器 Yarn 1.0
Workspaces) 越来越多的科技公司开始采用单体仓库模式(mono-repository — 方便跨项目共享代码,同时避免依赖同步问题)来进行代码控制,这种模式也正逐渐被开源社区和一些小型公司所采纳。 因此,Yarn 增加了一个新特性 ——工作区。工作区可以自动从多个 package.json 中收集所有的依赖项,并一次性将它们安装完毕。项目根目录下会生成一个独立的 yarn.lock 来锁定这些文件。此外,如果多个工作区之间存在依赖,Yarn 会为它们创建链接,这样所有的项目就可以始终共享最新的代码。 自动合并 yarn.lock 文件 (Auto-merging of lockfiles) 多个开发者在开发同一个项目时,可能会需要更新包依赖,从而导致 yarn.lock 文件出现冲突。如果只有一两个...阅读全文
Debian 环境下安装配置 Gitlab
/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash 安装的过程中会有个蓝色的窗口提示你输入名称,这个是gitlab的访问域名,因为默认通过nginx进行解析的时候,指向的是你配置的这个域名,并且通过80端口。安装完成后可以看nginx的conf文件。 sudo apt-get install gitlab-ce 3. 启动GitLab 这个会加载所有的配置,启动相应的服务。所以说,和网络上其他的安装教程来比,新版本安装起来实在是太爽了。 sudo gitlab-ctl reconfigure 配置 更换域名 如上图,域名被替换为域名了,但是之前是字符串git@debian...,因为在安装的时候,蓝色窗口弹出的时候直接按了回车使用了默认值。修改方法如下...阅读全文
MySQL 8 第一个正式版发布:更好的性能
“隐藏”和“显示”。当对索引进行隐藏时,它不会被查询优化器所使用。我们可以使用这个特性用于性能调试,例如我们先隐藏一个索引,然后观察其对数据库的影响。如果数据库性能有所下降,说明这个索引是有用的,然后将其“恢复显示”即可;如果数据库性能看不出变化,说明这个索引是多余的,可以考虑删掉。 5. 降序索引:MySQL 8.0 为索引提供按降序方式进行排序的支持,在这种索引中的值也会按降序的方式进行排序。 6. 通用表表达式(Common Table Expressions CTE):在复杂的查询中使用嵌入式表时,使用 CTE 使得查询语句更清晰。 7. UTF-8 编码:从 MySQL 8 开始,使用 utf8mb4 作为 MySQL 的默认字符集。 8. JSON:MySQL 8 大幅改进了对...阅读全文
Harbor项目发布v1.7 2018圆满收官
2018年,Harbor开源镜像仓库项目取得了长足的进步,硕果累累:全年共发布了5个大版本,28 个小版本,社区代码贡献者超过110名,Github 上的星星从年初 3000+ 增至 6400+。全球范围内,将 Harbor 应用于生产系统的用户更是数以千计。 Harbor 开源项目于今年8月捐献给云原生计算基金会(CNCF),成为首个源创于中国的CNCF项目。 不久前,Harbor在中国首届 KubeCon + CloudNativeCon 上,再度晋级,成为 CNCF 第19个孵化级(incubating)项目,项目团队还登上大会主场舞台,和用户分享这一激动人心的历史时刻。于此同时,该大会上,Harbor 社区还联合 CNCF 举办了 Harbor 社区线下活动,并为 Harbor 项...阅读全文
PHP 7.4 有哪些新特性
(User $user) => $user->id, $users) 需要注意几点: 短闭包可以直接访问闭包函数外面的变量,所以不需要再写 use 关键词以fn关键词开始$this 可以像普通的闭包一样使用短闭包只有一行代码,仅仅做返回声明使用,不允许使用return 关键词 还可以使用更严格类型的方式 $ids = array_map(fn(User $user): int => $user->id, $user); 预加载 PHP预加载可以极大的提高性能 优点:在PHP 7.4以前,如果你使用了框架来开发,每次请求文件就必须加载和重新编译。预加载在框架启动时在内存中加载文件,而且在后续请求中永久有效。 缺点:性能的提升会在其他方面花费很大的代价,每次预加载的文件发生改变时,框架需要重新启动。 属...阅读全文
Debian软件包常用管理命令整理
apt-get check #检查破损的依赖关系 $ sudo apt-get autoclean #自动清楚apt-get缓存 软件包卸载 $ sudo apt-get remove pkgname #删除已安装的软件包(保留配置文件) $ sudo apt-get purge pkgname #卸载软件,同时删除配置文件 $ sudo apt-get autoremove pkgname #彻底自动卸载软件,删除该软件包及所依赖的,以及不再使用和未使用的软件包 在清理本地缓存时,我们会用到 apt 的 clean 命令。值得一提的是,apt-get autoclean 和 apt-get clean 是略微有区别的。 APT的底层包管理器是dpkg, dpkg 安装软件包时, 会将...阅读全文
Debian瞻前 微软顾后:安全改进是否会产生负面影响
在许多互联网领域,尤其是Web PKI和SSL/TLS行业中,我们大多生活在过去的决定中。脆皮密码、差强人意的协议设计以及不怎么标准的软件始终牵绊着前进的步伐。往往一个新操作系统或库的问世都会迅速被大量使用,然后整个生态系统需要花上很多年的时间处理各种遗留的设计缺陷。 随着互联网规模和重要性的增长,我们试图做出更明智的决定,以避免或至少缩短这一周期。最近,两个操作系统进行了更新,反映了两种不同的保持生态健康的做法: Debian推动了其预发行版本的更改,将只支持TLS 1.2;而微软则开始在Windows Server 2008添加TLS 1.2支持。 这两个选择代表了相反的观点 - 一个展望未来,另一个回顾过去。 Debian发布了一个新版本的OpenSSL库,用于其不稳定的构建 - 一...阅读全文
Debian GNU/Linux 9 Stretch 宣布于 6 月 17 日发布
不过在这段时间内,开发团队还需要修复已知的BUG,各种崩溃和内存泄漏问题,整合所有最新的安全补丁,处理Debian GNU/Linux 8 "Jessie"系列版本的推送和流畅升级问题。 Niels Thykier在今天更新的邮件列表中写道:“我们计划在2017年6月17日发布。如果你想要为此进行庆祝,请考虑参加一场Debian版本发布排队或者自己举办一个。用户可以访问https://wiki.debian.org/ReleasePartyStretch查看更多信息。”...阅读全文