精华内容
下载资源
问答
  • Counter是Python标准库提供的一个非常有用的容器,可以用来对序列中出现的各个元素进行计数,下面就来一起看一下Python中Collections模块的Counter容器使用教程
  • 容器服务提供高性能可伸缩的容器应用管理服务,支持用Docker容器进行应用生命周期...关于阿里云容器服务的详细内容:阿里云容器服务使用教程 产品优势: 简单易用 一键创建容器集群。 全兼容 Docker Compose ...

    容器服务提供高性能可伸缩的容器应用管理服务,支持用Docker容器进行应用生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。容器服务简化了容器管理集群的搭建工作,整合了阿里云虚拟化、存储、网络和安全能力,打造Docker云端最佳运行环境。

    关于阿里云容器服务的详细内容:阿里云容器服务使用教程

    产品优势:

    简单易用

    一键创建容器集群。

    全兼容 Docker Compose 模板编排应用。

    支持图形化界面和 OpenAPI。

    安全可控

    用户拥有并独占云服务器。

    支持定制安全组和专有网络 VPC 安全规则。

    协议兼容

    兼容标准 Docker API,支持应用无缝迁云,支持混合云场景。

    兼容 Compose 模板协议。

    支持通过 API 对接,实现第三方的调度下发和系统集成。

    高效可靠

    支持海量容器秒级启动。

    支持容器的异常恢复和自动伸缩。

    支持跨可用区的容器调度。

    应用场景:DevOps 持续交付

    最优化的持续交付流程

    配合 Jenkins 帮您自动完成从代码提交到应用部署的 DevOps 完整流程,确保只有通过自动测试的代码才能交付和部署,高效替代业内部署复杂、迭代缓慢的传统方式。

    能够实现:

    DevOps 自动化:实现从代码变更到代码构建,镜像构建和应用部署的全流程自动化。

    环境一致性:容器技术让您交付的不仅是代码,还有基于不可变架构的运行环境。

    持续反馈:每次集成或交付,都会第一时间将结果实时反馈。

    推荐搭配使用:云服务器 ECS + 容器服务

    基于高性能计算的机器学习

    专注机器学习本身,快速实现从 0 到 1

    帮助数据工程师在 HPC 集群上轻松部署机器学习应用,跟踪试验和训练、发布模型,数据部署在分布式存储,无需关心繁琐部署运维,专注核心业务,快速从 0 到 1。

    能够实现:

    快速弹性:一键部署机器学习应用,秒级启动和弹性伸缩。

    简单可控:一行配置轻松获取 GPU 计算能力,并且可以监控 GPU 的资源。

    深度整合:无缝接入阿里云存储、日志监控和安全基础架构能力。

    推荐搭配使用:高性能计算 (Alibaba Cloud HPC) + 容器服务 + 阿里云文件存储 NAS + 对象存储 OSS

    微服务架构

    实现敏捷开发和部署落地,加速企业业务迭代

    企业生产环境中,通过合理微服务拆分,将每个微服务应用存储在阿里云镜像仓库帮您管理。您只需迭代每个微服务应用,由阿里云提供调度、编排、部署和灰度发布能力。

    能够实现:

    负载均衡和服务发现:支持 4 层和 7 层的请求转发和后端绑定。

    丰富的调度和异常恢复策略:支持服务级别的亲和性调度,支持跨可用区的高可用和灾难恢复。

    微服务监控和弹性伸缩:支持微服务和容器级别的监控,支持微服务的自动伸缩。

    推荐搭配使用::云服务器 ECS + 云数据库 RDS 版 + 对象存储 OSS + 容器服务

    混合云架构

    统一运维多个云端资源

    在容器服务控制台上同时管理云上云下的资源,不需在多种云管理控制台中反复切换。基于容器基础设施无关的特性,使用同一套镜像和编排同时在云上云下部署应用。

    能够实现:

    在云上伸缩应用:业务高峰期,在云端快速扩容,把一些业务流量引到云端。

    云上容灾:业务系统同时部署到云上和云下,云下提供服务,云上容灾。

    云下开发测试:云下开发测试后的应用无缝发布到云上。

    推荐搭配使用:云服务器 ECS + 专有网络 VPC + 高速通道(Express Connect)

    弹性伸缩架构

    根据业务流量自动对业务扩容/缩容

    容器服务可以根据业务流量自动对业务扩容/缩容,不需要人工干预,避免流量激增扩容不及时导致系统挂掉,以及平时大量闲置资源造成浪费。

    能够实现:

    快速响应:业务流量达到扩容指标,秒级触发容器扩容操作。

    全自动:整个扩容/缩容过程完全自动化,无需人工干预。

    低成本:流量降低自动缩容,避免资源浪费。

    推荐搭配使用:云服务器 ECS + 云监控

    更多精品课程:

    阿里云云计算专业

    阿里云大数据专业

    阿里云云安全专业

    展开全文
  •  这是之前设计的异步框架的一个子功能:过程A将标准容器数据序列化成二进制流,然后将该二进制数据发送到过程B,过程B将数据反序列化为标准容器。(转载请指明出于breaksoftware的csdn博客) 下面这个基类支持...

            使用Boost做对象序列化是非常方便的,本文将介绍一种序列化STL标准容器的方法。

            这是之前设计的异步框架的一个子功能:过程A将标准容器数据序列化成二进制流,然后将该二进制数据发送到过程B,过程B将数据反序列化为标准容器。(转载请指明出于breaksoftware的csdn博客)

            下面这个基类支持vector、set、unordered set、multiset、unordered multiset、map、unordered map、multimap和unordered multimap。

    /*************************************************************************
        > File Name: serialization.h
        > Author: fangliang
        > Mail: fangliang1988@gmail.com 
        > Created Time: Fri 23 Mar 2018 03:11:14 PM CST
     ************************************************************************/
    #ifndef STLSERIALIZATION_SERIALIZATION_H
    #define STLSERIALIZATION_SERIALIZATION_H
    
    #include <string>
    #include <sstream>
    #include <boost/archive/binary_oarchive.hpp>  
    #include <boost/archive/binary_iarchive.hpp>  
    
    namespace stl_serialization {
    
    template<class T>
    class Serialization : public T {
    public:
    
        void serialization(std::ostringstream& ostream) {
            boost::archive::binary_oarchive oa(ostream);
            oa << *this;
        }
    
        void unserialization(std::istringstream& istream) {
            boost::archive::binary_iarchive ia(istream);
            ia >> *this;
        }
    private:  
        friend class boost::serialization::access;  
    
        template<class Archive>  
        void serialize(Archive& ar, const unsigned int version) {  
            ar & boost::serialization::base_object<T>(*this);  
        }
    };
    
    }
    
    #endif // STLSERIALIZATION_SERIALIZATION_H

            可被序列化的标准容器只要继承该基类即可。以map为例

    /*************************************************************************
        > File Name: map_serialization.h
        > Author: fangliang
        > Mail: fangliang1988@gmail.com 
        > Created Time: Thu 22 Mar 2018 11:09:11 PM CST
     ************************************************************************/
    #ifndef STLSERIALIZATION_MAP_SERIALIZATION_H
    #define STLSERIALIZATION_MAP_SERIALIZATION_H
    
    #include <map>
    #include <string>
    #include <sstream>
    #include <boost/serialization/map.hpp>
    #include <boost/archive/binary_oarchive.hpp>
    #include <boost/archive/binary_iarchive.hpp>
    
    #include "serialization.h"
    
    namespace stl_serialization {
    
    template<class T, class T1>
    class MapSerialization : public Serialization<std::map<T, T1> > {
    };
    
    }
    
    #endif // STLSERIALIZATION_MAP_SERIALIZATION_H

            使用一个单元测试来测试这段代码

    /*************************************************************************
        > File Name: ut_map_serialization.cpp
        > Author: fangliang
        > Mail: fangliang1988@gmail.com 
        > Created Time: Thu 22 Mar 2018 11:11:46 PM CST
     ************************************************************************/
    #include "gtest/gtest.h"
    #include "./src/stl_serialization/map_serialization.h"
    
    using stl_serialization::MapSerialization;
    
    int main(int argc, char* argv[]) {
        testing::InitGoogleTest(&argc, argv);
        return RUN_ALL_TESTS();
    }
    
    namespace unit_test {
    
    class UtMapSerialization :
        public ::testing::Test 
    {
    protected:
        virtual void SetUp() {
            MapSerialization<int, std::string> ms_src;
            for (int i = 0; i < _size; i++) {
                ms_src[i] = " ";
            }
            ms_src.serialization(_ost);
        }
        virtual void TearDown() {}
    protected:
        int _size = 10000;
        std::ostringstream _ost;
    };
    
    TEST_F(UtMapSerialization, SizeEq) {
        MapSerialization<int, std::string> ms_des;
        std::istringstream ist(_ost.str());
        ms_des.unserialization(ist);
        ASSERT_EQ(_size, ms_des.size());
    }
    
    TEST_F(UtMapSerialization, ElemEq) {
        MapSerialization<int, std::string> ms_des;
        std::istringstream ist(_ost.str());
        ms_des.unserialization(ist);
        int i = 0;
        for (std::map<int, std::string>::iterator it = ms_des.begin(); it != ms_des.end(); it++) {
            ASSERT_EQ(it->first, i++);
        }
    }
    
    }

            如果STL的容器中存放在的是一个非标准类型,比如一个用户自定义类型,则需要让该类型实现serialize方法。以vector为例

    /*************************************************************************
        > File Name: vector_serialization.h
        > Author: fangliang
        > Mail: fangliang1988@gmail.com 
        > Created Time: Thu 22 Mar 2018 03:41:16 PM CST
     ************************************************************************/
    #ifndef STLSERIALIZATION_VECTOR_SERIALIZATION_H
    #define STLSERIALIZATION_VECTOR_SERIALIZATION_H
    
    #include <vector>
    #include <string>
    #include <sstream>
    #include <boost/serialization/vector.hpp>
    #include <boost/archive/binary_oarchive.hpp>  
    #include <boost/archive/binary_iarchive.hpp>  
    
    #include "serialization.h"
    
    namespace stl_serialization {
    
    template<class T>
    class VectorSerialization : public Serialization<std::vector<T> > {
    };
    
    }
    
    #endif // STLSERIALIZATION_VECTOR_SERIALIZATION_H

            下面代码中,由于TestData是容器承载的类型,所以它需要增加24~33行代码用于容器内对象序列化。

    /*************************************************************************
        > File Name: ut_vecotr_serialization.cpp
        > Author: fangliang
        > Mail: fangliang1988@gmail.com 
        > Created Time: Wed 21 Mar 2018 02:34:18 PM CST
     ************************************************************************/
    #include "gtest/gtest.h"
    #include "./src/stl_serialization/vector_serialization.h"
    
    using stl_serialization::VectorSerialization;
    
    int main(int argc, char* argv[]) {
        testing::InitGoogleTest(&argc, argv);
        return RUN_ALL_TESTS();
    }
    
    namespace unit_test {
    
    struct TestData {
        int interger;
        double db;
        float fl;
        std::string str;
    private:  
        friend class boost::serialization::access;  
    
        template<class Archive>  
        void serialize(Archive& ar, const unsigned int version) {  
            ar & interger;
            ar & db;
            ar & fl;
            ar & str;
        }
    };
    
    class UtVectorSerialization :
        public ::testing::Test 
    {
    protected:
        virtual void SetUp() {
            VectorSerialization<int> vs_src;
            for (int i = 0; i < _size; i++) {
                TestData item;
                item.interger = i;
                item.db = i;
                item.fl = i;
                item.str = std::to_string(i);
                vs_src.push_back(item);
            }
            vs_src.serialization(_ost);
        }
        virtual void TearDown() {}
    protected:
        int _size = 10000;
        std::ostringstream _ost;
    };
    
    TEST_F(UtVectorSerialization, SizeEq) {
        VectorSerialization<int> vs_des;
        std::istringstream ist(_ost.str());
        vs_des.unserialization(ist);
        ASSERT_EQ(_size, vs_des.size());
    }
    
    TEST_F(UtVectorSerialization, ElemEq) {
        VectorSerialization<int> vs_des;
        std::istringstream ist(_ost.str());
        vs_des.unserialization(ist);
        for (int i = 0; i < _size; i++) {
            const TestData& item = vs_des.at(i);
            ASSERT_EQ(item.interger, i);
            ASSERT_DOUBLE_EQ(item.db, i);
            ASSERT_FLOAT_EQ(item.db, i);
            std::string str = std::to_string(i);
            ASSERT_STREQ(item.str.c_str(), str.c_str());  
        }
    }
    
    }
    

            最后我们看下包含10000个对象的容器反序列化耗时,总体来说效率还是不错的。


            最后说下,unordered set、unordered multiset、unordered map和unordered multimap等不保证序列化前后容器中元素顺序一致。

    展开全文
  • @本文来源于公众号:csdn2299,喜欢可以关注公众号 程序员学府 文章目录1.collections模块2.Counter...Counter是Python标准库提供的一个非常有用的容器,可以用来对序列中出现的各个元素进行计数,下面就来一起看一下Pyt
  • 使用stl标准容器过程中,遍历容器时总结了两种出现 iterators incompatible的原因: 1.遍历删除容器中某个的元素后继续遍历导致错误 list testlist; for (auto it = testlist.begin(); it != testlist.end(); +...

    使用stl标准容器过程中,遍历容器时总结了两种出现 iterators incompatible的原因:

    1.遍历删除容器中某个的元素后继续遍历导致错误

    	list<int > testlist;
    	for (auto it = testlist.begin(); it != testlist.end(); ++it)
    	{
    		if (5==*it)
    		{
    			testlist.erase(it);//erase导致当前it指向不可预知,erase返回的是下一个元素的迭代器
    		}
    	}

    2.定义了容器的对象后,不能对对象进行memset之类的操作

    struct M_stru 
    {
    	M_stru()
    	{
    		memset(this, 0, sizeof(M_stru));
    	}
    	vector<int >		testvec;
    };
    int main()
    {
    	M_stru stru1;
    	stru1.testvec.push_back(111);
    	stru1.testvec.push_back(222);
    	for (auto test : stru1.testvec)//这里的遍历会出错
    	{
    
    	}
    	return 0;
    }


    展开全文
  • Docker容器使用

    千次阅读 2019-08-17 15:59:42
    Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker容器是一种轻量级、可移植、自包可以在含的软件...

    目录

    Docker容器和KVM虚拟化

    Docker的安装和使用

    基于Docker的漏洞复现环境Vulhub的使用 


    Docker容器和KVM虚拟化

          Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然

    展开全文
  • OCI 和 runc:容器标准化和 docker

    千次阅读 2018-04-25 08:39:44
    OCI 和容器标准容器技术随着 docker 的出现炙手可热,所有的技术公司都积极拥抱容器,促进了 docker 容器的繁荣发展。容器一词虽然口口相传,但却没有统一的定义,这不仅是个技术概念的问题,也给整个社区带来一个...
  • Go标准容器之Ring

    千次阅读 2017-06-01 12:59:38
    简介Go的标准包Container中包含了常用的容器类型,包括conatiner/list,container/heap,container/ring,本篇讲解container/ring的使用。ring包ring包提供了环形链表的操作。它仅导出了一个类型,Ring:// Ring表示...
  • 该命令会返回所有容器和镜像的数量、Docker使用的执行驱动和存储驱动(execution and storage driver)、以及Docker的基本配置 二、运行Docker容器(run) 可以使用下面的命令来创建一个容器,相关含义如下: -i...
  • 包括中国压力容器制造行业在容器制造过程中需要进行无损探伤的所有方法及原理
  • C++容器使用经验总结

    2014-06-30 21:57:53
    第1章 容器 第1条:慎重选择容器类型。 ...标准STL序列容器:vector、string、deque和list。...标准STL关联容器:set、multiset、map和multimap。...非标准的关联容器hash_set、hase_multiset、hash_m
  • 文章目录C++中常用的std标准容器顺序容器:有序关联容器:无序关联容器:顺序容器1. vector容器a. vector的定义与初始化b. vecotr常使用的操作c. 小结:2. string容器a. string的初始化b. string中包含的专有的操作...
  • 标准C++ STL容器

    千次阅读 2012-12-21 22:30:46
    看到了map, 你会想起multimap吗? map 是标准的键值对key-...用multimap这个容器来完成一个key对应多个值,这样自然就不能使用数组方式为key赋值了。 以下内容为转载: http://blog.csdn.net/zhuxianjianqi/
  • STL 标准容器比较

    2011-08-18 22:44:47
    这一类的比较以前写过一篇...STL基本容器分为:顺序容器和关联容器 顺序容器 1.Vector其内部是由动态数组(dynamic array)实现,其他操作都是以这个实现为基础的。  Vector支持随机存取,只要知道位置就可以在常数时
  • NOI系列赛中 C++容器使用总结

    千次阅读 2015-08-26 10:35:00
    标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。 非标准的关联容器hash_set、...
  • c++容器使用经验总结

    千次阅读 2016-07-16 14:51:46
    标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。 非标准的关联容器hash_...
  • C#的标准容器

    千次阅读 2016-06-23 00:19:38
    1、内容:List&amp;ArrayList, Dictionary&amp;Hashtable, Stack, Queue;  每一点包括:增、删、查、遍历、排序、其它 ... 避免容器同时修改、查询,会出现异常; 2、List  本质:链表...
  • web容器的加载过程

    千次阅读 2018-03-20 11:07:52
    web容器的加载过程:Web应用由Tomcat实例添加到Tomcat中,即由Tomcat管理一个新添加的Context容器。前面已经提到一个Web应用对应一个Context容器,也就是Servlet运行时的Servlet容器。 启动web项目后,web容器首先...
  • Java集合容器面试题(2020最新版)

    万次阅读 多人点赞 2020-03-01 11:08:34
    文章目录集合容器概述什么是集合集合的特点集合和数组的区别使用集合框架的好处常用的集合类有哪些?List,Set,Map三者的区别?List、Set、Map 是否继承自 Collection 接口?List、Map、Set 三个接口存取元素时,各...
  • C++标准程序库提供了各具特长的不同容器。现在的问题是:该如何选择最佳的容器类别?下表给出了概述。 但是其中有些描述可能不一定实际。例如:如果你需呀处理的元素数量很少,可以虎落复杂度,因为线性算法...
  • Docker基础教程——容器

    千次阅读 2016-09-09 08:58:25
    容器是Docker的另一个核心概念。 一般来说,镜像的一个运行实例就是容器容器提供了一个可写的文件层。... 此时创建好的容器处于停止状态,使用docker pa -a可以查看容器列表。 停止的容器可以使用
  •  阿里云容器服务提供了两种数据卷类型,一种是NAS(提供标准的文件访问协议,您无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统),另一...
  • C++ STL 容器基本使用详解:

    千次阅读 2020-02-07 22:37:51
    C++ STL 容器: C++ STL vector 容器 vector容器的概念 vector在英文中是矢量的意思。 我们知道,一个数组必须要有固定的长度,在开一个数组的时候,这个长度也就被静态地确定下来了。但是vector却是数组的“加强版...
  • 多年来,STL容器使用总结!

    千次阅读 2017-02-20 16:31:49
    标准STL序列容器:vector、string、deque和list。 标准STL关联容器:set、multiset、map和multimap。 非标准序列容器slist和rope。slist是一个单向链表,rope本质上是一“重型”string。 非标准的关联容器...
  • 关于JAVA容器使用

    千次阅读 2018-03-20 10:10:13
    3、如果非要将容器当做一个数组来使用,通过toArraylist方法返回的就是一个数组  示例程序: package IT; import java.util.ArrayList; import java.util.Iterator; //数组的所有功能通过ArrayList容器都可以...
  • Spring容器的启动过程

    千次阅读 2018-08-21 14:12:44
    一、Spring的启动过程 (1)首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境; (2)其次,在web.xml中会提供...
  • C++标准程序库提供了各具特长的不同容器。现在的问题是:该如何选择最佳的容器类别?下表给出了概述。 但是其中有些描述可能不一定实际。例如:如果你需呀处理的元素数量很少,可以虎落复杂度,因为线性...
  • STL:STL各种容器使用时机详解

    千次阅读 2013-07-03 13:14:46
    C++标准程序库提供了各具特长的不同容器。现在的问题是:该如何选择最佳的容器类别?下表给出了概述。但是其中有些描述可能不一定实际。例如:如果你需呀处理的元素数量很少,可以虎落复杂度,因为线性算法通常对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 217,551
精华内容 87,020
关键字:

容器的标准使用过程