2020年3月

MacOS下使用VS Code创建第一个.NET core程序

0 .NET core环境的安装

  • .NET SDK安装

.NET Core分为两部分,一个是运行时,另一个是开发工具包,二者区别如下:

.NET Runtime: 只能运行.NET Core程序,不能开发
.NET SDK: 能运行.NET Core程序,不能开发

既然我们是用来开发程序的,因此我们需要安装.NET SDK, 下载链接在这里

选择最新的版本,下载后双击安装即可。

  • VS Code安装

安装完VS Code之后,还需要安装C#插件,这个比较简单,就不做说明了。

- 阅读剩余部分 -

C#中接口(interface)和抽象类(abstract class)的区别

对面型对象理解总觉得不够深入,这里记录一下:

接口(interface)

  • 接口是无状态的
  • 接口一般只有成员方法,一般无成员变量,属性,虽然也可以有,但基本上不这样做
  • 接口中不能包含实现代码,子类中必须对接口方法进行实现
  • 接口可以被多个类继承实现

抽象类(abstract class)

  • 抽象类是可以有状态的
  • 抽象类除了可以有抽象方法外,还可以有成员变量、属性,也可以有非抽象方法
  • 抽象类中可以有自己的非抽象接口实现,子类可以复用
  • 抽象类不能被多继承,一个类只能继承一个父类
  • 抽象类中的抽象方法在子类中也可以是抽象的,直到最后有个子类的实现即可

参考

stackoverflow

记阿里云ECS挖矿木马Macron的排查解决过程

记阿里云ECS挖矿木马Macron的排查解决过程

0. 现象

早上朋友找到我说,他们放在阿里云上的站点无法访问了,页面提示nginx 502 Gateway错误,让我帮忙看看。

1. 排查过程

定位问题

第一反应是不是nginx哪里除了问题,因为自己本身对nginx这一块也不大熟,就先网上查了下502的原因,有说一些配置导致的、日志写满磁盘的等。

看着原因比较多,不是很清楚,于是决定先登录服务器再说。

使用finalshell登录后,很快看到CPU一直是100%的状态,于是top命令查看是那个进程一直占着CPU。

这时候就能定位到Macron这个进程了,第一反应先kill了,CPU马上降下来了。但是以作为一个程序员对病毒的粗浅理解,事情肯定不会这么简单的,果不其然,很快这个Macron进程就又冒出来了。

- 阅读剩余部分 -