做了几年“斜杠青年”,我在ZStack立志做国产云计算的研发

ZigBee协议栈 -- Zstack协议栈(Zstack2.5.1a) CC2530 芯片由 TI 出品,在硬件上和支持 ZigBee 协议;同时 TI 提供的 ZStack 协议栈则是一套符合 ZigBee 协议的协议栈,本篇所讲的CC2530 协议栈即为 TI ZStack 协议栈。 阅读详情

在浅黑科技《ZStack:这群做云的人有点“轴”》一文中,作者史中提到,这是一篇国产云计算佼佼者ZStack的创业史,文中记录了因为热爱而聚集起来的最早一批ZStacker,他们生活没有退路,但热爱未有止息。

实际上,这群人不止是做云“轴”,还很有趣呢。比如什么猫本轴海带,70后知识储备的90后…让我们走进《ZStacker说》专栏,一起看看这些有趣的ZStacker叭。

“不安分”职场小白初入创业大潮

故事要从我实习开始讲起,那时我还在大三,一个睡眼惺忪的早上我收到了实习面试电话。2014年2月我进入英特尔在Graphic 的团队实习,故事就此开始了。实习入职后,我才知道当时给我电话面试的是现在的自动化测试负责人赵胜龑同学,帮我投递简历的是尤永康。那时我们在英特尔的实验室里面工作,坐在我旁边的是郭进先、田野、还有一段时间的熊丽金。当时周超也在同一个团队,只不过是虚拟化方向,团队里面资深的大佬是何老师,进来没多久就听闻他给git 提交patch 的“英勇事迹”。在英特尔的球场还偶遇过几次许大哥,那个时候我还跳得起来。我上面提到的这些人,后面都前前后后加入了ZStack。
在这里插入图片描述

我拿到了英特尔的offer后,2015年7月份正式加入英特尔Graphic 团队。还记得那是一个下午,我在实验室的门口碰见康康,攀谈中得知他不久要离职,离开英特尔去创业,那时的我对云计算还是一个小白,只有些基本的概念。入职英特尔不久,实习时的项目被移交给法国,恰好遇上重组,我从Graphic 团队转入到了嵌入式系统测试团队,在何老师的带领下专注嵌入式操作系统Zephyer 的测试。
在这里插入图片描述

那一年,我还是个瘦子,还是个

实现国产化转型,ZStack Cloud 助力中铁财务数字化转型! ZStack Cloud 助力中铁财务数字化转型! 阅读详情

相关推荐

ZStack云计算架构探秘(一)

ZStack架构探秘(一) 接下来几天我们将陆续介绍ZStack的内部架构设计,好让大家进一步了解ZStack是怎么设计和实现的。 这开头的一篇我们将会总体说明一下我们的主要技术点以及ZStack安装部署后的拓扑结构。 在我们设计ZStack的时候,我们有比较明确的设计原则,一切违背原则的方法,就算再好,我们也不会采用。我们的设计原则是: 可分发满足数

zstack_org的博客 7598

Z-stack 协议栈基础知识

Z-stack协议栈简单知识: ZigBee 的协议分为两部分, IEEE 802.15.4 定义了 PHY(物理层)和 MAC(介质访问层)技术规范;ZigBee 联盟定义了 NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范ZigBee 协议栈就是将各个层定义的协 议都集合在一起 ,以函数的形式实现,并供给用户提供 API( 应用层) ,用户可以直接调用。 在开发一个...

Easadon的博客 1万+

zstack(四)zstack架构简介

本篇简单介绍一下zstack的架构设计。现在的zstack加入了一个新的模块woodpecher,用于自动化测试。由于本人对这块没有研究过,这里先不讲这个。

任杰的博客 6248

ZStack实践汇|从VMware迁移到ZStack的简洁之路

作者:ZStack 社区 文帅翔 背景 本人现在在一家创业公司,负责公司的架构以及运维工作,由于公司现在业务迅速发展、业务量增速快,开发人员也有所增多。前端、后端、测试都需要分配虚拟机,有的时候一个人员不止分配一台虚拟机。除此之外,公司项目的本地环境、测试环境,在有新项目要发布的时候也需要创建新的虚拟机来承载。 一来这样的环境和需求带来了运维工作的重复及不便捷,二来公司领导希望可以实现以下目标: ...

zstack_org的博客 6560

ZStack Cube:超融合3.0,从虚拟化到云平台融合

超融合并不是一个新概念,从诞生到现在,差不多已经有十多年发展历程了。但由于企业底层的IT基础架构在不断变化,所以超融合的内涵也在不断演进。从简单的硬件融合到虚拟化融合,走到今天,超融合已进入3.0时代,实现了云平台技术层面的融合。 IDC在一份报告中显示,超融合的年复合增长率在15%以上,并且从现在到2024年,整个超融合市场规模将达到20亿美元之上,比纯做私有云、混合云或者纯软件的市场规模还要大。另外,从提升客户体验的角度来看,更细粒度的产品打磨,肯定更能满足客户需求,这种开箱即用式服务,能从根本上帮助.

zstack_org的博客 3199

基于 ZStack Cloud 的英特尔精选开源云解决方案白皮书

“我们一直与英特尔保持良好的合作关系,为了增强用户对于私有云的体验,我们将新一代的英特尔CPU以及傲腾技术应用到ZStack云平台、容器、分布式存储等产品中,结果非常令人满意。ZStack长期践行着产品化私有云的路线,同时也一直保持着核心代码开源的策略,在此次的英特尔精选开源云解决方案中,双方对整体软硬件进行了大量工作,从而保证用户得到具备弹性、可扩展、稳定、健壮的私有云整体解决方案,以加速企业IT改造效率、便捷用户上云体验。” 张 鑫 ZStack CEO 凭借着在敏捷性、开放性、扩展性等方面的优势,云.

zstack_org的博客 2468

ZStack实践汇 | 虚拟化软件漏洞和解决方案

​ 概况 本文主要比较了主流虚拟机虚拟层(KVM,ESX,Hyper-V和Xen)中的安全功能和常见漏洞,并分析了安全趋势。然后,对虚拟化软件的常见威胁进行了分类,并讨论其影响。最后,对于解决虚拟化软件漏洞和安全问题,本文也提出一些解决方案。 1、虚拟化软件的常见漏洞及安全趋势 首先,表1展示了上述主流虚拟层的一些标准功能和安全功能: 表1 虚拟机监控程序比较 如表所示,这些虚拟机虚拟层之间在安全功能方面的主要区别在于:只有KVM能通过SELinux为应用程序提供强制访问控制。其他区别在于安全证书,其中X

zstack_org的博客 1852

信创动态| ZStack&鼎甲科技完成兼容互认证

近日,专注IaaS的产品化云厂商云轴科技(简称“ZStack”)与广州鼎甲计算机科技有限公司(简称“鼎甲科技”)完成产品兼容互认证!确定ZStack与鼎甲科技自主研发的数据备份与恢复系统 V8能够达到通用兼容性要求及性能、可靠性要求,可充分满足用户的关键性应用需求。 鼎甲数据备份与恢复系统 V8是一款融合了数据备份、数据容灾、数据高可用等功能的企业级数据安全保护软件产品,适用于操作系统、文件、数据库、虚拟机、云平台、应用系统的立体化保护,能高效保障业务系统的安全。据国际权威调研机构 IDC 最新发布的中.

zstack_org的博客 1695

ZStack实践汇 | SR-IOV实践指南

第一章 SR-IOV介绍 1.1 概述 SR-IOV(Single Root I/O Virtualization)是一种基于硬件的虚拟化解决方案,它允许多个云主机高效共享PCIe设备,且同时获得与物理设备性能媲美的I/O性能,能有效提高性能和可伸缩性。可适用于网络NFV、云游戏、视频流(UDP)等对网络性能、传输速度要求极高的应用场景。本文将以型号为Mellanox Technologies MT27710 Family [ConnectX-4 Lx]的物理网卡为例,详细介绍ZStack SR-IOV在L

zstack_org的博客 1654

手势控制 Python !Leap Motion Python 开发教程 (二)

手势控制 Python !Leap Motion Python 开发教程 (二) 现在进入正题,我来给大家总结一下我在使用 Leap Motion 开发过程中的经验以及学到的东西,其中我会概括以及翻译官方给出的注释,为了让这些注释更加通俗易懂,让大家更好理解。 回顾 在上一篇文章中我们讲了如何配置 Leap Motion 的 Python 2.7 的开发环境,如果您还没有配置好您的开发环境,可以参...

成畅的博客 3195

robomimic实验复现全流程指南:从数据集下载到训练视频生成

本文提供了RoboMimic实验复现的完整实战指南,重点解析了从数据集下载、配置文件定制到模型训练与评估的全流程。以tool_hang任务为例,详细说明了环境准备、数据获取、训练监控及视频生成等关键步骤,并针对常见问题给出了排查方案,帮助研究者高效完成机器人模仿学习实验的闭环验证。

2w3e4r5t6y的博客 1034

Rust 与 C/C++:Rust 比 C/C++ 更好还是只是“技能问题”?

对于许多嵌入式系统开发人员而言,的崛起似乎掀起了一股不小的浪潮,特别是在相较于传统的语言,Rust的“内存安全”优势让人眼前一亮。然而,是否可以将Rust作为C/C++的替代品?或者说,Rust是否真的比C/C++更好,抑或它只是一个“技能问题”呢?在嵌入式开发的领域,我观察到,尽管Rust在一些高性能、内存安全敏感的场景中受到了广泛推崇,但它在实际应用中的普及度,特别是在嵌入式领域,依然有限。今天,我会从多个角度探讨这个问题,并且分享一些对于Rust、C/C++以及嵌入式系统开发的个人见解。

qq_63315166的博客 1300

别再被网站识别成机器人了!用Python的undetected_chromedriver+Selenium实现无痕自动化

本文详细介绍了如何利用Python的undetected_chromedriver和Selenium实现无痕自动化,突破现代网站的反爬系统。通过修正浏览器指纹、模拟人类操作行为,并结合实战案例,帮助开发者构建难以被识别的自动化脚本,适用于电商监控等场景。

weixin_30367169的博客 253

Python爬虫实战:如何通过解析JSON数据抓取抖音视频评论

本文介绍了如何使用Python爬虫抓取抖音视频评论数据。请求头伪造:通过使用随机的User-Agent,模拟真实用户的请求。代理池:使用代理IP来避免被封禁。JSON解析:直接从API接口获取JSON格式的数据,避免了动态加载内容的限制。需要注意的是,抓取网站数据时应遵守网站的爬虫协议,避免过度抓取影响网站性能或违反法律法规。希望本文能够帮助你掌握如何抓取和分析抖音视频评论数据!

2201_76125261的博客 3362

11、ThingsBoard集群部署k8s

今天终于有时间去搞这个啦,拖了很久了,一直没时间,因为我本地没有那么多机器资源,开虚拟机不够,如果租用阿里云服务器,需要有充值的时间,因为这个费用是按小时付费,需要有连贯的时间来搞才行,今天恰好有时间,就开始搞了,弄成功搞出来了,特地写博客记录下来。

AldrichEugene 993

C#实现Socket通信同时监听多客户端(附完整源码)

C#实现Socket通信同时监听多客户端(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 428

如何在 R 中执行 Kruskal-Wallis 检验

Kruskal-Wallis 检验用于确定三个或更多独立组的中位数之间是否存在统计学上的显着差异。它被认为是单向方差分析的非参数等效项。本教程介绍了如何在 R 中执行 Kruskal-Wallis 检验。示例:R 中的 Kruskal-Wallis 检验 假设研究人员想知道三种不同的肥料是否会导致不同水平的植物生长。他们随机选择 30 种不同的植物并将它们分成三组,每组 10 株,每组施用不同的肥料。在一个月结束时,他们测量每株植物的高度。使用以下步骤执行 Kruskal-Wallis 检验以确定三个组的中

Mrrunsen的博客 3801

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

上一篇: ZStack Cloud 4.4.24 新功能:内存快照技术详解
下一篇: 硬核性感!沉浸式体验 ZStack Cube 超融合的7大亮点功能
普通网友
博客等级 码龄10年 769粉丝 269原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值