欢迎来到大明酱的网络博客📚

一个技术宅的网络博客┗|`O′|┛ ~~

Saturday, October 23, 2021 | netty | java

Netty Channel Init的handler添加顺序对程序的影响

今天在研究netty的时候,碰到了一个channel init的问题:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public final class NettyChannelInit extends ChannelInitializer<NioSocketChannel> {
    @Override
    protected void initChannel(NioSocketChannel  socketChannel) throws Exception {
        var pipeline = socketChannel.pipeline();
        pipeline
                // 添加一个拆包器 (input)
                .addLast("packet length parser",new LengthFieldBasedFrameDecoder(
                        Integer.MAX_VALUE,
                        0,
                        4,
                        0,
                        // 丢弃长度
                        4
                ))
                // 添加一个包分类器 (input)
                .addLast("packet classifier",new PacketClassifier())
                // 添加一些实际处理包的handle (input && output)
                .addLast("packet ping handle",new PingPacketHandle())
                // 添加一个输出解码器 (output)
                .addLast("output encoder",new PacketEncoder())
                ;
    }
}

这段代码的依据 input-process-output 的handler逻辑顺序(即解码输入handler-逻辑handler-编码输出handler)来添加handler。这将会错误的工作。

Monday, October 11, 2021 | github action | git

使用GitHub Action捕获事件

GitHub Action可以捕获Github的一些事件(不是所有)

通常分两部分:

  • 通过某些事件触发workflow
  • 在jobs\steps获取事件参数

Monday, October 11, 2021 | github action | git

使用Github Action提交代码

笔者最近在研究如何使用GitHub来提交代码。

只需要使用github官方提供的github动作就可以了:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
jobs:
   push-code:

     steps:
      # 检出代码
      - name: Checkout repository
        uses: actions/checkout@v2

      # 配置git
      - name: Config git
        run: |
          git config --global user.name   mingmoe
          git config --global user.email  sudo.free@qq.com          

      - name: Push Code
        run: |
            git add .
            git commit -m "update"
            git push            

即可提交代码。

Sunday, July 4, 2021 | uefi | rust

使用rust编写一个UEFI引导程序

在本篇文章,咱将一起使用rust实现一个UEFI引导程序!

将加载一个简单的内核。

值得的是:代码未经过测试,有问题可以联系咱。

Newer