Let's Encrypt 是一个免费的SSL证书机构,可以通过Certbot工具进行申请。
Let's Encrypt 网站: https://letsencrypt.org/
Certbot 网站: https://certbot.eff.org/
Certbot Github: https://github.com/certbot/certbot
测试环境: Ubuntu 14.04, python 2.7, nginx 1.4.6
申请过程
1.安装
首先要保证电脑中已经安装了git和nginx,并且能够正确运行。
安装certbot可以从github上面clone,或者直接从官方提供的下载地址进行下载。
继续阅读 »
go只提供了一种循环方式,即for循环,在使用时可以像c那样使用,也可以通过for range方式遍历容器类型如数组、切片和映射。但是在使用for range时,如果使用不当,就会出现一些问题,导致程序运行行为不如预期。比如,下面的示例程序将遍历一个切片,并将切片的值当成映射的键和值存入,切片类型是一个int型,映射的类型是键为int型,值为*int,即值是一个地址。
继续阅读 »
布朗法则 :Later Equals Never
多少次我们为了进度写下一堆又一堆的烂代码,当每一次运行通过后是不是想着“先这样吧,后面再优化”,但是 later equals never 。或许这就是优秀和平庸的区别,细节决定成败。
继续阅读 »
最近在 Qinling 项目中实现对 function 运行时做资源限制,主要是 cpu、内存和磁盘,后续还会考虑 package 大小、文件句柄、系统调用等资源限制。限制资源使用的原因很简单,因为底层是容器实现,function 都是跑在容器里,如果不做资源限制,任由用户自己在 function 里分配资源,那么不同用户的函数势必会相互影响,更严重的情况是恶意用户会利用一些手段突破容器的限制,威胁 hypervisor,进而威胁整个云环境。
继续阅读 »
Kubernetes是一个Docker集群管理工具,主要包含资源管理,部署运行,服务发现,扩容缩容等功能,帮助用户把所有的应用都部署在Docker Container里边,Kubernetes可以看成是一个mini的PaaS平台,主要用来帮助用户管理Docker Container。
继续阅读 »
初识 Tinker
昨天中午微信开源了动态修复解决方案 tinker :https://github.com/Tencent/tinker
是不是激动人心的想要试一下呢?下面记录一下如何运行 tinker 的 Demo 工程。
继续阅读 »
链接:Link 状态:Runtime Error
前言
这题做的可真够久的,整整三个小时。但即便如此,还是只过了一部分的点,另一部分报运行时错误——估计是哈希表设计的不太好。但这确实是一道好题,因此,在睡觉前决定记录一下。
分析
很容易便想到:用一个三元组$(x,y,z)$表示节点,表示内容为x的节点下跟着标号为y和z的左右子树。这样一来,一类相同的子树便可以唯一确定了,而不必每构造一棵子树就把整棵树遍历一遍。
对于三元组的储存,刚开始图方便,用了数组。查找也是用了$O(n)$的线性查找。磕磕碰碰写了两个多小时然后兴冲冲地提交,结果TLE了…………没办法,只好又花了半个小时写了一个哈希表,然后就是上文说过的情况了:Runti
继续阅读 »
开发安卓也有很长一段时间了,但是很少用到测试框架, 平时写用都靠打 log 进行调试和测试,
运行的对不对,异常情况的处理,边界条件的处理,全靠自己的想象,写出来的代码和应用健壮性可想而知!
所以学习测试框架是很有必要的一件事,虽然在公司可能很少会用到,因为你可能没有时间去写一个测试案例!
其工作量不亚于实现一个应用功能, 但是我觉得测试是对自己所写代码的一种负责!
继续阅读 »
目录
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
工作内容
基础运维工程师
负责日常网络及各子系统管理维护;
负责设计并部署相关应用平台,并提出平台的实施、运行报告;
负责配合开发搭建测试平台,协助开发设计、推行、实施和持续改进;
负责相关故障、疑难问题排查处理,编制汇总故障、问题,定期提交汇总报告;
负责网络监控和应急反应,以确保网络系统有 7*24
继续阅读 »
游戏的场景服务和数据服务整合
一直以来都觉的现在运行的游戏后台服务, 实在太多了。
1,数据服务和场景服务之间的通信, 用的是消息队列zeroMQ来做的, 无形就多了一个消息队列服务, 然后还有一个处理队列任务的mq_worker, 然后数据服务到场景服务的通信.
2, 需要在每次需要的时候都建立一次本地的socket,就2个服务之间,产生了多余的好多事情。
继续阅读 »