首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Nim教程【十三】

subtraction     nkIf            # an if statement   Node = ref NodeObj   NodeObj = object     case kind...: NodeKind  # the ``kind`` field is the discriminator     of nkInt: intVal: int     of nkFloat: floatVal...      leftOp, rightOp: PNode     of nkIf:       condition, thenPart, elsePart: PNode var n = PNode(kind... value does not fit: n.strVal = "" 从上面的代码可以看出 有继承关系的对象之间做类型转换非常简单 访问无效的对象属性会引发一个异常 方法 对象的方法有两个缺点 程序员难以在运行期一个类型增加方法...(或者只能用丑陋的方法才能做到) 很多时候方法的参数是不确定的 Nim为了避免类似的问题,不分配方法到类 后面我们将了解Nim的动态绑定方法的特性 方法调用 可以使用点操作符调用对象的方法

90660
您找到你想要的搜索结果了吗?
是的
没有找到

Windows平台安装nim

nim官方介绍 Nim是一种静态类型的编译系统编程语言。它结合了来自成熟语言(Python,Ada和Modula)的成功概念。...支持各种后端:它可以编译为C,C ++或JavaScript,因此Nim可用于所有后端和前端需求。 富有表现力的 Nim是独立的:编译和标准库是在Nim实现的。...它其实更像是个“中间翻译”语言:它把自身的语法翻译成C/C++的,然后再借助C编译(mingw)完成编译链接。这个过程可以通过在nim命令行添加“—nimcache”来查看。...打开CMD窗口执行g++、gcc,验证C编译环境设置正确。 ? 配置PATH环境变量 zip文件的二进制文件位于bin目录内。...如果 你想使用nim编写包含Windows API内容,还需要下载和安装Winim[7]。

3.7K10

Nim教程【十五】【完结】

模板懒人提供了很大帮助。... & fn) withFile(txt, "ttempl3.txt", fmWrite):   txt.writeln("line 1")   txt.writeln("line 2") 在这个例子,...如果外部接口在编译期不可用,那么你就必须用纯Nim语言写宏 (这估计就是在说Nim和C混合编程的时候要注意的事情) 你可以使用Nim代码编写任何形式的宏,编译会在编译期把他们翻译成真正的Nim代码。...可以有两种办法写一个宏 用Nim代码编写宏,让编译解析它 手动创建抽象语法树AST,你告诉编译 如果你想建立抽象语法树AST,那么你一定要知道Nim语言的语法是怎么转换为抽象语法树的 在N关于宏的帮助说明文档...var   a: array[0..10, int]   x = "some string" a[0] = 42 a[1] = 45 debug(a[0], a[1], x) 编译完之后,最终展开的代码

92480

nim语言木马开发初探

nim语言木马开发初探 [TOC] 说明 本文参考至 Nim之套接字免杀学习 (qq.com) 一、前言 在经过一段时间研究使用go语言进行shellcode加载免杀之后发现go语言的效果并没有以前那么好了...二、nim介绍与安装 Nim 是一种静态类型的、编译型、系统编程语言。它结合了其他成熟语言的成功概念( Python、Ada 和 Modula)。...(参考:https://nim-lang-cn.org/) 具体安装步骤阅读说明的参考文章 三、正式免杀 1、socket马 通过socket进行通信传输command,代码如下: import net...2、NimShellCodeLoader 参考文章 aeverj/NimShellCodeLoader: 使用nim编写的shellcode加载 (github.com) nim-lang:...或是将其放在远程网络服务,在写入内存前在发送请求解析获取shellcode写入内存。该种方法也可以在一定情况下过杀软,但是还是属于静态免杀的一种。

70520

Nim之NimShellCodeLoader免杀学习

✎ 阅读须知 乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章的技术资料对任何计算机系统进行入侵操作。...1. nim介绍 Nim 是一种静态类型的、编译型、系统编程语言。它结合了其他成熟语言的成功概念( Python、Ada 和 Modula)。...2.1 Nim安装 在以下链接上选择下载Windows的 https://nim-lang.org/install.html 然后选择x64位的下载: 在Chrome浏览下载的时候,会报毒: 在这里直接忽略就行了...,选择系统变量之后,找到Path,编辑,再新建: 将信息填入之后,保存,打开cmd命令窗口,输入nim: 此时代表Nim安装成功; 2.2 安装MinGW MinGW是Nim编译所必须的,MinGW...NimShellCodeLoader原版 NimShellCodeLoader是由Nim编写Windows平台shellcode免杀加载,目前最新的版本2022年2月3日更新的;版本号为0.3; https

1.3K40

开发者:NVIDIA基于NIM的AI应用商店做好准备

正如 iPhone 引领了移动应用开发的兴起一样,NVIDIA 也越来越多地提供开发工具来访问其 GPU 上的 AI 应用。...NVIDIA 的最终目标是创建一个 AI 经济,其店面销售其数字智能商品;在这种情况下,基于 NIM。AI 资产将安全地保存在容器,NVIDIA 买家和卖家之间的协作和可信连接提供支持。...Nvidia 的 AI 软件高级总监 Erik Pounds 告诉 The New Stack:“Nvidia NIM 企业提供了一条快速部署高效、优化的 AI 的途径。...容器(更像一个黑匣子)包括 NVIDIA 的专有软件和 AI 框架 NeMo Retriever 以及 Triton 推理服务。 但是不用担心,在使用 NIM 时可以使用开源。...每个 NIM 都具有依赖项、驱动程序和运行时,在构建 Docker 容器时会验证对深度学习框架( TensorFlow 和 PyTorch)的依赖项。

6410

只用65行Nim代码写一个自己的区块链

我使用Nim语言实现了它 因为我们是一家从事医疗健康领域的科技公司,所以我们采用人类平静时的心跳数据(BPM心率)作为这篇文章的示例数据。...这篇文章尝试帮助你使用Go编写你自己的简单的区块链。通过本教程,你可以编写和运行一个本地的区块链,并且可以在浏览查看它。...以我们从事的医疗健康领域例,比如有一个恶意的第三方为了调整“人寿险”的价格,而修改了一个或若干个块的代表不健康的 BPM 值,那么整个链都变得不可信了。...newBlocks.add newBlock replaceChain(newBlocks) resp Http201, $newBlock 为了简化,我们直接以 类JSON 格式返回整个链,你可以在浏览访问...让我们来启动它: nim c -r main.nim 在终端,我们可以看到 web 服务启动的日志信息,并且打印出了创世块的信息: 接着我们打开浏览访问 localhost:8080 这个地址,

56700

Istio 入门(五):访问控制和流量管理

通过快速练习,我们学到了如何在 Istio 暴露服务,以及只暴露部分 API。可是只暴露服务并没有太大的用处,因为市面上各种网关都可以做到,并且功能更加丰富。...例如网关 nginx、apisix 等,也有 http 连接超时的功能。 在 Istio ,服务间的调用由 Istio 进行管理,可以设置超时断开。...注:因为 productpage 是 Python 编写的,其代码设置了请求失败后自动重试一次,因此页面刷新后 1 s 后才会完成,而不是 0.5s。...这些工具提供了熔断模式的实现,以及其他弹性设计模式,负载均衡、重试和超时等。...DestinationRule 配置的 trafficPolicy 属性允许服务指定全局的流量策略,这些策略包括负载均衡设置、连接池设置、异常检测等。

71750

重磅!英伟达官宣全球最强AI芯片:性能提升 30 倍,并将重新设计整个底层软件堆栈

此外,英伟达称还将推出一款名为 HGX B200 的服务主板,它基于在单个服务节点中使用 8 个 B200 GPU 和一个 x86 CPU(可能是两个 CPU)。...他们推出了 Nvidia 推理微服务(NIM),将模型和依赖项整合到一个简洁的包,根据用户的堆栈进行优化,并与易于使用的 API 连接。...CUDA 库、API 等,基本上是容器化的 AI 软件包,针对 NV GPU 进行了优化,并带有一个简单的 API 来访问它们。 老黄指出:“这就是我们未来编写软件的方式”——通过组装一堆人工智能。...之所以会有这样的想法,原因非常简单:几十年来,整个世界一直受制于围绕 CPU 发展出的传统计算框架,即由人类编写应用程序以检索数据库准备好的信息。...例如,人类已经可以要求大语言特定领域的应用程序生成 Python 代码,且全部提示内容均使用简单英语编写而成。 “我们要如何让计算机按自己的想法做事?我们要如何在计算机上实现指令微调?

13110

〖免杀〗.net程序一键免杀Win10 20H2 Defender「建议收藏」

但是不知道大家有没听说过一个故事“微软的编程工具的开发工程师,编写程序时,也需要查阅文档”,说明什么?...CS,因为全球大量人使用,任何一个杀软杀它都说明不了什么。好了废话不多说,进入正题。...使用net2nim工具将.net程序转换成bytes,并使用nim加载编译生成新程序,可过一些杀软及旧版Win10 Defender,如图所示 安装Nim https://nim-lang.org/...版本开始就提供有一些PowerShell加密混淆方法,也包含了EXE转PowerShell,PowerShell转EXE功能,也发布过如何将EXE转成PowerShell的教程,以免杀最新版Ladon例...,首先将ladon.exe拖放至exe/dll(.net)文本框,然后点击右边的”EXE->PowerShell”按钮,成功会生成Ladon.ps1,如果你只打算把PS1放在win10机器上使用,也可以转

1.8K10

BTrace使用小结

(对应@Location的method的名字) 一点经验 下面是我在使用BTrace的过程积累的一点经验,希望对大家有用。 请在已经搭好的添加过依赖的maven工程编写跟踪脚本!...其中com.sun.btrace.samples包的代码为官方示例脚本,强烈建议看看;me.kopite.test下面部分其它简单示例。...将btrace上传到服务上,并设置环境变量,将btrace等命令加入命令行PATH: 首先,在目标服务(server)上执行(使用nc命令): $ mkdir -p ~/zhouwei/btrace-bin...由于服务一般有端口访问限制,请使用8080附近的端口。 下载btrace-bin-1.3.9.tgz。(https://link.jianshu.com/?...如何在thrift客户端拦截thrift接口调用?因为BTrace不支持拦截接口方法。

1.4K80

Knative 入门系列4:Eventing 介绍

就像在第3章中所做的那样,我们在 YAML 定义了这个服务帐户并将其应用到我们的集群,例 4-3 所示。...继续我们的演示案例,我们将设置一个用于发送所有事件的通道,例 4-5 所示。你会注意到此通道与我们在示例 4-4 的事件源定义的接收很像。...订阅是通道和服务之间的纽带,指示 Knative 如何在整个系统管理我们的事件。图 4-1 展示了如何使用订阅将事件路由到多个应用程序的示例。 ? 图4-1....这是 Knative 中一个重要的解耦,它确保我们将代码编写到我们的架构,而不是在于底层。让我们创建订阅,它将从我们的通道向我们的服务发送事件。...如果我们查看服务的日志,可立即看到这些事件,例 4-7 所示。

3.2K10

Python的保质期——Python在脚本领域的“大佬地位”还能持续多久?

Python是一种解释型语言,这意味着任何编译或汇编都不能将其放入机器代码。相反,使用Python的另一种语言——C语言,可以用来解释Python.h头文件。...Python 2.7已被弃用两个月,笔者的桌面环境及操作系统的更多特性仍然运用Python 2.7。...Bash和Python的组合可以生成一些非常有用的脚本,用于运行服务、填充数据、完成请求、编辑文件,当然还有更多作用。...缓解这种情况,人们做出了一些努力,使用了颇有影响力的Cython,但在尝试使用Cython时,转换通常并是完全不相关。...笔者认为,这些语言之所以未获成功,部分原因是它们都是统计型语言,而且在很大程度上功能性语言,笔者理解,对于那些一直坚持使用并热爱Python的人而言,该概念让人震惊不已。

82400

部署应用到 k8s 入门教程

前提条件 已经部署好 K8S 集群; 本地安装了docker, kubectl; kubectl 可以顺利访问集群; Step 1: 使用 docker 打包镜像 1 编写 Dockerfile 文件。...上面的命令: -t node-base:1.0  表示给这个镜像打标签,这个是下一步推送准备的,私有docker 镜像服务一般会提供完整域名作为前缀,腾讯云的 TCR 表示: -t ccr.ccs.tencentyun.com...4 镜像分层 在第一步,你会发现 build 过程里最慢的命令是 RUN npm i mysql ,这个步骤是从远程服务拉取依赖包到镜像,一般的官方服务都在国外,有些依赖包甚至会拉取失败。...2 部署应用 同样,我们需要编写一个 yaml 来“声明”应用的部署状态。...service (svc 是 service 的简写): kubectl get svc -n your-biz-ns 可以看到 EXTERNAL-IP 信息,这个 ip 就是对外的 ip,现在可以在浏览中直接访问这个

6.2K71

Nim之套接字免杀学习

✎ 阅读须知 乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章的技术资料对任何计算机系统进行入侵操作。...2. nim介绍 Nim 是一种静态类型的、编译型、系统编程语言。它结合了其他成熟语言的成功概念( Python、Ada 和 Modula)。...Nim环境配置 4.1 Nim安装 在https://nim-lang.org/install.html上选择下载Windows的 然后选择x64位的下载: 在Chrome浏览下载的时候,会报毒:...: 按照这个步骤,选择系统变量之后,找到Path,编辑,再新建: 将信息填入之后,保存,打开cmd命令窗口,输入nim: 此时代表Nim安装成功; 4.2 安装MinGW MinGW是Nim编译所必需的...总结 在以上的测试,主要是参考了以下的链接:https://www.bilibili.com/video/BV1Yr4y1Y7qP/ 在作者的说明,该免杀理论上还可以过卡巴斯基,由此也看到了Nim

90140
领券