skylark

使用Bazel构建C/C++项目

早过忘川 提交于 2021-01-09 08:35:02
这是关于Bazel的第二篇blog,前一篇写了安装、配置相关的东西,这一篇则是4个逐步推进的例子,改编自官方demo;以及相应的概念、文档链接等。 [TOC] 前提 Linux(Ubuntu, etc)或Mac OSX系统,会点儿命令行(包括brew/apt) 装好了zsh和oh-my-zsh(用于 bazel build 等命令的补全) 装好了bazel; 学过C/C++; 用过make/cmake 最好会一点git bazel版本:目前我用0.21版本,最新版删过东西( https://docs.bazel.build/versions/0.21.0/be/workspace.html) 基本概念 WORKSPACE : 空文件;标识了项目根目录;只有一个 BUILD :WORKSPACE下的子目录里,如果放了一个名为 BUILD 的文件,则这个目录是一个 package ; BUILD 里写一些构建规则 (rules) cc_binary : C/C++ package 的最常用的构建规则 bazel的C/C++在线文档: https://docs.bazel.build/versions/master/be/c-cpp.html target 的概念:cmake中的target包括executable、library两种情况 rule 的概念:类似于cmake中

Serverless 在编程教育中的实践

我们两清 提交于 2021-01-07 04:28:36
说起Serverless这个词,我想大家应该都不陌生,那么Serverless这个词到底是什么意思?Serverless到底能解决什么问题?可能很多朋友还没有深刻的体会和体感,这篇文章我就和大家一起聊聊Serverless。 什么是Serverless 我们先将Serverless这个词拆开来看。Server,大家都知道是服务器的意思,说明Serverless解决的问题范围在服务端。Less,大家肯定也知道它的意思是较少的。那么Serverless连起来,再稍加修饰,那就是较少的关心服务器的意思。 Serverfull时代 我们都知道,在研发侧都会有研发人员和运维人员两个角色,要开发一个新系统的时候,研发人员根据产品经理的PRD开始写代码开发功能,当功能开发、测试完之后,要发布到服务器。这个时候开始由运维人员规划服务器规格、服务器数量、每个服务部署的节点数量、服务器的扩缩容策略和机制、发布服务过程、服务优雅上下线机制等等。这种模式是研发和运维隔离,服务端运维都由专门的运维人员处理,而且很多时候是靠纯人力处理,也就是Serverfull时代。 DevOps时代 互联网公司里最辛苦的是谁?我相信大多数都是运维同学。白天做各种网络规划、环境规划、数据库规划等等,晚上熬夜发布新版本,做上线保障,而且很多事情是重复性的工作。然后慢慢就有了赋能研发这样的声音

G2Plot 2.0 全新来袭

大憨熊 提交于 2020-11-26 13:10:10
G2Plot 官网 | GitHub 开源地址 > G2 是一个基于图形语法,面向数据分析的统计图表引擎。G2Plot 是在 G2 基础上,屏蔽复杂概念的前提下,保留 G2 强大图形能力,封装出业务上常用的统计图表库。 ** G2Plot 是一个基于配置、体验优雅、面向数据分析的 统计图表库,**帮助开发者以最小成本绘制高质量统计图表。 G2Plot 最初诞生于阿里经济体 BI 产品真实场景的业务诉求。 动态数据量、数据场景不确定是 BI 产品和中台系统业务数据的一个普遍特征,而这种特征对统计图表的功能和体验提出了巨大的挑战。如何能够帮助报表系统和一线前端在复杂数据条件下快速高效地创建统计图表,同时保证图表在各种显示空间和数据状态下的可读性和可用性? 为解决这两个痛点问题,AntV 与 DeepInsight、QuickBI 和 FBI,阿里经济体多个优秀的数据 BI 产品技术团队联手打造了 G2Plot。 G2Plot 2.0 带来了什么? G2Plot 2.0版本,我们开启了全新技术架构,全面依赖 G2。一图一做扩展常见的业务图表,也提供了自定义扩展能力,满足自定义个性化图表的诉求。下面让我们来看下,主要带来的重要能力和特性。 开箱即用的统计图表 2020年 AntV 的 slogan 是 利业·立业 ,这也是 G2 栈今年一直在做的事情,立足业务,盈利业务

如何在公有云上部署私有云?阿里云专有宿主机轻松搞定

一个人想着一个人 提交于 2020-04-14 13:38:35
【推荐阅读】微服务还能火多久?>>> 我相信看到这个题目很多人都会感觉好奇,怎么可能同时是公有云和私有云 ? 如果你有这个疑问,请你带着这个问题把这篇文章看完。 如何在公有云上部署私有云? 一直以来大家都习惯于直接购买 ECS 实例,但是忽略了阿里云的另外一 种 特 殊的云资源形态,那就是 专有宿主机 (Dedicated Host)。顾名思义,就是 指一台物理服务器(Physical Host)归某一个单一租户专有 。这是一个非常有别于传统公共云“多租户”的概念,所以有用户才说:专有宿主机就像是一朵公有云上的私有云。 为什么需要在公有云上部署私有云? 让我们先从私有化部署(on premise)说 起 , 传统的 IT 部署方式是采购一批服务器,然后部署上架,构建一个固定容量的资源池用于 IT 环境的搭建。 私有化部署方式的缺点大家都清楚 : 没有弹性,扩容周期长,为了保证业务的需要,常常需要保留一部分冗余资源以备不时之需,从而导致了 IT 投入的浪费; 运维负担重,从机器采购、上架部署 , 到后续的维护 、 机房的风火水电, 都需要有专门的人员负责 。 如果是在第三方机房,也不能完全省心。 既然有这么多的问题, 那为什么还有很多企业依然采用私有云呢? 那是因为私有化部署的一些优点,公有云的多租户形态没有办法完全取代。这些优点可以用两个字总结,那就是:可控。

Bazel: genrule that outputs an directory

青春壹個敷衍的年華 提交于 2020-02-24 05:49:28
问题 I'm just getting started working with Bazel. So, I apologize in advance that I haven't been able to figure this out. I'm trying to run a command that outputs a bunch of files to a directory and make this directory available for subsequent targets. I have two different attempts: Use genrule Write my own rule I was naively hoping to just do this with a genrule . But, it doesn't seem you can say "I don't know exactly what this command is going to output" and put a directory in outs . Now I'm