docker容器编排实践

由于本人比较懒,对于整天配置环境感到无聊,用了docker之后,都是能上docker即上docker。但是以前docker在跨主机情况支持较弱,往往要用复杂的mesos或者k8s,反正配置一次我就怕了。忽然发现docker 1.12之后自带了swarm来实现容器编排。 下面记录一下,一次利用swarm来实现容器编排的过程,仅仅是记录过程。 实践环境 2台1核1G服务器,用的企鹅家的服务器。 操作系统:centos 7.2 64bit docker版本:1.12.6 安装docker ...

利用微信服务号oauth实现扫码登录

谁说管理后台就要用繁琐的帐号密码登录的? 写代码写了五年,写管理后台更是家常便饭。然后写多了之后,一是觉得常规的太没有味道了。第一步,输入帐号密码,第二步校验帐号密码是否正确。最多就加上验证码,防止恶意登录。 但是,最近发现越来越多网站都支持APP扫码登录了,那么我写的管理后台也可以采用高大上(简单粗暴)的扫码登录嘛。但是,我没理由去开发一个APP吧(其实我不会app开发)。这个时候,捡一个现成的app就好了嘛。但是现成app要开发帐号信息才行呀,符合这个要求的一个app就是微信。微信服务号提供oauth支持,可以根据openid唯一识别用户。 先放三张帅气的图片体现一下这种方法的优雅: 别扫这个二维码, ...

聊聊日志这件小事情

写应用不写日志,只会在撞板后也不知道为何撞板。线上的问题永远不会知道为何会发生,只会出现事故之后身处茫然之中。 哪怕用print也要输出关键数据 新手会经常在调试的时候使用print,不论这种方式的优劣,反正关键位置数据哪怕用print输出都比没有好。在linux系统,nohup启动进程的时候,可以把print输出的内容导到一个文件。只要有print,就多了一条路子来定位数据。 记录日志请用成熟的框架 真心不推荐用print来记录日志,为什么呢?因为成熟的框架往往可以设置日志的存储方式和随意控制存储哪种级别日志内容。 我们记录日志,大部分时候是不会翻阅的,但是我们很多时候又需要从日志挖掘一些数据。例如每天请求某个接口多少次,然后有哪些接口请求耗时超过1秒的等诸如此类。 如果日志需要用于分析,我们存在于文本,就需要编写繁琐的代码来获取结果。假如我们用了mysql或者mongodb等数据库存储日志, ...

从开发微信小程序看开发模式

不讨论微信小程序的商业价值,单纯从开发微信小程序来看,它的开发模式是很先进的。 1.一个页面一个文件夹 小程序每一个页面都由一个wxml(其实就是html),一个wxss(其实就是css)和一个js文件构成。并且页面之间样式和js都是隔离开的,而路由统一由根目录下的app.json配置而成。这样子的结构在后期是非常有利于维护的。 2.内置了常用组件 以前我们还没有使用vue等框架的时候,我们页面的组件都是一堆html片段构成的,看起来就繁杂。让我们看看下面这两幅图对比一下(都是为了实现进度条组件): 是不是小程序的开发方式看起来就是赏心悦目呢? 3.小程序本质 可以看成,VUE ...

谈谈技术选型的那些事情

不知道多少想进入互联网行业的创业者曾问我,我想做一个项目,我该用什么技术? 存在即合理,你所选择的所有技术本质上都可以完成任务,只是成本问题。 首先考虑的成本是学习成本,如果你说用这种技术很轻易可以实现功能,但是学习使用这种技术就需要几个月,等你团队成员学习完成,项目早就过了最佳时期。所以你明白外面为什么一堆企业在用PHP了,因为上手实在是快得没有朋友。 接着需要考虑的成本,就是找人的成本。试想想,你决定用C++来写一个后台管理系统,你确定能很低成本找到会这技能的同学吗?但是假如你采用了php这开发方案,外头随便一抓都是php,找人根本不愁(注意:我并没有对php有偏见)。 核心技术研发风险也是一个需要考虑的问题,假如你是要制作一只爬虫, ...