Stop DHCP From Changing resolv.conf

For DHCP users, there may be times when you need to edit /etc/resolv.conf to use other nameservers. Then, after a period of time (or after a »

月杪 月杪 on Linux, VPS, DNS

在Linux上使用rclone挂载Google Drive等服务

rclone可以帮助我们在Linux上挂载一些储存服务,包括Google drive, onedrive, box, AWS S3等等.同时不会占用硬盘空间 安装依赖 apt-get install fuse 下载 wget https://downloads.rclone.org/v1.41/rclone-v1.41-linux-amd64.zip 截止目前最新版为1.41,在 https://downloads.rclone.org/ 可以看到历史版本. 下载解压后里面的可执行文件rclone就是我们需要的,可以直接在当前目录使用也可以将其拷贝到/usr/local/bin. 配置 ./rclone config # 当前目录下执行 rclone config # 系统目录下执行 »

Github被微软收购

Congratulations to GitHub on their acquisition by Microsoft! This is validation of the growing influence of software developers in the world, and the importance of modern »

月杪 月杪 on Other

GDPR到底是什么

最近几天至少收到几十个服务的有关隐私协议的邮件(如果你没收到甚至没听说过GDPR,说明你基本不使用这个星球上的主流网络服务) 那么这个GDPR到底是什么呢? GDPR介绍 GDPR是欧盟于2018年5月25日正式开始实行的<一般数据保护条例> 该条例是近三十年来数据保护立法的最大变动,旨在加强对欧盟境内居民的个人数据和隐私保护.此外,它还将通过统一数据和隐私条例来简化对跨国企业的监管框架.它将取代1995年颁布的<数据保护指令> 1995年的<数据保护指令>95/46/EC是欧盟版的隐私保护条例.其主要目标包括协调数据保护立法,以及规范将个人数据转移到欧盟以外的“第三国”的情形.除了其它一系列措施,各个盟国还各自成立独立的公共机构,监督该指令的实施,并作为与企业和公民互动的监管机构.整体而言,该指令符合经济合作与发展协会(OECD)的最初建议以及隐私权是基本人权的核心概念. 虽然<数据保护指令>旨在团结不同盟国的立法,但这只是一项指令,当置换到各国独立的法律时仍有一定的解释空间.加上当今数据格局的快速变化,尤其是Facebook LinkedIn等社交平台以及云技术的兴起,势必要升级欧盟地区的监管环境.即将到来的GDPR是一项更大的立法,并且在各个成员国即刻可执行. 条例 vs. 指令 这项变化的一个重要特征就是欧盟GDPR是一项条例取代原有的指令.条例直接适用于欧盟各成员国,而对于指令,各成员国有权酌情决定数据保护法的实施.因而,除了严格的数据和隐私保护,条例的实施还将通过在欧盟地区统一数据和隐私法规而简化监管框架.对于跨国企业来说,这将帮助他们在与多个数据和隐私保护机构沟通时消除当地法律之间的不一致性,从而降低行政成本和负担. 处罚力度加大 GDPR将继续通过监管机构和法院执行,除了民事补救还有刑事和行政处罚.然而,根据国际隐私专业人士协会的数据,GDPR加大了行政处罚的力度,根据案情情况最高可罚款两千万欧元,或公司年营业额的4%. 新扩大的管辖权将影响在欧盟地区开展业务的中国企业 该条例的一个重要特征是新扩大的管辖权,可能会影响到欧盟以外的企业.新条例适用于为欧盟境内的个人提供商品和服务,或监控个人行为(如商业网站或移动应用的运营商)的企业.这一规定将影响很多中国企业. GDPR规定同意书将仍是处理个人数据的一个要求,并为同意书设立了更严格的条件.EUDataProtectionLaw.com指出,对这些条件的定义是“数据主体通过申明或一个清晰的肯定动作,在知情的情况下自主 具体而明确地表明自己的意愿,即表示他们同意个人相关数据被处理.” 规定新权利 欧盟GDPR还建立了两项新的个人隐私权,“删除权”和“移植权”.删除权是对“被遗忘权”的扩充,让个人有权要求删除其个人数据.而移植权则让个人可以更轻松地访问自己的数据.个人可以要求将其数据从一个供应商转移到另一个供应商.此类数据转移将为个人创造更多方便,而加大了供应商之间的竞争. 如何确保合规 GDPR不止适用于欧盟内的企业,还适用于欧盟以外的企业——如果他们为欧盟境内的数据主体提供商品或服务,或者监控其行为.GDPR也适用于处理或持有欧盟境内数据主体数据的企业,不论该企业位于何处. 很多企业之前并未遵循过欧盟数据和隐私法,因而很多细节(如范围 实施等)都不清楚.对于在欧盟境内运营的企业,或是向欧洲个人提供商品 服务或监控其行为的企业,您可以通过以下步骤提前为明年做准备. 根据现有资料深入解读GDPR »

用Golang重写Github webhook后台服务

起因 前段时间写过一篇利用Github的Webhook功能进行持续集成, 当时使用nodejs来写了webhook的后台服务. 那个程序已经稳定运行了一段时间,期间并没有出现大的问题. 但是毕竟是js的程序,空转状态就需要占用几十Mb的内存,就一个HTTP监听占用这么大确定不是开玩笑??? 另外一个问题就是该程序跑起来以后在Linux里会是一个node进程,这个时候如果你的服务器上同时运行了好几个由nodejs驱动的程序的话..你可以想到有多壮观 行动 于是决定用go来重新实现这个工具,基本是完全复刻旧的nodejs项目然后添加了配置文件功能. GoWebhook 服务重新跑起来了,内存占用大概只有nodejs项目的八分之一到十分之一. 并且后台也不会显示一个node进程了. 后记 现在看来脚本语言还是不是太适合做服务端开发,即使服务已经跑起来了还是会想用编译语言重新写一遍. 而且得益于语言层面完善的设计和更加现代化的通用库似乎Go的开发效率并不会比js低太多喔. »

月杪 月杪 on Github

for循环中的++i和i++有什么区别

i++和++i是C系语言的经典课题, 我们知道i++和++i的表面区别为++i的返回值为i+1,而i++则为i,而它们的底层实现分别为: ++i实现: int operator ++ () { return i+1; } i++实现: int operator ++ (int flag) { int j = i; i += 1; return »

月杪 月杪 on Code

我眼中程序员简历

为开源项目贡献过代码 +10 接触过3种以上编程语言 +10 有业余编程项目 +10 有持续维护的开源项目 +10 简历为PDF格式或独立HTML页面 +5 有独立域名的技术博客 +5 有自己的Github地址 +5 同时接触过编译语言和脚本语言 +5 只接触过一种编程语言 -5 屡次强调自己的Master/Doctor学历 -5 简历格式为docx -5 简历中提到熟悉Microsoft Office -5 Github中全是Markdown项目 »

月杪 月杪 on Other

利用Github的Webhook功能进行持续集成

Webhook,也就是人们常说的钩子,是一个很有用的工具.你可以通过定制Webhook来监测你在Github.com上的各种事件,最常见的莫过于push事件.如果你设置了一个监测push事件的Webhook,那么每当你的这个项目有了任何提交,这个Webhook都会被触发,这时Github就会发送一个POST请求到你配置好的地址. 这样你就可以通过这种方式去自动完成一些重复性工作.比如:你可以用Webhook来自动触发一些持续集成(CI)工具的运作. Github开发者平台的文档中对Webhook的所能做的事是这样描述的: You’re only limited by your imagination. Github Webhook和以前写过的通过travis自动将Jekyll持续部署到服务器上相比: 不需要暴露(经过travis加密的)服务器私钥 不需要通过travis的虚拟机中转(那玩意儿的带宽实在是....) 当然和travis相比也有缺点: 需要有一台属于自己的外网服务器 自己的Webhook响应服务. 开始 要利用webhook进行持续集成工作至少需要以下几个条件: 可以外网访问的服务器 接收并响应GitHub Webhook的服务 GitHub Webhook的配置 服务器 还有什么好说的... 如何选购VPS »

如何选购VPS

什么是VPS VPS全称Virtual Private Server(虚拟专用服务器).其实就是物理机上开出的虚拟机. 很多IDC服务商都喜欢给自己的VPS起一个听起来一脸懵逼的名字比如阿里云的ECS,比如腾讯云的CVM等等. 直接说主机或者直接说实例感觉在他们的企业文化里很难接受似的,一定要起个名字. 其实我想原因是AWS这个云服务的鼻祖把他们的机器取名EC2. 有些人不管什么时候都说ECS,就是典型的只用过阿里云的傻缺. VPS虚拟化的分类 目前市场上的虚拟化技术主要分为4类: 1.XEN XEN的典型代表是早期的AWS和老牌VPS服务商Linode,不过这两家都迁移到了KVM.目前主流服务商已经全面放弃XEN. 2.KVM 目前的主流全虚拟化技术,全面替代了XEN.XEN算是Linux的一个应用,而KVM是Linux的一个模块. 下面提到的服务商除了微软以外都是使用的KVM. 3.Hyper-V 微软自家虚拟技术,Windows专享.(不然你以为Azure的母鸡是一堆Linux?) 本来Hyper-V在这个领域没什么存在感,但耐不住Azure这玩意市场占有率高啊 4.OpenVZ OpenVZ本质上并不是虚拟化,而是容器.相对于XEN和KVM而言它的性能损失是最小的(几乎可以忽略不计),并且内存/CPU/硬盘伸缩不用重启(XEN和KVM是需要重启后才能正确配置的). 而OpenVZ最大的缺点在于虚拟隔离化非常低,并且硬件层面权限较低甚至不能拥有自己的独立Linux内核. 同时OpenVZ最大的问题并不在于技术层面,而在于绝大部分服务商使用OpenVZ的目的是内存可以超售.超售是什么概念呢?简单说一台32G内存的物理机可以开出64台内存1G的VPS. 其他 除了上面说到的以外还有一些非主流的虚拟技术,比如VMWare这种商业解决方案(当然价格嘛...).不过各种其他虚拟技术加起来份额不到1%. VPS的网络 网络也分几个考虑方向,延迟 »

利用Guetzli压缩jpg图片

Guetzli is a JPEG encoder that aims for excellent compression density at high visual quality. Guetzli-generated images are typically 20-30% smaller than images of equivalent quality »

月杪 月杪 on Other