0%

记录一下linq外连接写法

1
2
3
4
5
6
7
8
var result = from a in OverViewInfo
join city in Orgs on a.CityId equals city.Id into gcity
from kcity in gcity.DefaultIfEmpty()
join mcountry in Orgs on a.CountyId equals mcountry.Id into gcounty
from kcounty in gcounty.DefaultIfEmpty()
select new { a,kcity,kcounty};

result.Dump(); //linqPad调试

几个月前配置过,因为迁移虚拟机,备忘

1. 创建容器

1
docker run -d --name gitlab-runner-12.10.1 --restart always -v /gitlab-runner/config/:/etc/gitlab-runner/  -v /var/run/docker.sock:/var/run/docker.sock  gitlab/gitlab-runner:latest

2. 进入容器配置连接到gitlab

1
2
docker exec -it 4054 /bin/bash  #4054为容器ID
gitlab-runner register -n --url=http://mygitlabUrl --registration-token=gitlab-token --executor=docker --description="vm-199-06" --docker-image="docker:19.03.8" --docker-volumes /var/run/docker.sock:/var/run/docker.sock --locked=false

2021年03月02日

安装PostgerSQL

1
docker run -d -p 5432:5432 --name=psql -e POSTRES_PASSWORD=123456 postgres

创建数据库harryblog

1
2
docker exec -it psql /bin/bash   #进入数据库容器
su postgres #切换用户为postgres

在PostgreSQL中,管理员用户为 postgres

1
2
createdb harryblog #创建Harryblog数据库
psql -l #显示所有的数据库,显示如下图

image-20210302113352439

删除数据库

1
2
dropdb harryblog
psql -l

image-20210302113845613

进入数据库

1
2
psql harryblog
select version(); #查看postgreSQL版本

image-20210302113557741

操作数据表

1. 创建数据库

1
2
3
4
psql harryblog
create table posts (title varchar(255),content text);
\dt -- \dt 为查看表列表信息
\d

image-20210302133608594

1
\d posts  #查看表详细信息(非列表)

image-20210302134024092

导入SQL文件使用 \i

C# 反射

C# 通过反射可以动态加载DLL使用,大大提高灵活性。

实践

  1. 预先建立一个类库,在内部写一个cat类,然后重新生成项目
  2. 新建一个控制台程序,将类库生成的DLL复制到控制台程序的bin/debug目录。

代码如下:

Hello类库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;

namespace hello
{
public class cat
{
public cat()
{
Console.WriteLine("初始化Cat");
}

public void miaomiao()
{
Console.WriteLine("喵喵叫");
}
}
}

控制台程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using System;
using System.Reflection;

namespace Learn_more
{
class Program
{
static void Main(string[] args)
{
Assembly assembly = Assembly.Load("hello");
Type type = assembly.GetType("hello.cat");
Object OHello = Activator.CreateInstance(type);
MethodInfo methodInfo = type.GetMethod("miaomiao");
methodInfo.Invoke(OHello, null);
}
}
}

前言

本周给电脑(黑苹果)更新10.15,但是显示器使用的三星C49HG90DMC带鱼屏,分辨率(3840x1080)。一开始不会调分辨率,被我搞得重装了系统,然后记录一下调分辨率的过程,备忘。

开始

  1. 关闭SIP。白苹果(重启恢复模式,输入csrutil disable),黑苹果(Clover配置文件,RT Variables设置状态参数0x67
  2. 安装SwitchResX
  3. 点击设置面板中的SwitchResX,选择左侧列表中的最后一个,自己的显示器型号,我这边显示C49HG9X
  4. 点击Custum Resolutions,开始自定义分辨率。
  5. 点击左下角+,添加自定义分辨率。
  6. 选择Custom resolution,勾选Use simpllified setting,选择CVT-RB
  7. 在下面的ActiveHorizontal,设置3840,ActiveVertical,设置1080。(这里就是设置我们想要的分辨率)。
  8. Scan rateVertical中设置屏幕刷新率。
  9. 接着按Tab键在这几个输入框中切换,会自动调整剩余参数。

如果设置的显示器最佳分辨率,但是保存重启后变成了Not install的提示,请调低屏幕刷新率,再试。

参考

  1. 设置分辨率一键脚本
  2. SwitchResX设置教程
  3. 参考自远景论坛帖子