精华内容
下载资源
问答
  • 通常用在立即调用之前。...如果你在构建过程中把两个文件压缩之后连接到一起,就变成了 (function(){})()(function(){})() 这样就出了问题,所以为了避免这个问题,你可以在 b.js 最前面加一个分号。 (...

    通常是用在立即调用之前。但是并不是因为他是立即调用函数,而是为了文件合并的安全。

    比如zhuan你有两个文件,a.js 和 b.js,里面都是一个立即调用函数:

    // a.js
    ( function() {} )()
    
    
    // b.js
    ( function() {} )()

    如果你在构建过程中把两个文件压缩之后连接到一起,就变成了


    ( function() {} )()( function() {} )()

    这样就出了问题,所以为了避免这个问题,你可以在 b.js 最前面加一个分号。


    ( function() {} )();( function() {} )()

    很多第三方 JS 库需要考虑各种被使用的情况,所以前面可能会写个分号。

    展开全文
  • Maven是啥

    千次阅读 2018-09-28 16:39:21
    Maven专门用于构建和管理Java相关项目的工具。 Maven意第绪语,依地语言(犹太人使用的国际语),表示专家的意思。 所以用了Maven管理项目,你就是专家啦,哈哈。   Maven 用处一:相同的项目结构 使用...

    Maven是专门用于构建和管理Java相关项目的工具。

    Maven是意第绪语,依地语言(犹太人使用的国际语),表示专家的意思。

    所以用了Maven管理项目,你就是专家啦,哈哈。

     

    Maven 用处一:相同的项目结构

    使用Maven管理的Java项目都有着相同的项目结构

    1. 有一个pom.xml 用于维护当前项目都用了哪些jar包

    2. 所有的java 代码都放在src/main/java 下面

    3. 所有的测试代码都放在src/test/java下面

     

    Maven 用处二:统一维护jar包

     比如说有3个项目,这些项目都不是maven风格。那么这3个项目,就会各自维护一套jar包。而其中有些jar包是相同的。

    而maven风格的项目,首先把所有的jar包都放在'仓库'里,然后那个项目需要用到这个jar包,只需要给出jar包的名称和版本号就

    行了。这样jar包就实现了共享,如图所示,在pom.xml里面,表示用到了mysql 的 jar 包, 版本号是5.1.30:

     

    仓库是啥???

    概念:  用于存放项目需要的jar 包。maven采用一个仓库,多个项目的方式,让多个项目共享一个仓库的相同的jar 包。

     

    仓库配置文件是在安装的maven目录下的conf/settings.xml。里面有默认的配置位置,可以自己更改。

    在mirrors下新加一个阿里云的镜像地址:

    <mirror>

    <id>alimaven</id>

    <mirrorOf>central</mirrorOf>

    <name>aliyun maven</name>

    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>

    </mirror>

    下载速度飞快。不然默认的会从国外的maven仓库下载,速度会很慢。

     

     

    展开全文
  • Hadoop 平台伪分布式模式的构建部署过程?!值得推荐!! 前言: 大数据也就是"Big data",那么什么大数据呢?笔者认为就是海量数据,非常多的数据的意思。那么大数据为在这几年又会如此之火呢?主要还是...

            Hadoop 平台伪分布式模式的构建部署过程?!值得推荐!!

    前言:

         大数据也就是"Big data",那么是什么是大数据呢?笔者认为就是海量数据,非常多的数据的意思。那么大数据为啥在这几年又会如此之火呢?主要还是得益于中国信息高速公路发展的结果。首先是通信链路的发展。由原来的以太网、ADSL传输到后面的光纤到户,桌面百兆的速率的提升;由原来的2G到现在的4G以及马上要来的5G。这些优质高效的传输方式支撑着当下信息社会的稳定发展;其次就是移动化、智能化的发展,每个人几台手机、N个APP、N个平板,移动化趋势的加入,使得人们可以随时随地的消费和生产数据;智能化的发展就体现了当下社会国人对于各种需求的不断提升。最重要的是什么,就是我们中国社会发展了,人民有钱了。对吧。所以笔者认为基于这些原因,大数据顺势而生,而且愈发重要。大数据行业生态也已经形成。正如马老师而言,我们的社会已经进入了DT时代。因此我自己也定义为一个DT人。

        好,以上就是我自己个人的一点理解。那么说道大数据,必然会说到hadoop。它是什么东西呢?为什么会是它呢?一个行业的产生肯定不是只有一个公司。但是在这个行业hadoop的生态做的非常好,就是因为它有一整套完整有效的生态,各个子系统都完整匹配各平台。因此它的市场份额要远远高过其它的大数据平台。它的市场份额占用率超过80%。所以形成了市场垄断。就像安卓一样,安卓是一套生态系统的总成。它不仅仅是一个手机端的系统。因此我们称为大数据现在就用hadoop平台了。

        Hadoop平台是Apache基金管理委员会组织下的一个开源的分布式系统架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力进行高速运算和存储。具有可靠、高效、可伸缩的特点。它是基于Java语言进行开发的。它由三大模块组成也就是HDFS\  YARN\  Mapreduce.组成。官方网站:https://hadoop.apache.org   ,大家没事可以去看看。

    接下来

     对hadoop这款软件的三大通用组件进行一个详解

      HDFS:Hadoop distributed file system.  顾名思义就是Hadoop平台下用来管理分布式文件的一个系统。其实它的一个关键作用及时分布式存储。它是hadoop体系中数据存储管理的基础。并且是一个高度容错的系统。能检测和应对硬件故障,用于在低成本的通用硬件上运行。它分为  namenode   datanode两个组件

    HDFS简化了文件的一致性 模型。通过流式数据的访问。提供高吞吐量的应用程序数据访问的功能。适合带有大型数据集的应用程序。它提供了一次写入多次读取的机制。数据以块的形式同时分布在集群的不同的物理机器上。

    YARN  分布式资源管理器   属于hadoop第二代的分布式计算的框架,其实可以这么理解。就是一个管理资源的管理器。它可以运行多种计算框架,比如MR、Giaph 、Spark、Storm、Flink.....

    MapReduce   其实按照java 开发语言来开发的一个程序就是用Java的 Map()函数进行的Reduce计算。Map将要计算的对象先分成N个Key,然后再用Reduce去对Map计算的结果进行整合规约的过程。最终会形成一个计算结果。非常适合大量计算机组成的分布式并行环境的离线数据的操作。

    以上三个通用组件都是以hdfs为基础的。hdfs是hadoop运行的所有的基础。yarn 对应的配置文件  yarn-site.xml  .

    hdfs 对应的配置文件 hdfs-site.xml .  Hadoop的核心配置文件 core-site.xml. 这个几个配置文件特别重要。

    接下来,我们来部署一个Hadoop的伪分布式

    伪分布式,其实不是真正的分布式。它有两种以下两个场景:

    第一:开发环境下我们只需要使用Hadoop提供的一些功能,而不需要去搭建更多的集群服务。

    第二:学习环境下,想尽快熟悉hadoop的功能。让大家尽快熟悉了解这个Hadoop生态。

    在部署之前,我们还要用到一些常规的知识:

    Hadoop 平台现在主要是三个厂家。哪三个呢?

    Apache Hadoop      它是原厂,源码包供应商,所有的开发商都以它为基础

    CDH   hadoop      它是目前国内使用最多的一家hadoop平台。管理完善,文档齐全。我们就用它来开发,测试。

    HDP    hadoop    了解了解即可。

    那么我们要用到 CDH  hadoop ,目前我们使用CDH5  他是基于hadoop 2.6来开发升级并对外提供服务的。非常成熟

    官网下载 https://www.cloudera.com/downloads/cdh/6-3-1.html   家没事去看看里边的信息和文档,非常重要

    好啦,废话少说。上干货。。。。

    系统环境:

    OS:CenterOS   7.6     CDH  :   hadoop-2.6.0-cdh5.16.2

    JDK  1.8 _181

    步骤如下:

    第一步: 解压获取到的cdh软件包到指定目录     tar zxvf  ......-C  目录

    第二步:配置Hadoop  ,进入刚刚解压的Hadoop目录将其中的/etc/hadoop目录单独拷贝到另外一个目录下,比如/etc/hadoop下

    第三步:安装JDK  同样使用 tar zxvf ...... -C 目录

    第四步    并配置环境变量   vi /etc/profile     下面是笔者的。

    第五步:  创建一个用于启动hadoop的用户。不用设置密码

    第六步: 授权    主要是授权hadoop的按照目录与hadoop的/etc/的配置文件的目录 授权给hadoop

    chown -R hadoop:hadoop ..../hadoop  使用此命令就好

    第七步:伪分布式下可以不用任何配置就可以启动服务。但是呢我们这里还是定义一个core-site.xml  他是hadoop的核心配置文件。也是通用的组件。就进入到配置文件目录下的conf目录下查看    该改以下几个就可以了。

    第八步:既然定义了主机名,那么我们的宿主机的/etc/hosts目录下也要做相应的映射。也就是 ip ----hostname的映射

    第九步:启动服务拉。  看服务启动正常否 

    切换用户  su - hadoop

    /bin/hdfs namenode -format   --------->必须要做  这个是产生NameNode元数据的意思

    启动namenode  datanode服务

    sbin/hadoop-daemon.sh start namenode start 

    服务启动后,也会有一个端口会起来   50070端口

    通过Web访问看能否OK?  一切正常

    sbin/hadoop-daemon.sh start datanode start    是否成功呢?通过Jps看一下结果

    都有了,namenode  datanode 都有了服务也正常。 

    接下来,启动resourcemanager ,也就是启动RM。

    sbin/yarn-daemon.sh start resourcemanager    启动成功。

    它启动后,就会有一个8088 的端口,是否OK呢?我们也来访问一下,发现也正常。

     

    于是我们的一个伪分布式服务就搭建成功拉。我们还可以在上面去跑更多的应用服务。进而更快的深入了解我们的平台。

    大家快快搭建吧。

    欢迎大家关注我。后续我将时时更新我的个人博客信息。

    我主要是跟大家一起来探讨linux  容器   自动化  大数据、AI、 Python方面的一些学习历程。一起共同进步。。。

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • C语言中的多态实现

    2015-03-09 15:15:28
    相信很多人都看过设计模式方面的书,大家有什么体会呢?Bridge,Proxy,Factory这些设计模式都基于抽象类的。...由于C++语言本身实现了继承和多态,使用这样的编程理念(理念啥意思?跟个风,嘿嘿)在C+

    相信很多人都看过设计模式方面的书,大家有什么体会呢?Bridge,Proxy,Factory这些设计模式都是基于抽象类的。使用抽象对象是这里的一个核心。

    其实我觉得框架化编程的一个核心问题是抽象,用抽象的对象构建程序的主体框架,这是面向对象编程的普遍思想。用抽象构建骨架,再加上多态就形成了一个完整的程序。由于C++语言本身实现了继承和多态,使用这样的编程理念(理念啥意思?跟个风,嘿嘿)在C++中是十分普遍的现象,可以说Virtual(多态)是VC的灵魂。

    但是,使用C语言的我们都快把这个多态忘光光了。我常听见前辈说,类?多态?我们用的是C,把这些忘了吧。很不幸的是,我是一个固执的人。这么好的东西,为啥不用呢。很高兴的,在最近的一些纯C代码中,我看见了C中的多态!下面且听我慢慢道来。

    1. VC中的Interface是什么

    Interface:中文解释是接口,其实它表示的是一个纯虚类。不过我所要说的是,在VC中的Interface其实就是struct,查找Interface的定义,你可以发现有这样的宏定义:

    #Ifndef Interface

    #define Interface struct

    #endif

    而且,实际上在VC中,如果一个类有Virtual的函数,则类里面会有vtable,它实际上是一个虚函数列表。实际上C++是从C发展而来的,它不过是在语言级别上支持了很多新功能,在C语言中,我们也可以使用这样的功能,前提是我们不得不自己实现。

    2.C中如何实现纯虚类(我称它为纯虚结构)

    比较前面,相信大家已经豁然开朗了。使用struct组合函数指针就可以实现纯虚类。

    例子: typedef struct {

    void (*Foo1)();

    char (*Foo2)();

    char* (*Foo3)(char* st);

    }MyVirtualInterface;

    这样假设我们在主体框架中要使用桥模式。(我们的主类是DoMyAct,接口具体实现类是Act1,Act2)下面我将依次介绍这些“类”。(C中的“类”在前面有说明,这里换了一个,是使用早期的数组的办法)

    主类DoMyAct: 主类中含有MyVirtualInterface* m_pInterface; 主类有下函数:

    DoMyAct_SetInterface(MyVirtualInterface* pInterface)

    {

    m_pInterface= pInterface;

    }

    DoMyAct_Do()

    {

    if(m_pInterface==NULL) return;

    m_pInterface->Foo1();

    c=m_pInterface->Foo2();

    }

    子类Act1:实现虚结构,含有MyVirtualInterface st[MAX]; 有以下函数:

    MyVirtualInterface* Act1_CreatInterface()

    {

    index=FindValid() //对象池或者使用Malloc !应该留在外面申请,实例化

    if(index==-1) return NULL;

    St[index].Foo1=Act1_Foo1; // Act1_Foo1要在下面具体实现

    St[index].Foo2=Act1_Foo2;

    St[index].Foo3=Act1_Foo3;

    Return &st [index];

    }

    子类Act2同上。

    在main中,假设有一个对象List。List中存贮的是MyVirtualInterface指针,则有:

    if( (p= Act1_CreatInterface()) != NULL)

    List_AddObject(&List, p); //Add All

    While(p=List_GetObject()){

    DoMyAct_SetInterface(p);//使用Interface代替了原来大篇幅的Switch Case

    DoMyAct_Do();//不要理会具体的什么样的动作,just do it

    }

    FREE ALL。

    在微系统里面,比如嵌入式,通常使用对象池的技术,这个时候可以不用考虑释放的问题(对象池预先没有空间,使用Attach,在某个函数中申请一个数组并临时为对象池分配空间,这样函数结束,对象池就释放了)

    但是在Pc环境下,由于程序规模比较大,更重要的是一些特殊的要求,使得对象的生命周期必须延续到申请的那个函数体以外,就不得不使用malloc,实际上即使在C++中,new对象的自动释放始终是一个令人头疼的问题,新的标准引入了智能指针。但是就我个人而言,我觉得将内存释放的问题完全的交给机器是不可信任的,它只能达到准最佳。

    你知道设计Java的垃圾回收算法有多困难吗?现实世界是错综复杂的,在没有先验条件下,要想得到精确的结果及其困难。所以我说程序员要时刻将free记在心上,有关程序的健壮性和自我防御将在另外一篇文章中讲述。

    3.纯虚结构的退化

    下面我们来看看如果struct里面仅仅有一个函数是什么? 这个时候如果我们不使用struct,仅仅使用函数指针又是什么? 我们发现,这样就退化为普通的函数指针的使用了。

    所以说,有的时候我觉得面向对象仅仅是一种形式,而不是一种技术。是一种观点,而不是一种算法。但是,正如炭,石墨和钻石的关系一样,虽然分子式都是C,但是组成方法不一样,表现就完全不一样了!

    有的时候,我们经常被编程中琐碎的事情所烦恼,而偏离了重心,其实程序可进化的特性是很重要的。有可能,第一次是不成功的,但是只要可进化,就可以发展。

    4.进阶――类结构树,父类不是纯虚类的类

    前面仅仅讲的是父类是纯虚结构的情况 (面向对象建议的是所有类的基类都是从纯虚类开始的), 那么当类层次比较多的情况下,出现父类不是纯虚结构怎么办呢。嘿嘿,其实在C中的实现比C++要简单多了。因为C中各个函数是分散的。

    在这里使用宏定义是一个很好的办法:比如两个类Act1,ActByOther1“继承”Act1:

    MyVirtualInterface* ActByOther1_CreatInterface()

    {

    index=FindValid() //对象池或者使用Malloc

    if(index==-1) return NULL;

    St[index].Foo1= ActByOther1_Foo1; // Act1_Foo1要在下面具体实现

    St[index].Foo2= ActByOther1_Foo2;

    St[index].Foo3= ActByOther1_Foo3;

    Return &st [index];

    }

    #define ActByOther1_Foo1 Act1_Foo1 //这就是继承 嘿嘿

    ActByOther1_Foo2(){} // 可以修改其实现

    ActByOther1_DoByOther() {} //当然就可以添加新的实现咯

    展开全文
  • 现在在的公司用spring.profiles.active=@profiles.active@当我看到这个的时候,一脸蒙蔽,这个@是啥意思。 这里其实是配合maven profile进行选择不同配置文件进行开发 实战 1.构建一个springboot 项目 这里使用...
  • 现在在的公司用spring.profiles.active=@profiles.active@ 当我看到这个的时候,一脸蒙蔽,这个@ 是啥意思。 这里其实是配合 maven profile进行选择不同配置文件进行开发 实战 1.构建一个springboot 项目 这里使用...
  • 在编译golang时,经常会遇到相关的参数要写,但是又不知道相关的参是啥意思,现在来整理一下相关的文档。 例如: go build -a -o cloudbak 上面的-a和-o分别是什么意思呢?通过查找官网相关资料,整理出下面的列表...
  • SAP ERP 概念

    2021-05-07 16:45:01
    由于不是functional consultant,所以一直迷糊。 今天来从系统看下,到底SAP ERP怎么个意思。 ERP和ECC啥的不解释了。企业资源计划和企业核心组件。...啥意思,就是你去淘宝京东买东西时候那个剩余多少件那种实时性,
  • 草草搜索了下百度百科等资料,看了半天也没发现到底啥意思,解决啥问题,有啥先进的地方,仔细搜寻资料后发现了一些有意思的东西: 超融合存储厂商首先抓住的用户数据中心虚拟化规模增大后的存储痛点问题(如...
  • 前些天一个小伙伴问我 :"下面这个模型中,(1|car_type) 是啥意思啊?" lmer(wear~wheel+(1|car_type)) 我其实一直知道这是一个 "固定部分(wheel) + 随机部分 (car_type)" , 而且它仅仅是 随机截距而 没有随机斜....
  • 基因组 组装

    2021-02-20 11:08:14
    sub-reads是啥?为什么要进行错误校正?校正的原理是什么?length_cutoff和length_cutoff_pre分别是什么意思,为什么要设置这两个参数? sub-reads就是机器出来的reads经过处理后的子reads,方
  • 弟弟懊恼地走了过来,说:建造者模式个啥玩意?搞不懂!搞不懂!...弟弟:这些字我都认识,连一块就不知道啥意思了?你到底会不会,别跟我扯淡! 我轻哼一声:要说明白这个建造者模式,那就不得不.
  • 相信很多人都看过设计模式方面的书,大家有什么体会呢?Bridge,Proxy,Factory这些设计模式都基于抽象类的。...由于C++语言本身实现了继承和多态,使用这样的编程理念(理念啥意思?跟个风,嘿嘿)在C++中
  • 语句看着没多少内容,可是啥意思呢?一脸懵逼!!! 2.在构建项目中,按照自己想法写出适配的makefile。看着demo中的makefile,写的好工整啊,自己写的坨翔么! 3.想要系统学习makefile技能,在网络上找资源。尝试...
  • 简单聊聊CI&CD

    2020-05-13 15:41:59
    CI/CD是啥? CI(Continuous integration,中文意思是持续集成)。CI是一种软件开发实践。持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确...
  • 语言的多态实现

    2005-03-29 13:07:00
    相信很多人都看过设计模式方面的书,大家有什么体会呢?Bridge,Proxy,Factory这些设计模式都基于抽象类的。使用抽象对象这里的一个核心...由于C++语言本身实现了继承和多态,使用这样的编程理念(理念啥意思
  • Linux之make命令

    2019-07-13 10:13:23
    文章目录make命令make的概念Makefile的格式概述目标...不清楚什么意思,本着不会学的精神,查找了一些资料,进行了总(ban)结(yi)。 代码变成可执行文件,叫做编译(compile);先编译这个,还是先编译那个(...
  • 按照谷歌出来的结果,大体意思是“Hybris Commerce一套完善的电子商务解决方案,基于开放标准构建,功能强大,且具有模块化的特点,旨在为满足企业的商务需求提供坚实的基础”。 当然对于我这样的萌新而言这解释...
  • 2021-05-10

    2021-05-10 22:45:29
    错误的地方,我在谷歌翻译了一下,大致意思是:请从您的构建脚本中删除“ jcenter()`Maven存储库的用法,并将您的构建迁移到其他Maven存储库。 该存储库已弃用,以后将被关闭。 图片手机不知为上传不了,希望有...
  •     终究还是要学习Tensorflow 2.0 的,发现确实2.0比1.0版本的好太多了,感觉精简了些,...    我只实现了数据集的准备,训练部分,测试的话没啥意思,重点学习Tensorflow 2.0 的语法。 # -*- coding: utf
  • 啥是数组 ;就是这一万个数咱们这样编个号 : S0;S1;S2;S3;S4…S9999 数字下标;下标作用确定编号的意思;每个数字有且只有一个编号;这儿没法写出;就用这个代替;;注意了数组下标从0开始的0 1 2 3 4 5 6 7...
  • 后台增删改查搞多了也就没啥意思了,感觉特别没有成就感,心里想着业务时间趁搞个后台的平台,达到什么目的呢?就是开发人员很快开发一个模块,不用再增删改查上浪费时间,该平台该提供什么能力呢?  代码生成器:...
  • 用建造者模式,为你创建一个女朋友

    千次阅读 2017-04-24 11:40:37
    啥意思呢比如你要创建一个女朋友,他有很多的属性,比如:性别,年龄,身高,体重,类型等等,虽然每个女朋友都有这些属性,但是每个人找女朋友的要求都不一样的,有的人喜欢男的,有的人喜欢女的,有的喜欢胖的,不同的人可以...
  • [重拾]深入理解gulp自动化

    千次阅读 2016-03-06 20:22:00
    啥意思呢?大牛们写的gulp任务我看得懂,也能依样画葫芦运用到自己的项目,但是如果撇开doc,让我自己写我还真写不好。纸上得来终觉浅啊,考验对一门技术的掌握程度,光看得懂、会套用还是停留在浅层,在理解的基础...
  • 深入理解gulp自动化

    2017-03-30 10:19:43
    写在前面 ...啥意思呢?大牛们写的gulp任务我看得懂,也能依样画葫芦运用到自己的项目,但是如果撇开doc,让我自己写我还真写不好。纸上得来终觉浅啊,考验对一门技术的掌握程度,光看得懂、会套用
  • 网上这样的文章一抓一大把的, 基本都从索引的原理说起,讲到索引的分类, 物理组织和存储形式,如何找到对应的记录,如何构建复杂的索引等等 ,如果我再写一篇这样的就没意思了,而且这些未必真的大家(尤其...
  • 在这个Growth Hack逐渐成为主流的时代,不弄个Dashboard把系统压力、QPS、CPU、内存、日活的可视化,你好意思出来混吗…… 本节我们来解决该问题。 Spring Boot ActuatorSpring Boot官方提供的监控组件。只.....
  • 在这个Growth Hack逐渐成为主流的时代,不弄个Dashboard把系统压力、QPS、CPU、内存、日活的可视化,你好意思出来混吗…… 本节我们来解决该问题。 Spring Boot ActuatorSpring Boot官方提供的监控组件。只需为...
  • 网上这样的文章一抓一大把的, 基本都从索引的原理说起,讲到索引的分类, 物理组织和存储形式,如何找到对应的记录,如何构建复杂的索引等等 ,如果我再写一篇这样的就没意思了,而且这些未必真的大家(尤其...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

构建是啥意思