作者 | changshuai FaaS 的门槛 Serverless 形态的云服务帮助开发者承担了大量复杂的扩缩容.运维.容量规划.云产品打通集成等责任,使得开发者可以专注业务逻辑.提高交付速度 (Time-to-market) ,持续优化成本.Function-as-a-Service (FaaS) 作为云上最早也是应用最广泛的 Serverless 计算形态,在几年的时间内吸引了大批开发者,逐渐建立了 Serverless 优先的选型逻辑.然而从传统应用迁移到 FaaS 在开发者体验上还面…
​ 随着互联网技术的飞速发展,越来越多的应用横空出世,是以不可避免带来了大量的服务器需求.大部分的开发者都选择购买或者租用服务器,然而这样也带来了诸多的烦恼. 1.硬件成本高昂 购买服务器费用昂贵,除了基础的购买费用外,服务器对机房也有苛刻的要求,温度.湿度.防震等等的高要求都需要开发者投入大量的成本.租用服务器虽然不需要考虑服务器环境的问题,但一个性能强大的服务器也需要花费一大笔租赁费用.这些费用也许对一些大公司来说并不算什么,可对于一个刚刚起步的小项目却是无力承担的. 2.硬件资源浪费 为了…
我关注Google的代码托管.Open API,我也关注Oracle会把MYSQL怎么样云数据库化,我也虚拟化技术多实例化独立的数据库,我也关注facebook的平台插件应用架构,我也关注salesforce的在线开发语言和调试环境,我也关注javascript和XML组成的客户端UI,落地为flex或sliverlight或其他什么Ext js或JQuery或YUI或Dojo之类. 从大型主机到个人电脑,从个人电脑到局域网,从局域网到wi-fi.笔记本电脑,甚至到如今的比笔记本更小更廉价的上网…
写这个专栏的缘起 之前我写过一篇博客:<朱晔的互联网架构实践心得S2E2:写业务代码最容易掉的10种坑>,引起的关注还是挺多的.后来和极客时间的编辑一拍即合决定以这个为题写一个专栏.其实所谓坑就是容易忽略但是不容易发现的问题,大部分生产事故都是发布.运维相关的配置引起,真正代码中的问题上线后产生问题的坑并不多,虽然我接触过很多生产事故,但是能提炼出写代码的坑的点不多.所以在内容整理方面我花了很多时间,最终我总结出100+的点,形成了这样一个30+文章的专栏. 专栏名字叫<Java业务开发…
昨日内容回顾 第一部分:权限相关 1. 权限基本流程 用户登录成功后获取权限信息,将[权限和菜单]信息写入到session. 以后用户在来访问,在中间件中进行权限校验. 为了提升用户体验友好度,在后台通过inclusion_tag动态生成一个二级菜单. 2. 使用权限 - 用户登陆:权限和菜单的初始化: init_permission - 配置中间件 - 配置白名单 - 配置session中使用到的key - load rbac - menu ,inclusion_tag 生成菜单 - filt…
这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变. 由数人云.优维科技.中生代社区联合发起的 系列 Meetup < DevOps&SRE 超越传统运维之道> 先后在深圳.北京举行过两场 7 月 15 日上海站,敬请期待 ▼ 王一男老师在< DevOps&SRE 超越传统运维之道·北京站>活动中,结合百度的实践,讲述落地 DevOps 时,首先要拆掉业务→开发→测试→运维中间的这三面墙,一起来看一下吧! 数人云友情提示:前方全文约 9000…
一个让业务开发效率提高10倍的golang库 此文除了是标题党,没有什么其他问题. 这篇文章推荐一个库,https://github.com/jianfengye/collection. 这个库是我在开发业务过程中 Slice 的频繁导致业务开发效率低,就产生了要做一个 Collection 包的想法.本文说说我开发这个库的前因后果 Golang 适不适合写业务? 最近一个逻辑非常复杂的业务,我用 Golang 来开发.开发过程不断在问一个问题,Golang 适不适合写业务? 业务说到底,是一大…
目录 准备工作 开发环境信息 改写HCNetSDK.h头文件 开发过程 基本数据类型转换 业务开发 参考 项目最近需要改造升级:操作海康摄像头(包括登录,拍照,录像)等基本功能.经过一段时间研究后,发现使用golang的cgo来进行开发,甚是方便,不用考虑生成多余的golang代码,直接调用海康sdk中的函数代码. 准备工作 开发环境信息 在Windows10下进行开发,使用海康sdk是CH-HCNetSDKV6.0.2.35_build20190411_Win64版本.go版本号go1.12.…
我们都知道,很多业务系统都是基于 MVC 三层架构来开发的.实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式. 虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了面向对象编程风格,是一种彻彻底底的面向过程的编程风格,因此而被有些人称为反模式(anti-pattern).特别是领域驱动设计(Domain Driven Design,简称 DDD)盛行之后,这种基于贫血模型的传统的开发模式就更加被人诟病.而基于充血模型的 DDD 开发模式越来越被人提倡. 基于上…
异步风格的函数: 继续来学习async相关的东东,对于它其实可以用到函数上,也就是用它可以定义一个异步风格的函数,然后在该函数中再来调用普通的函数,下面来瞅一下: 其实“GlobalScope.async()”就是调用咱们之前直接调用async的扩展函数,如下: 此时我们来调用一下,这里就直接可以调用既可,而不像之前是在runBlocking中来调用的,如下: 看一下提示: 所以此时咱们将其放到协程中,用runBlocking: 好,下面运行一下: 其结果比较好理解,但是!!!其实这个代码还是有…