//创建一个ProcessStartInfo对象 使用系统shell 指定命令和参数 设置标准输出 //编译.net core项目 var psi = new ProcessStartInfo("dotnet", "build inputproject/Lord.Core.sln") { RedirectStandardOutput = true }; psi.WindowStyle = ProcessWindowStyle.Hidden; StringBuilde…
今天记录一下第一次把.net core 程序发布到linux系统.linux用的是ubuntu Server 18.04版本.运行的IDE是vs 2019,发布出来是.net core 2.2版本.     1.在vs2019中把.net core 源码发布出来,配置如下   2.发布生成的文件,后面需要把它拷贝到linux.   3.比较穷,没有linux服务器,所以在虚拟机上操作.模拟真实环境,所以启用的是无图形界面的Ubuntu Server.在虚拟机上的安装过程网上比较多,就不多说.  …
在可移植方面.NET Core应用程序分为两种,Portable application(便捷,需要目标机器安装.NET Core Runtime)和Self-contained application(独立的,又名自宿主.目标机器不需要.NET Core Runtime ), 具体可参考文档:https://docs.microsoft.com/zh-cn/dotnet/articles/core/app-types   本次是将Portable App发布到Ubuntu 16.04上运行.发…
具体怎么编译,生成执行程序,不懂得先学习C++程序代码编译和集成开发环境. 多的不说了,只有两个代码文件,一个头文件,一个源文件.不多说了,直接上干货. (恶意使用,或者商用,后果自负,与本人无关.) head.h #pragma once #ifndef WINVER // Specifies that the minimum required platform is Windows Vista. #define WINVER 0x0600 // Change this to the appr…
原文地址:http://www.it165.net/pro/html/201310/7383.html 前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序,由于因为是别人写的所以我们并没有原始码可以直接阅读,碰到这种情况我们就需要去反编译这些程序及 DLL 档案. 首先大概介绍一下 DLL 是什么,DLL 全名是 Dynamic Linking Library (动态链接库),当你使用 .NET 开发应用程序时,使用的是网站项目或类别库时,当项目建置…
前言 在项目的进行中有时会碰到需要去了解由第三方所开发的程序代码或者因为年久已经遗失原始码的程序,由于因为是别人写的所以我们并没有原始码可以直接阅读,碰到这种情况我们就需要去反编译这些程序及 DLL 档案. 首先大概介绍一下 DLL 是什么,DLL 全名是 Dynamic Linking Library (动态链接库),当你使用 .NET 开发应用程序时,使用的是网站项目或类别库时,当项目建置完成后即会在项目底下的 Bin 数据夹中产生将你所撰写项目中所有的 Class 档案编译成 DLL 档案…
很久没有写过 .NET Core 相关的文章了,目前关店在家休息所以有些时间写一篇新的…
BPF CO-RE 示例代码解析 在BPF的可移植性和CO-RE一文的末尾提到了一个名为runqslower的工具,该工具用于展示在CPU run队列中停留的时间大于某一值的任务.现在以该工具来展示如何使用BPF CO-RE. 目录 BPF CO-RE 示例代码解析 环境 编译 运行 代码解析 内核空间(BPF)代码 用户空间代码 TIPs 总结 参考 环境 本地测试的话,建议采用Ubuntu,其内核本身已经开启了BTF选项,无需再对内核进行编译.我用的是Ubuntu 20.10,内核版本5.8…
Jenkins部分 首先,我们要有个Jenkins咯,下载链接:https://jenkins.io/download/ 我们安装官网教程安装好jenkins,安装教程略.... 嗯?不是说好手把手么?你妹的. 好好好,我们还是来手把手教程好了. 首先安装JDK8 添加安装源之后直接apt-get install就好,下面是ubuntu的安装命令,其他系统自己玩一下就好. sudo add-apt-repository ppa:webupd8team/java sudo apt-get upda…
从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的. 编写此套教程,来带大家去了解并熟练运用 docker ,祝愿各位读者朋友们学完此套教程后,在未来企业面试中能够多一项加分的筹码,能够帮助到大家,我觉得就很值了. docker 是什么 既然说了这么多, docker 到底是个什么东西呢? 我们在理解 docker 之前,首先我们得先区分…
以Windows服务方式运行.NET Core程序 原作者blog:https://www.cnblogs.com/guogangj/p/10093102.html 里面使用了NSSM 工具 但是自己试了下自己公司的产品不行 还有一篇写 aspnet core的 没有代码 暂时还没有测试. 在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是:我们的控制台程序,…
第7章 通过特定应用程序代码解耦语法 到目前为止,我们已经知道了怎么用ANTLR的语法来定义语言了,接下来我们要给我们的语法注入一些新的元素了.就语法本身而言,其用处并不大,因为它只能告诉我们一个用户输入的句子是否符合语言程序的语法规范.要建立一个完整的语言程序,我们就需要语法解析器在遇到特定的输入的时候能够产生对应的动作.“语法->动作”的映射对集合就是连接我们的语言程序(或者,至少是语言接口)的语法到大型实际相关应用之间的桥梁. 在这一章中,我们将要学习怎样使用语法分析树的监听器(liste…
本文将有以下4个部分来讲如何使用g++编译调用dll的c++代码. 1.如何调用dll 2.动态链接和静态链接的区别 3.g++的编译参数以及如何编译调用dll的c++代码 4.总结 1.如何调用dll 动态链接库(Dynamic Link Library),简称DLL.DLL 是一个包含可由多个程序同时使用的代码和数据的库.它允许程序共享执行特殊任务所必需的代码和其他资源,一般来说,DLL是一种磁盘文件,以.dll..DRV..FON..SYS和许多以.EXE为扩展名的系统文件都可以是DLL.…
连表查询都用Left Join吧   最近看同事的代码,SQL连表查询的时候很多时候用的是Inner Join,而我觉得对我们的业务而言,99.9%都应该使用Left Join(还有0.1%我不知道在哪),我用最简单的方式来描述这两者的区别,直接看图(有点草啊): 我的做法是永远把查询主体放在左边,然后右边挨个连上要附加的信息,有则连上,没有则留null,这样思路是最清晰的. Inner Join跟这个的区别是如果附加表找不到对应ID,那么这行记录就不会出现,我在图中用红色字体说明了这个区别.(…
NET Core的代码安全分析工具 - Security Code Scan https://www.cnblogs.com/edisonchou/p/edc_security_code_scan_simple_introduction.html 一个适合.NET Core的代码安全分析工具 - Security Code Scan 本文主要翻译自Security Code Scan的官方Github文档,结合自己的初步使用简单介绍一下这款工具,大家可以结合自己团队的情况参考使用.此外,对.NE…
对于Java初学者,建议使用纯文本文件来编写Java程序,并在命令符模式下使用工具程序编译和执行Java程序.使用javac工具编译.java,使用java工具执行.class.(推荐sublime编辑器). 怎么在命令符模式下编译并执行Java程序?弄了好久查了不少资料终于解决.记录下来,便于总结.分享.查阅. 首先根据自己计算机的操作系统下载和安装sun公司的JDK,http://www.oracle.com/technetwork/cn/java/javase/downloads/inde…
本文主要来学习内存屏障和 CPU 缓存知识,以便于我们去了解 CPU 对程序性能优化做了哪些努力. 首先来看下 CPU 缓存: CPU 缓存 CPU 缓存是为了提高程序运行的性能,CPU 在很多处理上内部架构做了很多调整,比如 CPU 高速缓存,大家都知道因为硬盘很慢,可以通过缓存把数据加载到内存里面,提高访问速度,而 CPU 处理也有这个机制,尽可能把处理器访问主内存时间开销放在 CPU 高速缓存上面,CPU 访问速度相比内存访问速度又要快好多倍,这就是目前大多数处理器都会去利用的机制,利用处…
实验平台:win7,VS2010 先上结果截图: 文章最后附有生成该图的程序. 1. 刚体模拟原理 Bullet作为一个物理引擎,其任务就是刚体模拟(还有可变形体模拟).刚体模拟,就是要计算预测物体的运动,举个例子,我抛一块砖头,砖头砸在地上翻了几圈最后停下来,刚体模拟就是要用计算机把这一切虚拟化(给定砖头形状质量等属性及砖头初始运动状态,还要给定地面的信息,预测砖头未来任意时刻状态). 刚体模拟的主要理论基础是牛顿力学(高中物理水平).可以想见,如果刚体之间没有碰撞,刚体模拟很简单,就是自由落…
参考链接: MXE.>大多数程序都是在windows平台下开发的程序.windows 在现实中也是绕不过的一个系统平台,做为受过几年VC,MFC”虐待”的程序员,在做为一个程序员之前是一位Linux重度使用者,受够了MFC之后一直想要找一个框架替换,使用过GTK,wxWidgets,Qt,最后还是Qt用得多一些.我认为程序跨平台应该是一个基本标准,同一份代码不需改动,或者改动极少,放在不同的平台下编译就能使用.不同平台,同样的界面,同样的操作,同样的体验.这里要讲的是我如何在Linux 下开发跨…
最近打算做一个公司的代码走查工具,思前想后觉得正好可以当作一个Core的实践机会,于是上官网看了下资料,顺便作了一下笔记方便以后查阅. 注1:这里的Core程序部署指的是.Net Core而非Asp.Net Core. 注2:本人已跟随官方文档更新. 一,.Net Core的部署形式 Core的应用程序部署有两种形式: 1,Framework-dependent deployment([Core Framework]依赖式部署)(FDD) 2,Self-contained deployment(…
在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Windows服务运行的方法,而今,我们又遇到了新的问题,那就是:我们的控制台程序,也就是普通的.NET Core程序(而不是ASP.NET Core程序)如何以服务的方式运行呢? 这个问题我们在.NET Core之前早就遇到过,那是是.NET Framework的时代(其实距今也没多远啦),我们是用一个第三方的组件——Topshelf,来解决这个问题的,Topshelf的…
一.小程序代码 app.json 是当前小程序的全局配置,包括了小程序的所有页面路径.界面表现.网络超时时间.底部tab等. { "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor&q…
关于Dapper的介绍,我想很多人都对它有一定的了解,这个类似一个轻型的ORM框架是目前应用非常火的一个东西,据说各方面的性能都不错,而且可以支持多种数据库,在开始介绍这个文章之前,我花了不少功夫来学习了Dapper 的相关使用.Dapper.Contrib是对Dapper的进一步封装,使对象的基本增删改查等操作进一步简化,我做了一个案例使用Dapper.Contrib 开发.net core程序,测试它对多种数据库的处理. 1.Dapper.Contrib的使用 前面介绍过,Dapper.Co…
最近在看ASP.NET Core MVC的教材,几乎每章开始都要重复从Empty project开始创建一个ASP.NET Core的项目,然后手动修改project.json,增加经典三目录(Models,Controllers,Views)之类的,然后接着基于这个基本项目进行介绍某个特定的功能. 这种示例代码每次都重复创建很没有技术含量,通常都是复制粘贴,所以考虑把这部分示例代码做成一个自动化的.之前有看到有ASP.NET Identity的示例的Nuget程序包,就是安装之后,自动创建了相…
SQL 横转竖 .竖专横 (转载)   普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 李四 物理 94 想变成(得到如下结果): 姓名 语文 数学 物理 ---- ---- ---- ---- 李四 74 84 94 张三 74 83 93 ------------------- */ create table tb(姓名 varchar(10) , 课程 varchar(10)…
Dapper.Contrib 开发.net core程序,兼容多种数据库 https://www.cnblogs.com/wuhuacong/p/9952900.html 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 关于Dapper的介绍,我想很多人都对它有一定的了解,这个类似一个轻型的ORM框架是目前应用非常火的一个东西,据说各方面的性能都不错,而且可以支持多种数据库,在开始介绍这个文章之前,我花了不少功夫来学习了Dapper 的相关使用.Dapper.Con…
    前言 程序运行中会出现各种BUG. 排除BUG有三种方式. 一.访问页面直接报错误信息 出于安全,服务器是关闭这个功能的.在centos上可以用 命令设置环境变量来解决:   export ASPNETCORE_ENVIRONMENT=Development 二.console输出 console.WriteLine(" hello"); 三.日志 使用组件 NLog.Web.AspNetCore 来实现 写入文件.console.db.email等 https://githu…
[文章标题]: HOOK大法实现不修改程序代码给程序添加功能[文章作者]: 0x18c0[软件名称]: Scylla[使用工具]: OD.Stub_PE.ResHacker[版权声明]: 本文原创于0x18c0, 转载请注明作者并保持文章的完整, 谢谢!菜鸟第一次发帖,写的不好的地方请各位多多包含 本来是第三次培训的作业,要给Scylla加上弹窗@Kido 老师在上课的时候也演示了,没什么难度,但是按照上课的方法来搞,程序一运行就弹个窗口,太粗暴,强迫症完全不能忍好吧,所以我想在窗口上加个按钮,…
如何在Visual Studio 2017中使用C# 7+语法   前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不喜勿喷,或许对您有帮助. 在Visual Studio 2017配置支持C# 7+语法 心想都VS2017了肯定是支持C# 7+语法,然后接着将控制台程序修改为异步,然后告知于我不行,尼玛这不是扯淡了么,如下: public class Program { public static async T…
转:http://www.cnblogs.com/xiaowenhui/p/4669684.html 一.预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵.3.全局区(静态区)(static)—,全局…