首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CI中的Cake

    在上一篇C#Make自动化构建-简介中,简单的介绍了下Cake的脚本如何编写以及通过Powershell在本地运行Cake脚本。本篇在此基础上,介绍下如何在CI环境中使用Cake。 1....基于这些,我们可以有如下的组合: windows:用powershell来引导执行cake.exe。 windows:用powershell来引导执行dotnet cake.dll。...好消息是目前.net core的每日构建版已经添加了 dotnet install  和 dotnet install tool 的命令(https://github.com/dotnet/cli/blob...在不同的CI环境中执行相同的自动构建 cake的目的在于一次编写,可以运行在不同的构建环境和构建工具中。同时可以把构建脚本纳入到源代码管理中,而不是编写在某一特定的ci/cd工具中。...总结 以上简单的介绍了一下Cake的简介信息,和如何再不同的CI环境中使用Cake来维护一个相同的自动化构建的流程。如有错误,欢迎指正!

    1.2K70

    太强了!鹅厂程序员“自研”脚本语言 eben

    但是狭义上,编译工具可以分为编译器 Compiler 和 解释器 Interpreter。其中,编译器特指将源代码转换成其他格式,但是不执行的工具。...解释器特指转换过程中直接执行源代码,即所谓“解释执行”的工具。...鹅本学习借鉴了 Python,NodeJS 等语言的执行程序,既可以以 REPL 模式运行(直接执行 eben 可执行文件),也可以以文件模式运行(eben FILE_PATH,可执行文件后面带脚本文件路径...eben 为了代码实现的方便、统一,将闭包函数和非闭包函数的构建都归一到 OP_CLOSURE 字节码指令中。...字节码中出现的新指令是 OP_SUPER_INVOKE 和 OP_INHERIT ,分别负责调用父类方法和构建继承关系。

    1.1K50

    如何从0到1设计实现一门自己的脚本语言

    编译就是为了解决计算机科学中“人如何更好地指挥机器干活”问题而生的“indirection”。 上面是一段二进制数据,机器可以高效地识别这些 0 和 1 组成的数字信号并加以应用,但是人脑不行。...但是狭义上,编译工具可以分为编译器 Compiler 和 解释器 Interpreter。其中,编译器特指将源代码转换成其他格式,但是不执行的工具。...解释器特指转换过程中直接执行源代码,即所谓“解释执行”的工具。...鹅本学习借鉴了 Python,NodeJS 等语言的执行程序,既可以以 REPL 模式运行(直接执行 eben 可执行文件),也可以以文件模式运行(eben FILE_PATH,可执行文件后面带脚本文件路径...eben 为了代码实现的方便、统一,将闭包函数和非闭包函数的构建都归一到 OP_CLOSURE 字节码指令中。

    1.4K30

    Java 编程问题:八、函数式编程-基础和设计模式

    实现环绕执行模式:基于 Lambda 编写实现环绕执行模式的程序。 实现工厂模式:基于 Lambda 编写一个实现工厂模式的程序。 实现策略模式:基于 Lambda 编写一个实现策略模式的程序。...166 编写函数式接口 在这个解决方案中,我们将强调函数式接口的用途和可用性,并与几种替代方案进行比较。我们将研究如何将代码从基本的、严格的实现发展到基于函数式接口的灵活实现。...最后,请记住 Lambda 只能在函数式接口的上下文中使用。 168 实现环绕执行模式 环绕执行模式试图消除围绕特定任务的样板代码。例如,为了打开和关闭文件,特定于文件的任务需要被代码包围。...考虑运行本书附带的代码来检查输出。 175 实现级联生成器模式 我们已经在第 2 章、“对象、不变性和switch表达式”中讨论过这个模式,“通过构建器模式编写一个不可变类”部分。...调用方知道如何执行给定的命令,但对命令的实现没有任何线索(它只知道命令的接口)。

    92220

    【错误记录】Ubuntu 下 VSCode 编译报错 ( 无法生成和调试,因为活动文件不是 C 或 C++ 源文件。终端进程启动失败(退出代码: -1)。终端将被任务重用,按任意键关闭。 )

    }, "detail": "编译器: /usr/bin/g++" } ] } 编译时报如下错误 : > Executing task: C/C++: g++ 生成活动文件 < 无法生成和调试...终端进程启动失败(退出代码: -1)。 终端将被任务重用,按任意键关闭。 二、解决方案 ---- 核心报错是 无法生成和调试,因为活动文件不是 C 或 C++ 源文件。...没有找到 C/C++ 文件 ; 在 tasks.json 构建脚本中 , 指定 C/C++ 文件路径的是 "tasks 下的 "args" 路径 , 当前配置的 g++ 参数的 args 配置如下 :...终端将被任务重用,按任意键关闭。 生成的可执行文件在 .vscode 目录下 , 名称是 task ; 执行 cd .vscode 命令 , 进入 .vscode 目录中 , 使用 ..../task 命令 , 执行该 task 可执行文件 , 打印如下内容 ; Hello C++ World from VS Code and the C++ extension!

    4K20

    Java中的“析构函数”——finalize() 对象消亡时调用

    最终的界限   与 Java 不同,C++ 支持局部对象(基于栈)和全局对象(基于堆)。...首先,只有当垃圾回收器释放该对象的内存时,才会执行finalize()。如果在 Applet 或应用程序退出之前垃圾回收器没有释放内存,垃圾回收器将不会调用finalize()。   ...正如你可能猜测的那样,通过调用System.runFinalizersOnExit() 方法强制垃圾回收器清除所有独立对象的内存,当清除代码执行时可能会引起明显的延迟。...现在建立一个示例 Applet 来演示 Java 垃圾回收器和finalize() 方法是如何相互作用的。   ...从列表 A 中选择适当的代码输入(我们已经突出显示了你需要输入的代码)。   当你完成代码的输入后,配置Internet 浏览器将System.out 的输出信息写到Javalog.txt 文件中。

    3.3K10

    java中finalized的用法_java 执行class

    最终的界限 与 Java 不同,C++ 支持局部对象(基于栈)和全局对象(基于堆)。...正如你可能猜测的那样,通过调用System.runFinalizersOnExit() 方法强制垃圾回收器清除所有独立对象的内存,当清除代码执行时可能会引起明显的延迟。...现在建立一个示例 Applet 来演示 Java 垃圾回收器和finalize() 方法是如何相互作用的。 回收垃圾 通过使用Java Applet Wizard 创建一个新的 Applet 开始。...从列表 A 中选择适当的代码输入(我们已经突出显示了你需要输入的代码)。 当你完成代码的输入后,配置Internet 浏览器将System.out 的输出信息写到Javalog.txt 文件中。...因此,你不应当依靠finalize() 来执行你的 Applet 和应用程序的资源清除工作。取而代之,你应当明确的清除那些资源或创建一个try…finally 块(或类似的机制)来实现。

    61540

    python3 多线程编程

    0.什么是线程 多线程模块 创建线程的方法 join()方法 4.isAlive()方法 name属性和daemon属性 6.线程的同步---锁 7.线程的同步---Event对象 8.线程的同步...使用线程可以实现程序的并发。 多线程模块 python3对多线程支持的是 threading 模块,应用这个模块可以创建多线程程序,并且在多线程间进行同步和通信。...对于某一时间只能让一个线程操作的语句放到 RLock的acquire 方法 和 release方法之间。即 acquire()方法相当于给RLock 锁 上锁,而 release() 相当于解锁。...Condition 提供的方法: acquire() 和 release() 表示上锁和解锁,和 单纯的锁机制一样。...,唤醒任意一条因 wait()阻塞的进程 notifyAll() 发出资源可用信号,唤醒所有因wait()阻塞的进程 下面给出一个例子,一家蛋糕店:只会做一个蛋糕,卖出后才会再做一个。

    1.1K10

    sandfly-entropyscan:一款功能强大的恶意程序熵扫描工具

    一些针对Linux的恶意软件经过打包或加密之后,会显示出非常高的熵,在该工具的帮助下,广大研究人员可以快速找到高熵可执行文件或进程。...功能介绍 1、基于Golang开发,支持跨平台和多种架构; 2、独立的运行代码,不需要其他依赖组件,可以直接在目标计算机设备上直接使用; 3、不受LD_PRELOAD风格rootkit的影响; 4、内置.../sandflysecurity/sandfly-entropyscan.git (向右滑动,查看更多) 代码构建 首先,我们需要在本地设备上安装并配置好最新版本的Golang环境。...接下来,在命令行终端中切换到项目目录中,并运行下列命令构建代码: cd sandfly-entropyscan/ go build 然后根据需求和参数选项来运行工具代码即可: ....,最小0.0-最大8.0,默认0即显示所有文件; -version:显示工具版本和退出; 工具使用样例 搜索/temp目录下的所有可执行文件: sandfly-entropyscan -dir

    38520

    Java中finalize()用法

    最终的界限 与 Java 不同,C++ 支持局部对象(基于栈)和全局对象(基于堆)。...首先,只有当垃圾回收器释放该对象的内存时,才会执行finalize()。如果在 Applet 或应用程序退出之前垃圾回收器没有释放内存,垃圾回收器将不会调用finalize()。...正如你可能猜测的那样,通过调用System.runFinalizersOnExit() 方法强制垃圾回收器清除所有独立对象的内存,当清除代码执行时可能会引起明显的延迟。...现在建立一个示例 Applet 来演示 Java 垃圾回收器和finalize() 方法是如何相互作用的。...不过用Java以外的代码编写的Class(比如JNI,C++的new方法分配的内存),垃圾回收器并不能对这些部分进行正确的回收,这时就需要我们覆盖默认的方法来实现对这部分内存的正确释放和回收(比如C++

    2.5K30

    【Android Gradle 插件】Gradle 基础配置 ⑥ ( Android工程 Gradle 常用命令 | gradlew 可执行文件 | 查看帮助文档 | 查看应用依赖 )

    生成了 gradle 目录 , gradlew 和 gradlew.bat 可执行文件 , 前者是 Lunix/Mac 系统的 , 后者是 Windows 系统的 ; 在 Android Studio...工程中 , Gradle 构建完成后 , 也会自动生成 gradlew 和 gradlew.bat 两个可执行文件 , 前者是 Lunix/Mac 系统的 , 后者是 Windows 系统的 ;...Gradle将尝试重用以前构建中的构建配置。[孵化] --configuration-cache-problems 配置配置缓存如何处理问题(失败或警告)。默认为失败。...Gradle不会退出,并将在任务文件输入更改时重新执行任务。 --update-locks 执行依赖项锁的部分更新,让传入的模块符号更改版本。...三、执行 help 任务 ---- 执行 gradlew help 命令 , 其作用是 执行 help 任务 , 这是一个 Gradle 任务 , 是系统默认提供的任务 , 该任务的作用是 查询构建过程中代码是否出错

    1.6K30

    Linux:常用软件、工具和周边知识介绍

    这两个编译器提供了丰富的功能和选项,可以将源代码文件编译成可执行文件。编译器可以处理多个源文件,并生成相应的目标文件,最后将目标文件链接在一起生成可执行文件。...特点: 在编译时将静态库的代码复制到可执行文件中,因此可执行文件会比较大。 程序在编译时就会把所需的库函数代码和数据加入到可执行文件中,因此在运行时不需要依赖外部的库文件。...特点: 动态库的代码不会被复制到可执行文件中,而是在程序运行时由动态链接器加载到内存中。 可执行文件相对较小,因为它只包含了链接到动态库的信息,而不是实际的库代码。...Makefile 文件包含了一系列规则和命令,描述了项目中各个文件之间的依赖关系以及如何构建和编译项目。...如果可执行文件的修改时间比源文件的修改时间更晚,或者源文件的修改时间比最新的可执行文件的修改时间更晚,那么 make 工具会重新构建可执行文件。

    27110

    在腾讯云CVM上使用Go语言编译软件

    下面,我们更深入了解下如何编译相关环境。 第二步,编译可执行文件 go get命令已经为我们下载并安装好了caddy,但是我还是想构建新的执行文件怎么办呢?...同时,可执行文件创建的包与复制到新的包的名称相同,但这次,可执行文件是 复制到$GOPATH/bin中,如果$GOPATH/bin是环境变量的一部分,那么你就可任意在系统目录下使用这个命令。...我这里将以Windows 64位,Windows 32位和64位 的macOS构建可执行文件。...我们可以检查go build命令的非零值的返回码。 变量$?包 含上一个命令执行的返回码。 如果go build返回0以外的任何内容,则会出现问题,我们将要退出脚本。 将此 代码添加到for循环中。...结论 在本文中,您已经学习了如何使用Go语言从Git获取相关安装包,以为不同平台构建和交叉编译可执行文件。 感谢您的阅读!你学会了嘛?

    2.2K50

    0.C#Make自动化构建-简介

    Cake是什么? Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。...跨平台: 基于Roslyn和Mono来编译我们写的自动化脚本,使得它可以运行在windows,linux,mac上。...开源:基于MIT开放源代码(Cake on Github),并且是.NET 基金会支持的一个项目(Cake on dotnet foundation)。 1....仅清理项目的build生成的文件。 2. 总结 得益于Cake基于C#DSL来编写脚本,相比写Powershell或者其他的脚本来完成自动化构建,使得C#开发人员非常容易上手。...其次Cake基于Roslyn和Mono,使得它可以提供跨平台的自动化构建,也可以运行在各种常用的CI系统之上。

    1.6K50

    IIS中的 Asp.Net Core 和 dotnet watch

    在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录。...但是在开发基于.Net Core的Asp.Net Core项目的时候,这样的做法已经无法满足我们的需要了: 更改完代码build一下,无需部署即可在浏览器得到最新的更改。 附加到进程调试。...当我修改了ValuesController.cs文件的内容的时候,watch会自动退出当前正在运行的进程,然后再一次启动它。是不是很方便呢?...IIS中的 dotnet watch 如何把Asp.Net Core部署到IIS这里就不解释了,只贴一下我写的Cake部署脚本: 1 #addin "Cake.IIS" 2 #addin "Cake.Hosts...Asp.Net Core的项目进行Build和Publish,而是直接指向了其源代码目录。

    1.7K90

    【Linux】探索进程控制奥秘,解锁高效实战技巧

    代码段里面存储的是可执行代码和常量区;数据段存储的是全局变量和静态变量 1.3.fork函数初识 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。...我们通常的操作有增删改查,可能会直接修改了原来的内容,所以需要额外拷贝一份资源。 通常,父子代码共享,父子再不写入时,数据也是共享的,当任意一方试图写入,便以写时拷贝的方式拷贝副本。...例如子进程从fork返回后,调用exec函数 2.进程终止 2.1.进程退出场景 进程代码运行完毕,结果正确 进程代码运行完毕,结果不正确 进程代码没用执行完,进程出异常了 2.2.进程常见退出方法 正常终止...父进程通过进程等待的方式,回收子进程资源,获取子进程退出信息 3.2wait()和waitpid()函数 wait pid_t wait(int* status); 功能: 等待任意一个子进程结束...返回值:调用成功,返回已经结束进程的PID,同时获取到了子进程的退出状态码;调用失败,返回-1,并设置错误码以指示错误的原因。

    5110

    工具| 将你如何打包py文件脱机运行

    很不幸这篇文章写到一半的时候,我的挂掉了,所以这篇文章就先搁浅了。等后面有空就出几篇基于app的爬虫文章,今天我们的主题是如何将py文件打包成exe格式,以便于在Windows系统上脱机运行。...接下来就是重点,如何将py文件打包为exe可执行文件?往下看,很简单,两步就能解决!...-p 表示你自己自定义需要加载的类路径,一般情况下用不到 -i 表示可执行文件的图标 了解了上面的参数以后,我们来尝试修改一下生成文件的图标,你只需要在输入的命令中添加一个-i tubiao.ico...helloWorld.py 6 7 8import random 9print("######## 猜数字小游戏(100以内) #########") 10print("# 1.开始游戏 2.任意键退出游戏...这里苹果用户使用的是py2app这个工具,不过需要说明的是这个工具打包后的dmg格式,只能在你电脑上运行,这个和使用pyinstaller打包的完全不一样,pyinstaller打包的软件可以在任意一台

    2.3K20
    领券