此方法在 Ubuntu 18.04 中测试通过,其他 Linux 版本仅供参考。最近在配置 jenkins 中执行需要 sudo 权限才能进行的操作时会报错:no tty present and no askpass program specified。因为 sudo 时需要输入密码,而 CI 任务执行时并没有可供输入密码的 TTY 环境。解决这个问题最简单的方式当然是配置 sudo 时不用输入密码。网上搜了很多相关的教程,但并没有起作用(后来发现是代码位置的问题)。这里把相关的操作简单整理一下。sudo 相关的配置位于 /etc/sudoers 文件内。但这个文件不建议直接编辑,而是使用以下命令:sudo vi...
透明封装 Vue 组件
title: 透明封装 Vue 组件date: 2019-09-12 15:13:00updated: 2019-09-12 15:13:00tags:Vuecategories:前端在项目中我们通常会有封装一个现有组件的需求,为组件添加一些额外的特性或配置。例如封装 textarea 以提供自动调整大小的功能、封装第三方组件库中的某个组件以提供额外的默认配置等。以 textarea 为例,textarea 有一些常用的属性如 rows、cols、placeholder 等,也有一堆事件如 input、keydown 等。如果直接对其封装的话就意味着要把一堆属性和事件绑定到新的组件上,如下:<templat...
在 Docker 中安装运行 Firekylin
Firekylin 是基于 ThinkJS 开发的一套高效简洁的动态博客系统,数据库使用 MySQL,安装配置非常简单方便。
关于 Firekylin 的安装方式在 wiki 上已经有很详细的说明,以下本文主要说下在 Docker 中安装运行 Firekylin 的方式。
一般来说,在 docker 中运行网站会有两种常用的方式。即一种是把代码作为卷挂载到容器中运行,好处是方便代码的版本控制和更新;另一种方式是把代码和运行时环境同时打包到容器中,好处是方便随处运行。以下会分别就这两种运行方式做说明。
另外以下内容只谈及 Firekylin 的安装和运行,不涉及到 Nginx 和 MySQL。数据库之类的敏感内容(...
入手树莓派
Polyfills 和 Ponyfills 的区别
Yarn vs npm: 你需要知道的一切
高性能服务器架构思路(五)——分布式缓存
本文分享自腾云阁
作者介绍:韩伟,1999年大学实习期加入初创期的网易,成为第30号员工,8年间从程序员开始,历任项目经理、产品总监。2007年后创业4年,开发过视频直播社区,及多款页游产品。2011年后就职于腾讯游戏研发部公共技术中心架构规划组,专注于通用游戏技术底层的研发。
在分布式程序架构中,如果我们需要整个体系有更高的稳定性,能够对进程容灾或者动态扩容提供支持,那么最难解决的问题,就是每个进程中的内存状态。因为进程一旦毁灭,内存中的状态会消失,这就很难不影响提供的服务。所以我们需要一种方法,让进程的内存状态,不太影响整体服务,甚至最好能变成“无状态”的服务。当然“状态”如果不写入磁盘,始终还是需要某些进程来承载的。在现在流行的 WEB 开发模式中,很多人会使用 PHP+Memcached+MySQL 这种模型,在这里,PHP 就是无状态的,因为状态都是放在 Memcached 里面。这种做法对于 PHP 来说,是可以随时动态的毁灭或者新建,但是 Memcached 进程就要保证稳定才行;而且 Memcached 作为一个额外的进程,和它通信本身也会消耗更多的延迟时间。因此我们需要一种更灵活和通用的进程状态保存方案,我们把这种任务叫做“分布式缓存”的策略。我们希望进程在读取数据的时候,能有最高的性能,最好能和在堆内存中读写类似,又希望这些缓存数据,能被放在多个进程内,以分布式的形态提供高吞吐的服务,其中最关键的问题,就是缓存数据的同步。