精华内容
下载资源
问答
  • 为什么要通过源代码构建Godot Engine? 如果只是在Godot编辑器做些Demo玩玩或者用官方提供的模板导出一个Windows或者安卓项目,完全没必要自己构建Godot。但是如果有下面的情况基本上躲不开这一步了: 需要修改...

    为什么要通过源代码构建Godot Engine?

    如果只是在Godot编辑器做些Demo玩玩或者用官方提供的模板导出一个Windows或者安卓项目,完全没必要自己构建Godot。但是如果有下面的情况基本上躲不开这一步了:

    • 需要修改Godot的源代码或者自定义模块
    • 需要接入一些第三方模块,比如Steam或者Spine等第三方模块

    构建所需工具

    工具 获取地址 说明
    Python 3.7 Python官网
    Scons Scons官网 实际安装是通过Python自带的pip
    Git Git官网
    Visual Studio Community 2019 Visual Studio官网
    Pywin32 Pywin32 On Github 实际安装是通过Python自带的pip
    Godot 源码 Godot on Github 本例使用的是3.2.2stable

    构建步骤

    1 安装Git

    2 安装Visual Studio Community 2019

    最重要的是安装C++组件
    在这里插入图片描述

    在这里插入图片描述

    3 安装Python3.7

    自定义安装,添加Python环境变量
    在这里插入图片描述

    确认一下是否安装了pip

    在这里插入图片描述
    选择一个安装位置

    在这里插入图片描述
    安装完毕

    在这里插入图片描述
    验证安装

    在这里插入图片描述

    4 安装Scons

    直接使用pip安装SCons,我安装的是当前最新4.0.1版

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple SCons

    注意:通过pip安装包的命令是pip install SCons,加上中间的-i https://pypi.tuna.tsinghua.edu.cn/simple原因是默认下载源速度太慢,所以我们指定pip到清华的镜像站去下载

    在这里插入图片描述

    5 安装Pywin32

    直接使用pip安装pywin32 228,我安装的是当前最新228版

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pywin32

    在这里插入图片描述

    小结

    至此构建Godot Engine的工具就准备完毕了。

    下一篇《手把手教你从源代码构建Godot Engine(二)接入第三方模块Steam SDK,Spine Runtime等》

    展开全文
  • Jenkins CICD代码构建发布流程

    万次阅读 2018-09-30 10:46:06
      一、发布环境 序号     备注 1 Jenkins 172.16.8.66   2 Tomcat1 ... ...

     

     

    一、发布环境

    序号

     

     

    备注

    1

    Jenkins

    172.16.8.66

     

    2

    Tomcat1

    172.16.8.11

     

    3

    Tomcat2

    172.16.8.12

     

    4

    Tomcat3

    172.16.8.13

     

    5

    Tomcat4

    172.16.8.14

     

    1. 发布脚
    #!/bin/bash
    #node
    group1="172.16.8.11 172.16.8.12"
    group2="172.16.8.13 172.16.8.14"
    #deloy
    tomcat1_dir=/app/tomcat1
    tomcat2_dir=/app/tomcat2
    tomcat3_dir=/app/tomcat3
    tomcat4_dir=/app/tomcat4
    #BACKUP
    backup_dir1=/app/backup1
    backup_dir2=/app/backup2
    backup_dir3=/app/backup3
    backup_dir4=/app/backup4
    
    TMP_DIR1=/app/deploy1
    TMP_DIR2=/app/deploy2
    TMP_DIR3=/app/deploy3
    TMP_DIR4=/app/deploy4
    
    CTIME=$(date +"%H-%M-%S")
    DATE=$(date "+%Y-%m-%d")
    
    SHELL_NAME="deploy.sh"
    SHELL_LOG="/app/${SHELL_NAME}.log" 
    DATE_N="$(date +'%Y%m%d%H%M%S')"
    USER_N=`whoami`
    echo " ${DATE_N} ${USER_N} execute $0 [INFO] $@" >>${SHELL_LOG}
    
    ghsmp_deploy_group1 (){
          DEPLOY=$1
          tomcat_dir=$2
          if [ $DEPLOY = "deploy1" ]; then
             scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR1 
             for node in $group1;do
                 if [ $tomcat_dir = "$tomcat1_dir" ];then
                      ssh $node  "/app/tomcat1/bin/shutdown.sh" 
                      ssh $node mkdir $backup_dir1/$DATE 
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir1/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR1}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat1/bin/startup.sh"
                 else
                   echo "${node} TOMCAT1 DEPLOY Failed!"
                   cat TOMCAT4_DEPLOY_Failed?              
                 fi
             done  
          
          elif [ $DEPLOY = "deploy2" ]; then 
               scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR2
               for node in $group1;do
                   if [ $tomcat_dir = "$tomcat2_dir" ];then
                      ssh $node  "/app/tomcat2/bin/shutdown.sh"
                      ssh $node mkdir $backup_dir2/$DATE
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir2/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR2}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat2/bin/startup.sh"
                  else 
                   echo "${node} TOMCAT2 DEPLOY Failed!"
                    cat TOMCAT4_DEPLOY_Failed?
                  fi
              done
    
          elif [ $DEPLOY = "deploy3" ]; then    
             scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR3
              for node in $group1;do
                   if [ $tomcat_dir = "$tomcat3_dir" ];then
                      ssh $node  "/app/tomcat3/bin/shutdown.sh"
                      ssh $node mkdir $backup_dir3/$DATE
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir3/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR3}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat3/bin/startup.sh"
                  else  
                   echo "${node} TOMCAT3 DEPLOY Failed!"
                   cat TOMCAT4_DEPLOY_Failed?
                  fi    
              done 
          elif [ $DEPLOY = "deploy4" ]; then
             scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR4
             for node in $group1;do
                   if [ $tomcat_dir = "$tomcat4_dir" ];then
                      ssh $node  "/app/tomcat4/bin/shutdown.sh"
                      ssh $node mkdir $backup_dir4/$DATE
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir4/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR4}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat4/bin/startup.sh"
                  else  
                   echo "${node} TOMCAT1 DEPLOY Failed!"
    		cat TOMCAT4_DEPLOY_Failed?
                  fi 
              done
    
            else
            echo "DEPLOY ERROR"
            fi
    }
    ghsmp_deploy_group2 (){
          DEPLOY=$1
          tomcat_dir=$2
          if [ $DEPLOY = "deploy1" ]; then
             scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR1 
                  
             for node in $group2;do
                 if [ $tomcat_dir = "$tomcat1_dir" ];then
                      ssh $node  "/app/tomcat1/bin/shutdown.sh" 
                      ssh $node mkdir $backup_dir1/$DATE 
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir1/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR1}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat1/bin/startup.sh"
                 else
                   echo "TOMCAT1 DEPLOY ERROR?"
    	       cat TOMCAT4_DEPLOY_Failed?
                 fi
             done  
          
          elif [ $DEPLOY = "deploy2" ]; then 
               scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR2
               for node in $group2;do
                   if [ $tomcat_dir = "$tomcat2_dir" ];then
                      ssh $node  "/app/tomcat2/bin/shutdown.sh"
                      ssh $node mkdir $backup_dir2/$DATE
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir2/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR2}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat2/bin/startup.sh"
                  else
                    echo "TOMCAT2 DEPLOY ERROR?"
    		cat TOMCAT4_DEPLOY_Failed?
                  fi
              done
    
          elif [ $DEPLOY = "deploy3" ]; then    
             scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR3
              for node in $group2;do
                   if [ $tomcat_dir = "$tomcat3_dir" ];then
                      ssh $node  "/app/tomcat3/bin/shutdown.sh"
                      ssh $node mkdir $backup_dir3/$DATE
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir3/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR3}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat3/bin/startup.sh"
                  else
                   echo "TOMCAT3 DEPLOY ERROR?"
    	       cat TOMCAT4_DEPLOY_Failed?
                  fi    
              done 
          elif [ $DEPLOY = "deploy4" ]; then
             scp  -r root@172.16.8.67:/app/$DEPLOY/* $TMP_DIR4
             for node in $group2;do
                   if [ $tomcat_dir = "$tomcat4_dir" ];then
                      ssh $node  "/app/tomcat4/bin/shutdown.sh"
                      ssh $node mkdir $backup_dir4/$DATE
                      ssh $node mv $tomcat_dir/webapps/* $backup_dir4/$DATE
                      ssh $node rm -rf  $tomcat_dir/webapps/*
                      scp -r ${TMP_DIR4}/* $node:$tomcat_dir/webapps
                      ssh $node unzip $tomcat_dir/webapps/*.zip -d $tomcat_dir/webapps/
                      ssh $node "cp -rf $tomcat_dir/webapps/config/* $tomcat_dir/webapps/ROOT/WEB-INF/classes/"
                      ssh $node rm -rf $tomcat_dir/webapps/*.zip
                      ssh $node  "/app/tomcat4/bin/startup.sh"
                      echo "${node} deploy success!"
                  else
                     echo "${node} TOMCAT4 DEPLOY ERROR!"
                     cat TOMCAT4_DEPLOY_Failed? 
                  fi 
              done
    
            else
            echo "DEPLOY ERROR"
            fi
    }
    
    rollback_fun(){ 
        for node in $ROLLBACK_LIST;do 
            ssh $node "rm -f /webroot/web-demo && ln -s /opt/webroot/$1 /webroot/web-demo" 
            echo "${node} rollback success!"
            done
    }
    
    main(){
    	case $1 in
    		 deploy_group1)
    	             ghsmp_deploy_group1 $2 $3;
    		         ;;
                     deploy_group2)
                        ghsmp_deploy_group2 $2 $3;
                             ;;                        
    		*)
    	       echo $"Usage: $0 {deploy_group1|deploy_group2|ghsmp_rollback}"
    	esac
    }
    
    main $1 $2 $3
    

    二、Jenkins配置 

    创建一个Pipeline项目


    参数化构建—>选择主机组
     

    参数化构建—>选择发布项目

    参数化构建—>选择发布项目的目录

    使用Pipeline方式构建

    开始测试发布

    测试结果如下

    3.    BlueOcean
    使用 BlueOcean 这种方式来完成此处 CI/CD 的工作,BlueOcean 是 Jenkins 团队从用户体验角度出发,专为 Jenkins Pipeline 重新设计的一套 UI 界面,仍然兼容以前的 fressstyle 类型的 job,BlueOcean 具有以下的一些特性:
        连续交付(CD)Pipeline 的复杂可视化,允许快速直观的了解 Pipeline 的状态
    可以通过 Pipeline 编辑器直观的创建 Pipeline
        需要干预或者出现问题时快速定位,BlueOcean 显示了 Pipeline 需要注意的地方,便于异常处理和提高生产力
        用于分支和拉取请求的本地集成可以在 GitHub 或者 Bitbucket 中与其他人进行代码协作时最大限度提高开发人员的生产力。

     

    展开全文
  • 二叉树的代码构建python实现

    千次阅读 2018-08-17 22:01:27
    构建结点Node: 我们知道二叉树的结点Node,可以有数据域,左孩子,和右孩子,三部分,那么我们就建结点类(如果基本概念不明白,可以先百度一下树和二叉树的一些定义,快速理解下) class Node(object): def __init__...

    python实现二叉树和二叉树遍历可以拆分为以下几步:

    一 构建结点Node:

    我们知道二叉树的结点Node,可以有数据域,左孩子,和右孩子,三部分,那么我们就建结点类(如果基本概念不明白,可以先百度一下树和二叉树的一些定义,快速理解下)

    class Node(object):
        def __init__(self,item):
            """
            param: self.elem 是结点的数据域
                    self.lchild 是结点的左孩子
                    self.rchild 是结点的右孩子
            """
            self.elem = item
            self.lchild = None
            self.rchild = None

    二 利用上面的结点构建一个树类

    class Tree(object):
        def __init__(self):
            self.root = None

    好,完了

    开什么玩笑,打你喔,空数也是一棵树嘛

    树添加结点的方法

     def add(self,item):
            """
            param: item 是传进来来的数据,我们要实例化一个结点取接收他,但是他的位置要放在树梢,不能乱插入
                    queue 我们创建一个队列来接收和弹出结点,这样我们找到结点需要接收的位置
            """
            node = Node(item)
            if self.root is None:
                """如果根结点是None,是一颗空数,我们就把node赋值给root,那么下面的while循环是不会受影响的,因为是队列[None]的bool值是True"""
                self.root = node
                return 
            queue = [self.root]
            while queue:
                """队列的弹出要加0,与栈相仿"""
                cur_node = queue.pop(0)
                if cur_node.lchild is None:
                    """这里有空位,我们插入结点,如果能插入,就完事了"""
                    cur_node.lchild = node
                    return
                else:
                    """cur_node的左孩子我们放进队列中,下次循环左子结点"""
                    queue.append(cur_node.lchild)
                
                """同理对右边的操作一样,还是手敲下吧"""
                
                if cur_node.rchild is None:
                    cur_node.rchild = node
                    return
                else:
                    queue.append(cur_node.rchild)

    广度遍历(又叫层次遍历,是一层一层从左到右的数下去)

    def breadth_travel(self):
            """广度遍历与结点的添加非常相似,广度遍历不用插入结点了,在循环里面的条件和添加的相仿"""
            if self.root is None:
                return 
            queue = [self.root]
    
            while queue:
                cur_node = queue.pop(0)
                # 我们打印看看结点的遍历顺序对不对
                print(cur_node.elem)
                if cur_node.lchild is not None:
                    # 扔进队列循环
                    queue.append(cur_node.lchild)
                if cur_node.rchild is not None:
                    queue.append(cur_node.rchild)

    深度遍历:前序 中序 后序遍历

    这些最好画图去理解下,代码用递归的非常简单

      # 前序遍历
        def preorder(self,node):
            if node is None:
                return 
            
            # 下面三行代码顺序,深度先序遍历是先根结点,再左孩子,再右孩子
            print(node.elem)
            self.preorder(node.lchild)
            self.preorder(node.rchild)
            
            # 中序遍历
        def inorder(self,node):
            if node is None:
                return 
            
            # 下面三行代码顺序,
            self.preorder(node.lchild)
            print(node.elem)
            self.preorder(node.rchild)
        
                
            # 后序遍历
        def portorder(self,node):
            if node is None:
                return 
            
            # 下面三行代码顺序,
            self.preorder(node.lchild)
            self.preorder(node.rchild)
            print(node.elem)
        

     

    展开全文
  • 前言上一篇讲了Derby的历史,...本篇是【Derby 系列】[初级]中的第二篇,内容记录了从源代码构建Derby的过程。我使用的OS是WindowsXP, 在Unix/Linux平台上,除了Shell类型,设定环境变量的语法,以及文件/目录名称规范不

    前言

    上一篇讲了Derby的历史,接下来要开始使用derby了。
    使用Derby前,当然要安装Derby.最简单的安装方式,是下载二进制发布版本。
    我没有使用这个方法,而是从源代码进行构建。
    本篇是【Derby 系列】[初级]中的第二篇,内容记录了从源代码构建Derby的过程。

    我使用的OS是WindowsXP, 在Unix/Linux平台上,除了Shell类型,设定环境变量的语法,以及文件/目录名称规范不同外,其他都一样。苹果的MacOS,以及Windows上面安装的Cygwin的,我没有实验。

    1.下载Derby源代码,当前最新版是10.4.2.0
    解压缩到 任何目录,以后我们使用${derby.source}表示此目录。
    检查此目录中的文件和子目录,应该有如下内容:
    ${derby.source}/build.xml
    ${derby.source}/bin
    ${debry.source}/java
    ${derby.source}/maven
    ${derby.source}/plugins
    ${derby.source}/tools

    2.下载需要的工具和软件
    1)安装Java JDK1.4.x和Java 5 JDK,构建Derby这两个版本的JDK是必须的。
    //注:其实Derby的核心是建立在JDK1.4.x上的,这样可以保持向后兼容。需要java5, 是为了引进Java5的新的语言特性
     相应的安装目录如下
     JDK1.4 安装目录       以后用${jdk14.dir}表示。
     Java 5 JDK安装目录    以后用${java5.dir}表示。
     

    2) 下载并安装Apache Ant 1.6.x或更高版本(我用的是1.7.0)
       安装目录以后用${ant.dir}表示。
    3) 下载JUnit,解压JUnit.zip文件,并将junit.jar拷贝到${derby.source}/tools/java目录
       我下载的是junit-3.8.1.jar //注意,如果使用现在最新的junit-4.7.jar, >ant testing 会出错。

    4) 现在检查${derby.source}/tools/java目录,应该具有以下8个jar文件。
    ${derby.source}/tools/java/empty.jar
    ${derby.source}/tools/java/geronimo-spec-servlet-2.4-rc4.jar
    ${derby.source}/tools/java/jakarta-oro-2.0.8.jar
    ${derby.source}/tools/java/javacc.jar
    ${derby.source}/tools/java/junit.jar
    ${derby.source}/tools/java/felix.jar
    ${derby.source}/tools/java/xercesImpl.jar
    ${derby.source}/tools/java/xml-apis.jar

    3. 配置环境变量
    1) 设置ANT_HOME, 并将ANUT_HOME/bin 加入到PATH环境变量中。
       -- On Window
       set ANT_HOME=${ant.dir}    
       set PATH = %path%;%ANT_HOME%/bin;

    2) 配置JAVA_HOME
       -- On Window
       set JAVA_HOME=${java5.dir}

    4. 构建 Derby.
      
       准备工作终于做好了,现在可以构建 Derby了

       1) 进入${derby.source}目录
       2) 命令行环境下,执行 >ant
       这个命令会build所有Derby的class到${derby.source}/classes目录下,如果把这个目录添加到CLASSPATH环境变量中,
       就可以使用derby的所有功能,包括引擎,工具,和网络服务器功能。
       如果想构架derby 测试,使用 >ant testing 命令。
       3)使用>ant buildjars 命令构建derby 所有的jars文件
        - derby.jar (数据库引擎),
        - derbytools.jar (工具: sysinfo, dblook, ij)
        - derbynet.jar (网络服务器).
        - derbyLocale_*.jar (13个支持不同locale的jar 文件).
        - derbyclient.jar (网络客户端)
        如果购建了derby 测试,还会构建出下面的jar文件
        - derbyTesting.jar (测试框架)

    5.验证构建是否成功
       1)再次执行>ant命令,这次应该什么动作都不发生,没有文件的编译,拷贝和产生。
       2)检查下面目录,里面应该有文件。
          - ${derby.source}/classes
          - ${derby.source}/jars
       3)运行derby的 sysinfo脚本工具,如果可以,说明构建成功。
       >java -cp ${derby.source}/classes org.apache.derby.tools.sysinfo.

    6. 补充
       使用源代码构建derby,还有一些比较深入的内容。比如Derby的构建流程,一些特殊异常的处理等等。
       可以参考Derby自带的关于构建的文档。我的构建过程,就是参考这个文档的主要流程一步步的完成的。
       下面是几个构建过程的截图。

    图一是 >ant结果,图二是运行 sysinfo的结果,图3是 >ant buildjars的结果。
    //考屏中有我的系统信息,请不要利用这些信息攻击我的电脑 :-)

    展开全文
  • # Create the blockchain and add the genesis block blockchain = [create_genesis_block()] previous_block = blockchain[0] # How many blocks should we add to the chain after the genesis block ...
  • public interface BookRepository extends JpaRepository<Book, Long> { @RestResource(rel = "byauthor",path = "byauthor") List<Book> findBookByAuthorContaining(@Param("author") String author...
  • <role rolename="tomcat"/> <role rolename="admin"/> <role rolename="admin-gui"/> <role rolename="manager"/>...role rolename="manager-gui"/>...user username="admin" password="admin...
  • 严正声明:本文系作者davidhopper原创,未经许可,不得转载。 CARLA是Intel主导开发的一个开源自动驾驶模拟器,基于虚幻引擎...注意:下载文中涉及的软件及源代码,需要设置代理及国内镜像服务器,可以分别参...
  • 代码: 项目文件目录说明 img放游戏所使用的图片文件夹 frame放控制游戏场景相关的文件 instance放游戏窗口进程游戏循环工具类碰撞类的文件 render放游戏渲染引擎的文件夹 trigger放对一些消息进行映射的...
  • 程序员代码构建困局

    千次阅读 2020-05-12 09:29:03
    作者 | Roy Osherove译者 | 弯月,责编 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)以下为译文:我们需要根据代码的反馈来决定是...
  • android构建布局时一般通用xml布局来生成,但有时还是需要代码来生成布局控件,以达到不同的效果。以前用过代码生成布局,现在写个总结,方便新手查看。 这里代码来生成布局控件设置的宽高的单位为:像素。  ...
  • output = self.think(training_set_inputs) error = training_set_outputs - output adjustment = dot(training_set_inputs.T,error*self.__sigmoid_derivative(output))
  • http://www.linuxfromscratch.org/... Linux From Scratch (LFS) is a project that provides you with step-by-step instructions for building your own custom Linux system, entirely from source code. 深入学习li
  • jenkins构建前、构建构建后操作

    万次阅读 2021-03-27 18:00:17
    构建前操作 思路: 使用ssh到目标服务器下发命令,查询启动的node服务 分析不同的服务器启动的服务,备份服务对应代码 构建 思路: jenkins-master服务器从svn拉取最新代码 根据启动的服务打包目录 构建后操作 ...
  • Ogre场景编辑器Ogitor源代码构建

    千次阅读 2011-04-06 08:49:00
    Ogitor-0.4.2源代码构建,不少时间,这里记录一下: 下载源代码的地址为:http://hg.ogitor.org/v0-4 点击zip(这个搞得我找了很久) 可执行程序下载地址为:...环境变量中加入bin路径:PATH--->C:/Qt/...
  • 实战:向GitHub提交代码时触发Jenkins自动构建

    万次阅读 多人点赞 2018-01-21 12:14:56
    当我们提交代码到GitHub后,可以在Jenkins上执行构建,但是每次都要动手去执行略显麻烦,今天我们就来实战Jenkins的自动构建功能,每次提交代码到GitHub后,Jenkins会进行自动构建; 原文地址:...
  • 代码审核与自动构建

    千次阅读 2018-05-06 14:00:10
      实现代码审查、自动部署,不仅可以保证程序猿代码规范问题,还能省去很多上线部署的时间,这里我们需要达到的目的是:提交代码到线上仓库,当发起merge请求时,能审核代码规范并自动构建部署上线。   注:...
  • 用 webpack 构建 node 后端代码

    千次阅读 2016-09-20 10:05:19
    用 webpack 构建 node 后端代码
  • 自动化代码使用jenkins自动构建步骤

    千次阅读 2016-11-28 16:31:09
    在写好一个TestNG驱动的自动化测试代码,需要在jenkins自动构建的方法: 项目下最好新建lib目录,把所有的jar文件复制到该目录,这样导出后,在其他任何地方都可以使用。 一、在代码的根目录下新建build.xml;...
  • 目录前言1,关于鸿蒙系统2,根据文档编写Dockerfile3,使用镜像构建第一个程序Hi35164,构建另外一个程序Hi38615,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/108621002 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,362,606
精华内容 545,042
关键字:

代码构建